마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

apk설치시에 파라미터를 던질수있나요?

+1 추천
앱 설치시 플레이스토어로 이동해서 설치가 되는데요

이게 1번사이트에서 온것인지 2번사이트에서 온것인지 체크를 해야합니다..

체크해서 앱 안에 설정파일로 가지고있으려구요..

설치시에 파라미터 던져서 저장하는게 가능할까요?
익명사용자 님이 2014년 6월 30일 질문

5개의 답변

+1 추천
INSTALL_REFERER 리시버를 직접 만들어서 로깅을 하는 방법도 있고

Google analytics 의 InstallReferrerReceiver 를 사용하는 방법도 있습니다.

설치시 마켓URL 에 referrer 값을 주시면 그 값이 전달될겁니다.
달기살 (12,990 포인트) 님이 2014년 7월 2일 답변
0 추천
설치시 파라메터를 추가하는건 안되지만 어플이 어디를 경유로 설치되었는지는 아래를 이용하시면 확인할 수 있습니다.

 

https://developer.android.com/reference/android/content/pm/PackageManager.html#getInstallerPackageName(java.lang.String)

 

어플을 설치한 인스톨러(마켓 어플)의 패키지명을 알 수 있기때문에 설치한 곳이 구글 플레이인지 다른 마켓인지

아님 단순히 ADB경유인지의 확인이 가능합니다.
레미_21 (2,920 포인트) 님이 2014년 7월 2일 답변
레미_21님이 2014년 7월 2일 수정
getInstallerPackageName 는 인스톨러 앱이 무엇인지만 알 수 있습니다.
질문하신 분은 어느 사이트를 통하여 구글 플레이로 넘어와서 설치가 되었는지를 알고 싶으신 듯한데, getInstallerPackageName 로는 그런 정보를 알 수 없습니다.

다른 분 답변처럼 Google analytics를 사용하면 가능할지도 모르겠네요.

참고로 말씀드리면 getInstallerPackageName 는 구글 플레이로 설치도된 경우에는 값이 나오지만 나머지 경우에는 대부분 null 값이 나와서 크게 도움이 되지는 않습니다.
제가 질문의 요지를 잘못 이해했군요; 확실히 어디서 구글플레이로 접속한건지 알고싶은거라면 이 방법으로는 안 됩니다.

getInstallerPackageName 는 어플을 실제로 설치한 인스톨러 어플, 즉 마켓 어플을 알려주는 것이기 때문에 ADB경유나 apk의 직접설치는 인스톨러 경유가 아니라 당연히 null값이 나옵니다. 구글 플레이나 삼성 앱스, d마켓 등의 마켓을 통해 어플을 설치한 경우는 제대로 결과값이 나옵니다
0 추천

가능합니다.

저도 현재 적용해서 마케팅 통계처리를 위해 데이터 수집하고 있어요..

아래 링크 참고해보세요.

https://developers.google.com/analytics/devguides/collection/android/v2/campaigns?hl=ko

isul (7,920 포인트) 님이 2014년 7월 2일 답변
0 추천

다시 답변 답니다.

결론은 안됩니다.

구글의 analytics를 사용한다고 해도 안됩니다.

A라는 사이트에서 마켓으로 이동하는 것은 체크가 가능하겠지만 그 링크를 통해 설치를 했는지는 모릅니다.

B라는 사이트에서 링크타고와서 설치 한것인지 아니면 마켓에서 검색해서 설치한것인지 알 방법이 존재 하려면 구글에서 따로 API를 제공해주던 해야지요.

아래 방법들은 어떤 마켓에서 설치했냐 여부만 알 수 있을 뿐 어떤 경로를 통해 설치했느냐를 알수는 없지요.

 

q1212 (26,020 포인트) 님이 2014년 7월 2일 답변
–1 추천
결론은 안됩니다.

이유는 구글이 그런기능을 만들어 주지 않았으므로?

일반적으로 어디서 와서 설치했는지 알 필요가 없으니까.

등등
q1212 (26,020 포인트) 님이 2014년 6월 30일 답변
어플이 어디를 경유로 설치되었는지 알 수 있는  API 는 API문서에 존재합니다. API문서를 확인해주세요
플레이스토어의 경우 INSTALL_REFERER 리시버를 통하여 값을 전달해 줍니다.
이분이 원하는건 앱이 어디서 설치되었느냐가 아니라
마켓에서 인스톨할때 어떤 링크를 타고왔느냐를 알고싶은겁니다.
질문의 요지 잘못 파악하시고 계신듯 합니다.
네 어떤 링크를 만들때 referrer 를 인자로 줄 수 있습니다. 그래서 마케팅 할때 해당 사이트 마다 다른 이벤트 코드를 리퍼러 값으로 넣어주고 있습니다.

https://play.google.com/store/apps/details?id=com.lifestreet.android.TestInstallationIntent&referrer=bb%3DAAAAAAAAAA
이런식으로 값을 주면 구글플레이가 뜨고 설치까지 진행되면 설치 완료 후 INSTALL_REFERRER 로 리시버가 동작하게 됩니다.
이런 형태로 받은 값을 앱 내에서 처리하면 됩니다.

https://developers.google.com/analytics/devguides/collection/android/v2/campaigns

그 것을 활용하는 대표적인 예가 구글 어널리틱스 입니다.
TNK 같은 광고플랫폼 회사에서도 활용하고 있으며 저희도 사내에서 논의된적이 있지만 주 타겟이 티스토어라 개발은 안했지요.
제가 질문의 요지를 잘못 파악하는건가요...

제가 이해한것은  A사이트에서 링크타고 마켓으로 이동 설치 후 방금 설치한 앱에서 어떤 경로를 통해 설치를 했는지 알수 있는 방법이 있느냐가 질문이라고 생각했습니다.

manifest에 ReferrerReceiver를 설정하면 실행하지 않아도 자동으로 서비스가 돌아가면서  broadcast를 받을 수 있는건가요?
...