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
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.
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
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.