99 votes

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

Je suis en train d'implémenter un code pour faire mon propre suivi de référence sur les téléchargements à partir du marché Android.

Ver Le suivi des références sur 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 ?

254voto

pjv Points 4527

La méthode la plus simple consiste à utiliser adb . Vous n'avez pas à écrire de 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 réplique 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'être le 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 aussi laisser de côté les éléments suivants "-n" mais alors toutes les applications de votre appareil recevront la recommandation. 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

17voto

Luigi Agosti Points 481

Non ! Vous avez plusieurs façons de le tester Envoyer une diffusion manuellement avec une 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);

10voto

Pablo Points 566

Aucune des commandes ci-dessus ne fonctionne pour moi. Après avoir essayé de nombreuses 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"

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

6voto

Chris Woolfe Points 1

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

4voto

Gyuri Points 66

J'ai trouvé un bel outil open-source qui vous permet de scanner le qrcode de référence que vous générez. aquí et il envoie une intention de diffusion avec toutes les informations correctes.

https://github.com/giago/referraltester

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X