Wdrażam kod, aby wykonać własne śledzenie odesłań do pobrań z rynku Android.
Zobacz, że śledzenie odesłań na Androida nie działa, aby dowiedzieć się, co robi moja aplikacja.
Jak mogę sprawdzić, czy ten kod działa przed publicznym wdrożeniem?
Wdrażam kod, aby wykonać własne śledzenie odesłań do pobrań z rynku Android.
Zobacz, że śledzenie odesłań na Androida nie działa, aby dowiedzieć się, co robi moja aplikacja.
Jak mogę sprawdzić, czy ten kod działa przed publicznym wdrożeniem?
Odpowiedzi:
Najłatwiej jest użyć adb
. Nie musisz pisać żadnego kodu.
Po prostu uruchom w terminalu :
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"
Oto moja dokładna linia:
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"
Ale BroadcastReceiver
może być konieczne, aby był to AnalyticsReceiver
, tj
W przypadku Google Analytics v2:
com.your.package / com.google.analytics.tracking.android.CampaignTrackingReceiver
W przypadku Google Analytics v3:
com.your.package / com.google.android.apps.analytics.AnalyticsReceiver
W przypadku Google Analytics v4:
com.your.package / com.google.android.gms.analytics.CampaignTrackingReceiver
Jak powiedział Luigi, możesz również pominąć "-n"
część nazwy komponentu, ale wtedy każda aplikacja na twoim urządzeniu otrzyma skierowanie. Może to być dobry dodatkowy test, aby sprawdzić, czy BroadcastReceiver
można prawidłowo znaleźć.
Wynik, który widzę (szczególnie ostatnia linia jest ważna):
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
adb shell <enter> am broadcast..
. Piszę adb shell am broadcast...
przez pomyłkę i nic nie wyświetla.
Nie! masz kilka sposobów, aby to przetestować Wyślij transmisję ręcznie z myślą o tym formularzu
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);
Żadne z powyższych poleceń nie działa dla mnie. Po wypróbowaniu wielu kombinacji poleceń, oto ta, która działa dla mnie:
./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"
Uwaga: strona odsyłająca powinna być zakodowana w postaci adresu URL.
Znalazłem fajne narzędzie typu open source, które pozwala skanować kod qrcode z poleceniem, który tutaj generujesz , i wysyła zamiar transmisji ze wszystkimi poprawnymi informacjami.
Odpowiedź pjv działa w przypadku, gdy nazwa pakietu w AndroidManifest.xml jest zgodna z applicationId w build.gradle. Jeśli nie pasują, wykonaj następujące czynności:
Podane: identyfikator
aplikacji jest com.my.app.debug
pakietem jest com.package.app
odbiornikiem jest path.to.MyReceiver
następnie przesyłany do com.my.app.debug/com.package.app.path.to.MyReceiver
szczegółów tutaj: https://groups.google.com/forum/#!topic/adt-dev/PjTHX79Iomw
https://github.com/rogerbinns/referraltester tutaj jest świetna aplikacja do inicjowania transmisji „com.android.vending.INSTALL_REFERRER”. możesz również wprowadzić parametry.
Dla mnie dodatki dodawane do intencji tylko przy dodawaniu za pomocą "-e" zamiast "--es". Może to być problem z wersją mojej reklamy. Więc moje polecenie brzmi
./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"
Goople Play otrzymuje link do aplikacji i prosi użytkownika o kliknięcie w celu pobrania, a Google Play wysyła transmisję po zakończeniu pobierania. Łącze APP zwykle przyjmuje pewne parametry (takie jak poniższy przykład), aby poinformować Google Play i APP, skąd pochodzi źródło.
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
Możemy więc użyć adb do symulacji transmisji z 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