J'implémente du code pour effectuer mon propre suivi des références sur les téléchargements du marché Android.
Voir le suivi du référencement 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'êtes pas obligé d'écrire du code.
Juste exécuté dans un terminal:
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"
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
devra peut-être être le AnalyticsReceiver
, c.-à-d.
Pour Google Analytics v2:
com.votre.package/com.google.analytics.tracking.Android.CampaignTrackingReceiver
Pour Google Analytics v3:
com.votre.package/com.google.Android.apps.analytics.AnalyticsReceiver
Pour Google Analytics v4:
com.votre.package/com.google.Android.gms.analytics.CampaignTrackingReceiver
Comme Luigi l'a dit, vous pouvez aussi laisser de côté le "-n"
nom composante, mais toutes les applications de votre appareil recevront 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 un moyen de le tester Envoyer une émission manuellement avec l'intention de cette forme
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 <your package>/<your package>.<your BroadcastReceiver> --es "referrer" "utm_medium%3Dpartner%26utm_campaign%3Dpartner_name"
Remarque: le référent doit être codé en url.
Nous avons trouvé un outil open-source de Nice qui vous permet de scanner le code de référence que vous générez ici , et qui 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. Si elles ne correspondent pas, procédez comme suit:
Donné:
applicationId est com.my.app.debug
paquet est com.package.app
le destinataire 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 ajoutés à l'intention uniquement lors de l'ajout de "-e" au lieu de "--es". Peut-être mon problème de version d'annonce. Donc, ma commande est ./adb Shell am broadcast -a com.Android.vending.INSTALL_REFERRER -n <your package>/<your package>.<your BroadcastReceiver> -e "referrer" "utm_medium%3Dpartner%26utm_campaign%3Dpartner_name"
https://github.com/rogerbinns/referraltester voici une excellente application pour lancer "com.Android.vending.INSTALL_REFERRER". vous pouvez aussi saisir des paramètres.
Goople Play reçoit un lien APP et demande à l'utilisateur de cliquer pour télécharger. Google Play envoie une diffusion une fois le téléchargement terminé. Le lien APP prend généralement certains paramètres (tels que l'exemple suivant) pour que Google Play et APP sachent 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