web-dev-qa-db-de.com

Wie teste ich Android Empfehlungsverfolgung?

Ich implementiere Code, um mein eigenes Empfehlungs-Tracking für Downloads aus dem Android Market durchzuführen.

Siehe Android Referral Tracking funktioniert nicht für eine Vorstellung davon, was meine App tut.

Wie kann ich testen, ob dieser Code funktioniert, bevor ich ihn der Öffentlichkeit zur Verfügung stelle?

99
emmby

Der einfachste Weg ist die Verwendung von adb. Sie müssen keinen Code schreiben.

Einfach in einem Terminal ausführen:

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"

Hier ist meine genaue Linie:

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"

Aber Ihr BroadcastReceiver muss möglicherweise das AnalyticsReceiver sein, d.h.

Für Google Analytics v2:

com.Ihr.Paket/com.google.analytics.tracking.Android.CampaignTrackingReceiver

Für Google Analytics v3:

com.your.package/com.google.Android.apps.analytics.AnalyticsReceiver

Für Google Analytics v4:

com.Ihr.Paket/com.google.Android.gms.analytics.CampaignTrackingReceiver

Wie Luigi sagte, können Sie auch das "-n" Komponentenname Teil, aber dann erhält jede App auf Ihrem Gerät die Empfehlung. Dies kann ein guter zusätzlicher Test sein, um festzustellen, ob Ihr BroadcastReceiver richtig gefunden wird.

Die Ausgabe, die ich sehe (besonders die letzte Zeile ist wichtig):

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

Nein! Sie haben einige Möglichkeiten, es zu testen. Senden Sie eine Übertragung manuell mit der Absicht dieses Formulars

    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

Keiner der obigen Befehle funktioniert bei mir. Nachdem ich viele Befehlskombinationen ausprobiert habe, ist hier die, die für mich funktioniert:

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

Hinweis: Der Referrer sollte URL-codiert sein.

8
Pablo

Es wurde ein nettes Open-Source-Tool gefunden, mit dem Sie den von Ihnen generierten Empfehlungs-QR-Code scannen können hier und das eine Broadcast-Absicht mit allen korrekten Informationen sendet.

https://github.com/giago/referraltester

4
Gyuri

die Antwort von pjv funktioniert in dem Fall, in dem der Paketname in AndroidManifest.xml mit der applicationId in build.gradle übereinstimmt. Wenn sie nicht übereinstimmen, gehen Sie wie folgt vor:
Gegeben:
applicationId ist com.my.app.debug
Paket ist com.package.app
Empfänger ist path.to.MyReceiver
dann gesendet an com.my.app.debug/com.package.app.path.to.MyReceiver
Details hier: https://groups.google.com/forum/#!topic/adt-dev/PjTHX79Iomw

2
Chris Woolfe

Bei mir werden Extras nur dann zur Absicht hinzugefügt, wenn "-e" anstelle von "--es" hinzugefügt wird. Könnte mein Problem mit der Anzeigenversion sein. Also ist mein Befehl ./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 Hier ist eine großartige App, um die Übertragung von "com.Android.vending.INSTALL_REFERRER" zu starten. Sie können auch Parameter eingeben.

0
sammiwei

Goople Play empfängt einen APP-Link und fordert den Benutzer zum Herunterladen auf. Google Play sendet eine Sendung, wenn der Download abgeschlossen ist. Der APP-Link benötigt normalerweise einige Parameter (wie das folgende Beispiel), um Google Play und APP mitzuteilen, woher die Quelle stammt.

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

Daher können wir adb verwenden, um die Übertragung von Google Play zu simulieren.

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