Android 마켓에서 다운로드 한 항목을 직접 추적하는 코드를 구현하고 있습니다.
내 앱이 수행하는 작업 에 대한 아이디어는 Android 추천 추적이 작동하지 않음을 참조하십시오 .
대중에게 배포하기 전에이 코드가 작동하는지 어떻게 테스트 할 수 있습니까?
Android 마켓에서 다운로드 한 항목을 직접 추적하는 코드를 구현하고 있습니다.
내 앱이 수행하는 작업 에 대한 아이디어는 Android 추천 추적이 작동하지 않음을 참조하십시오 .
대중에게 배포하기 전에이 코드가 작동하는지 어떻게 테스트 할 수 있습니까?
답변:
가장 쉬운 방법은 adb
. 코드를 작성할 필요가 없습니다.
그냥 터미널에서 실행 :
adb shell
am broadcast -a com.android.vending.INSTALL_REFERRER -n <your.package>/.<path.up.until.your.BroadcastReceiver> --es "referrer" "utm_source=test_source\&utm_medium=test_medium\&utm_term=test_term\&utm_content=test_content\&utm_campaign=test_name"
내 정확한 라인은 다음과 같습니다.
am broadcast -a com.android.vending.INSTALL_REFERRER -n net.lp.collectionista/.util.broadcast_receivers.FacadeBroadcastReceiver --es "referrer" "utm_source=test_source\&utm_medium=test_medium\&utm_term=test_term\&utm_content=test_content\&utm_campaign=test_name"
그러나 귀하 BroadcastReceiver
는 AnalyticsReceiver
, 즉
Google Analytics v2의 경우 :
com.your.package / com.google.analytics.tracking.android.CampaignTrackingReceiver
Google Analytics v3의 경우 :
com.your.package / com.google.android.apps.analytics.AnalyticsReceiver
Google Analytics v4의 경우 :
com.your.package / com.google.android.gms.analytics.CampaignTrackingReceiver
Luigi가 말했듯이 "-n"
componentname 부분을 생략 할 수도 있지만 기기의 모든 앱이 추천을받습니다. 이것은 당신 BroadcastReceiver
이 제대로 찾을 수 있는지 확인 하는 좋은 추가 테스트가 될 수 있습니다.
내가 보는 출력 (특히 마지막 줄이 중요 함) :
05-13 17:28:08.335: D/Collectionista FacadeBroadcastReceiver(8525): Receiver called
05-13 17:28:08.335: V/Collectionista FacadeBroadcastReceiver(8525): Receiver called with action: com.android.vending.INSTALL_REFERRER
05-13 17:28:08.365: D/GoogleAnalyticsTracker(8525): Stored referrer:utmcsr=test_source|utmccn=test_name|utmcmd=test_medium|utmctr=test_term|utmcct=test_content
adb shell <enter> am broadcast..
. adb shell am broadcast...
실수로 입력 했는데 아무 것도 출력되지 않습니다.
아니! 테스트 할 수있는 몇 가지 방법이 있습니다.이 양식의 의도를 사용하여 수동으로 브로드 캐스트를 보냅니다.
Intent i = new Intent("com.android.vending.INSTALL_REFERRER");
//Set Package name
i.setPackage("com.package.yourapp");
//referrer is a composition of the parameter of the campaing
i.putExtra("referrer", referrer);
sendBroadcast(i);
위의 명령 중 어느 것도 나를 위해 작동하지 않습니다. 여기에 많은 명령 조합을 시도한 후 나를 위해 작동하는 것이 있습니다.
./adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n <your package>/<your package>.<your BroadcastReceiver> --es "referrer" "utm_medium%3Dpartner%26utm_campaign%3Dpartner_name"
참고 : 리퍼러는 URL로 인코딩되어야합니다.
여기 에서 생성 한 추천 qrcode를 스캔 할 수있는 멋진 오픈 소스 도구를 찾았 으며 모든 올바른 정보와 함께 브로드 캐스트 인 텐트를 보냅니다.
pjv의 대답은 AndroidManifest.xml의 패키지 이름이 build.gradle의 applicationId와 일치하는 경우 작동합니다. 일치하지 않으면 다음을 수행하십시오.
주어진 :
applicationId는 com.my.app.debug
패키지가 com.package.app
수신자입니다. path.to.MyReceiver
그러면 com.my.app.debug/com.package.app.path.to.MyReceiver
여기 에서 세부 정보 로 브로드 캐스트됩니다 . https://groups.google.com/forum/#!topic/adt-dev/PjTHX79Iomw
https://github.com/rogerbinns/referraltester 는 "com.android.vending.INSTALL_REFERRER"브로드 캐스트를 시작하기위한 훌륭한 앱입니다. 매개 변수도 입력 할 수 있습니다.
Goople Play는 APP 링크를 수신하고 사용자에게 클릭하여 다운로드하도록 요청하고 Google Play는 다운로드가 완료되면 브로드 캐스트를 보냅니다. APP 링크는 일반적으로 소스의 출처를 Google Play 및 APP에 알리기 위해 몇 가지 매개 변수 (예 : 다음 예)를 사용합니다.
Https://play.google.com/store/apps/details?id=com.example.application
& Referrer = utm_source% 3Dgoogle
% 26utm_medium% 3Dcpc
% 26utm_term% 3Drunning% 252Bshoes
% 26utm_content% 3Dlogolink
% 26utm_campaign% 3Dspring_sale
따라서 adb를 사용하여 Google Play의 방송을 시뮬레이션 할 수 있습니다.
echo 'am broadcast \
-a com.android.vending.INSTALL_REFERRER \
-n "com.google.samples.quickstart.analytics/com.google.android.gms.analytics.CampaignTrackingReceiver" \
--es "referrer" \
"utm_source=test_sourceCampaignTrackingReceiver&utm_medium=referral&utm_term=test_term&utm_content=test_content&utm_campaign=test_name"; \
exit' | adb shell