Il modo più semplice è usare adb
. Non devi scrivere alcun codice.
Basta eseguire in un terminale :
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"
Ecco la mia linea esatta:
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"
Ma BroadcastReceiver
potrebbe essere necessario che tu sia il AnalyticsReceiver
, ie
Per Google Analytics v2:
com.your.package / com.google.analytics.tracking.android.CampaignTrackingReceiver
Per Google Analytics v3:
com.your.package / com.google.android.apps.analytics.AnalyticsReceiver
Per Google Analytics v4:
com.your.package / com.google.android.gms.analytics.CampaignTrackingReceiver
Come ha detto Luigi, puoi anche tralasciare la "-n"
parte componentname, ma poi ogni app sul tuo dispositivo riceverà il referral. Questo può essere un buon test extra per vedere se il tuo BroadcastReceiver
può essere trovato correttamente.
L'output che vedo (soprattutto l'ultima riga è 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