Comment tester le suivi des références Android?

J’implémente du code pour effectuer mon propre suivi de référence sur les téléchargements depuis le marché Android.

Voir Suivi des références Android ne fonctionne pas pour avoir une idée de ce que fait mon application.

Comment puis-je tester si ce code fonctionne avant de le déployer au public?

Le moyen le plus simple consiste à utiliser adb . Vous n’avez pas à écrire de code.

Juste courir dans un terminal :

 adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n /. --es "referrer" "utm_source=test_source\&utm_medium=test_medium\&utm_term=test_term\&utm_content=test_content\&utm_campaign=test_name" 

Voici ma ligne exacte:

 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" 

Mais votre BroadcastReceiver peut avoir besoin d’ AnalyticsReceiver , c’est-à-dire

Pour Google Analytics v2:

com.your.package/com.google.analytics.tracking.android.CampaignTrackingReceiver

Pour Google Analytics v3:

com.your.package / com.google.android.apps.analytics.AnalyticsReceiver

Pour Google Analytics v4:

com.your.package/com.google.android.gms.analytics.CampaignTrackingReceiver

Comme Luigi l’a dit, vous pouvez également omettre la partie "-n" composant mais chaque application sur votre appareil recevra la référence. Cela peut être un bon test supplémentaire pour voir si votre BroadcastReceiver peut être trouvé correctement.

La sortie que je vois (surtout la dernière ligne est importante):

 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 

Non! vous avez quelques moyens de le tester

  1. Utilisez une application: https://market.android.com/details?id=com.giago.referraltester&feature=search_result
  2. Envoyer une diffusion manuellement avec l’intention de ce formulaire

     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); 

Aucune des commandes ci-dessus ne fonctionne pour moi. Après avoir essayé beaucoup de combinaisons de commandes, voici celle qui fonctionne pour moi:

 ./adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n /. --es "referrer" "utm_medium%3Dpartner%26utm_campaign%3Dpartner_name" 

Note: le référent doit être encodé en URL.

Nous avons trouvé un bel outil open-source qui vous permet d’parsingr le qrcode de référence que vous générez ici , et il envoie une intention de diffusion avec toutes les informations correctes.

https://github.com/giago/referraltester

La réponse de pjv fonctionne dans le cas où le nom du package dans AndroidManifest.xml correspond à l’applicationId dans build.gradle. S’ils ne correspondent pas, procédez comme suit:
Donné:
applicationId est com.my.app.debug
le package est com.package.app
le récepteur est path.to.MyReceiver
puis diffusé à com.my.app.debug/com.package.app.path.to.MyReceiver
Détails ici: https://groups.google.com/forum/#!topic/adt-dev/PjTHX79Iomw

Pour moi, les extras n’ont été ajoutés à l’intention que lors de l’ajout de “-e” au lieu de “–es”. Peut-être mon numéro de version d’annonce. Donc ma commande est ./adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n /. -e "referrer" "utm_medium%3Dpartner%26utm_campaign%3Dpartner_name"

Goople Play reçoit un lien APP et demande à l’utilisateur de cliquer pour télécharger, et Google Play envoie une diffusion lorsque le téléchargement est terminé. Le lien APP prendra généralement certains parameters (comme l’exemple suivant) pour permettre à Google Play et à APP de savoir d’où provient la source.

 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 

Nous pouvons donc utiliser adb pour simuler la diffusion à partir de 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 

https://github.com/rogerbinns/referraltester voici une excellente application pour lancer la diffusion de “com.android.vending.INSTALL_REFERRER”. vous pouvez également entrer des parameters.