Otrzymałem e-mail od Google:
Niedawno ogłosiliśmy, że przestaniemy działać zgodnie z mechanizmem zamiarów emisji install_referrer. Ponieważ co najmniej jedna z Twoich aplikacji korzysta z tego zamiaru do śledzenia odesłań, chcieliśmy upewnić się, że dokonałeś zmiany przed 1 marca 2020 r. Po tej dacie nowe wersje aplikacji Sklep Play nie będą już emitować zamiaru install_referrer po zainstalowaniu aplikacji.
Nie używam install_referrer
bezpośrednio, ale podczas przeglądania połączonego manifestu odkryłem, że korzysta z niego część usługi firebase o nazwie z nazwą pakietu com.google.firebase.measurement
.
Moje zależności firebase zaktualizowane do najnowszej wersji.
Czy powinienem się tym przejmować?
install_referrer
. Używam ADMOB (kto może korzystaćinstall_referrer
?). Co zatem musimy zmienić, jeśli sami nie korzystamyinstall_referrer
?Odpowiedzi:
Z obsługi Firebase:
Dziwne, że produkty Google nie są zsynchronizowane.
Jeśli jednak nie używasz Firebase, a Twoja aplikacja zawiera biblioteki stron trzecich, które używają
install_referrer
uprzejmie sprawdź bezpośrednio z nimi.Aby znaleźć
install_referrer
dołączoną bibliotekę , otwórz scalony manifest i wyszukajinstall_referrer
, sprawdź nazwę pakietu usługi, w której znajduje sięinstall_referrer
dołączony.źródło
first_open
Zdarzenie) nie zostaną wysłane po 1 marca 2020 roku. A po wydaniu rozwiązania wszystkie aplikacje używają Firebase SDK powinien wydać nowe aplikacje - w przeciwnym razie Firebase nie odbierze żadnego z tych zdarzeń.install_referrer
, kliknij prawym przyciskiem myszy przejdź do deklaracji, możesz zobaczyć nazwę pakietu usługicom.google.firebase:firebase-core:17.2.1
icom.google.firebase:firebase-analytics:17.2.1
dodajINSTALL_REFERRER
doAndroidManifest
. Prawdopodobnie trzeba poczekać, aż zespół Firebase zaktualizuje te pakiety, aby użyć nowego interfejsu API.źródło
INSTALL_REFERRER
AndroidManifest.xml
i poszukaj<intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter>
. Następnie, jeśli wybierzesz ten wiersz, powie ci, z której biblioteki pochodzi. W naszym przypadku tak byłoplay-services-ads
.Różne zestawy SDK mogą zarejestrować odbiornik dla strony polecającej instalację.
Dla programistów, którzy nie są pewni, który zestaw SDK dodał odbiornik do manifestu, warto spojrzeć na plik winy za scalenie manifestu. Zazwyczaj jest
build/
tam plikintermediates/manifest_merge_blame_file/release/manifest-merger-blame-release-report.txt
W tym pliku musisz znaleźć odbiorniki, które mają
w filtrze intencji, a linia przed nim wskaże, jakie jest źródło tej linii w twoim manifeście.
Na przykład odpowiednie wiersze dla jednej z moich aplikacji wyglądają tak:
To pokazuje, że AppBrain SDK (którego jestem jednym z programistów) dodaje odbiornik dla strony polecającej instalację. Poniższy obraz z naszego bloga wyjaśniający, co dokładnie się zmienia ( https://medium.com/appbrain/the-google-play-referrer-api-and-the-appbrain-sdk-38cfbaa350dc ) wyjaśnia, co Google zmienia:
źródło
install_referrer
. Aby to wyjaśnić, znalazłem go wbuild/
folderze modułów aplikacji, a nie wbuild/
folderze głównym .Po sprawdzeniu pliku manifestu w mojej skompilowanej aplikacji, znalazłem transmisję aktualizacji instalacji używaną przez moduł łączący pomiar bazy ogniowej w Firebase Core Analytics, więc ich wykluczam:
A następnie ponownie sprawdź mój plik manifestu, analizując APk, a transmisja instalacji odsyłającej zniknęła.
Z drugiej strony, jeśli korzystasz z analityki śledzenia, Google poprosi o przejście na interfejs API Install Referrer https://developer.android.com/google/play/installreferrer/library.html przed marcem 2020 r.
źródło
Sprawdziłem agenta obsługi Firebase pod kątem tego problemu. Biblioteki Firebase używają install_referrer, a ja otrzymałem poniżej odpowiedzi od agenta wsparcia Firebase:
Uważam, że musimy poczekać na kolejne wydanie Firebase. Zespół Firebase aktualizuje te pakiety, aby używać nowego interfejsu API.
Jeśli sam używałeś tego API w swoim kodzie, musisz go natychmiast zmienić, ponieważ nie jesteś zależny od firebase lub innego zewnętrznego dostawcy biblioteki.
źródło
Istnieje jeden artykuł na blogu programistów Androida na ten temat
https://android-developers.googleblog.com/2019/11/still-using-installbroadcast-switch-to.html
Również w tym artykule wspominają o starej implementacji mechanizmu emisji intencji install_referrer i podają pełne informacje. Możemy to znaleźć w naszym istniejącym kodzie.
https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#google-play-campaigns
źródło
INSTALL_REFERRER
pochodzi nie tylko z,Firebase
ale także zADMOB
. Mogę potwierdzić, żeAdmob v3.18.3
ma to zezwolenie, ale już nie wchodziAdmob v4.2.1
. Nie testowałem innych wersji, ale słyszałem, że niektóre poprzednie wersje lubią4.2.0
i4.1.0
nie noszą tego pozwolenia.Ale pytanie brzmi: czy musimy usunąć pozwolenie, czy musimy upewnić się, że jeśli nasza aplikacja korzysta,
Play Install Referrer Library
toINSTALL_REFERRER
należy je uwzględnić. Ponieważ wymagane działanie nie polega na jego usunięciu, ale migracji do niego.źródło