web-dev-qa-db-fra.com

Comment tester Android suivi de renvoi?

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?

99
emmby

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
252
pjv

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);
16
Luigi Agosti

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.

8
Pablo

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.

https://github.com/giago/referraltester

4
Gyuri

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

2
Chris Woolfe

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"

0
Sojan P R

https://github.com/rogerbinns/referraltester voici une excellente application pour lancer "com.Android.vending.INSTALL_REFERRER". vous pouvez aussi saisir des paramètres.

0
sammiwei

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
0
WeiYuan