zamiar wycofania install_referrer

76

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_referrerbezpoś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ć?

Pavel Poley
źródło
7
Mam ten sam list, nie używam bazy ogniowej. Nie używam install_referrer. Używam ADMOB (kto może korzystać install_referrer?). Co zatem musimy zmienić, jeśli sami nie korzystamy install_referrer?
user12514252,
2
Dzisiaj otrzymałem tę wiadomość, ale nie rozumiem, co mogę zrobić !! Używam unity3d i użyłem (Admob & Firebase)
Mahmoud abualamrien
5
Dostałem ten e-mail i spojrzałem na mój połączony manifest i wygląda na to, że Firebase jest przyczyną tego. Więc w zasadzie poczekaj, aż Firebase naprawi swój kod i wyda aktualizację?
Jay Sidri,
3
@ A92 sprawdź moją odpowiedź od wsparcia bazy ogniowej
Pavel Poley,
3
Dziwną rzeczą jest to, że używam Firebase w dwóch moich aplikacjach, ale w mailu podała tylko jedną z aplikacji, mimo że była to aplikacja z najmniejszą integracją z Firebase.
Anigif,

Odpowiedzi:

37

Z obsługi Firebase:

To świetny haczyk. Dziękujemy za zwrócenie nam na to uwagi. Na razie nie trzeba [podejmować] żadnych działań, stworzyłem wewnętrzne żądanie, abyśmy mogli zapewnić alternatywę dla zamierzonej emisji install_referrer przed jej wycofaniem. Na razie nie ustaliliśmy jeszcze żadnych szczegółów ani terminów dotyczących tego, kiedy zostanie on wdrożony. Możesz od czasu do czasu sprawdzać nasze informacje o wydaniu w celu uzyskania aktualizacji dotyczących funkcji Firebase i jej usług.

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_referreruprzejmie sprawdź bezpośrednio z nimi.

Aby znaleźć install_referrerdołączoną bibliotekę , otwórz scalony manifest i wyszukaj install_referrer, sprawdź nazwę pakietu usługi, w której znajduje się install_referrerdołączony.

Pavel Poley
źródło
1
Mam nadzieję, że nie potrwa to długo, zanim wypuszczą rozwiązanie. Myślę, że wszystkie wydarzenia związane z instalacją aplikacji (może to być np. first_openZdarzenie) 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ń.
Anigif
1
@Pavel Poley, czy możesz mi powiedzieć, jak mogę sprawdzić, czy mogę
zainstalować
1
@MouaadAbdelghafourAITALI otwórz scalony manifest i spróbuj znaleźć install_referrer, kliknij prawym przyciskiem myszy przejdź do deklaracji, możesz zobaczyć nazwę pakietu usługi
Pavel Poley
3
Patrząc na połączone Manifesty pokazuje install_referrer z Firebase. Powinna być zaakceptowana odpowiedź! Uratowałem mój dzień! Dzięki
Romain Barbier,
3
czy są jakieś wieści z Firebase, zaktualizowałem go do wersji 17.2.2, ale nadal znajduję com.android.vending.INSTALL_REFERRER
Neo
12

com.google.firebase:firebase-core:17.2.1i com.google.firebase:firebase-analytics:17.2.1dodaj INSTALL_REFERRERdo AndroidManifest. Prawdopodobnie trzeba poczekać, aż zespół Firebase zaktualizuje te pakiety, aby użyć nowego interfejsu API.

AndrewS
źródło
1
W moim przypadku nie korzystam z bibliotekINSTALL_REFERRER
Firebase
2
@MouaadAbdelghafourAITALI W takim przypadku powinna istnieć inna biblioteka używająca przestarzałego interfejsu API.
AndrewS,
2
dziękuję, więc główny numer pochodzi z Biblioteki
Firebase
2
Sprawdź scaloną kartę manifestu w swojej aplikacji AndroidManifest.xmli 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ło play-services-ads.
Tim Kist,
Zaktualizowałem go do wersji 17.2.2, ale nadal znajduję com.android.vending.INSTALL_REFERRER @AndrewS
Neo
9

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ą

<action android:name="com.android.vending.INSTALL_REFERRER" />

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:

44        <receiver
44-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:29:9-35:20
45            android:name="com.appbrain.ReferrerReceiver"
45-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:30:13-57
46            android:exported="true" >
46-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:31:13-36
47            <intent-filter>
47-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:32:13-34:29
48                <action android:name="com.android.vending.INSTALL_REFERRER" />
48-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:33:17-79
48-->[com.appbrain:appbrain-sdk:15.10] .../jetified-appbrain-sdk-15.10/AndroidManifest.xml:33:25-76
49            </intent-filter>
50        </receiver>

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: Zmiana interfejsu polecającego Google Play

Mathijs Vogelzang
źródło
Niesamowite! Nie wiedziałem o tym pliku, pomogło mi to dowiedzieć się, czego dokładnie używa install_referrer. Aby to wyjaśnić, znalazłem go w build/folderze modułów aplikacji, a nie w build/folderze głównym .
Anigif
Korzystam z Unity3D i nie jestem pewien, jak mogę wykorzystać te informacje, czy znasz również rozwiązanie dla Unity3D?
Sailendu
5

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:

 implementation ('com.google.firebase:firebase-ads:17.2.0')
{
    exclude group: 'com.google.firebase', module: 'firebase-core'
    exclude group: 'com.google.firebase', module: 'firebase-analytics'
    exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
}

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.

Sofien Rahmouni
źródło
Użyję analizy firebase, jak to rozwiązać?
A92,
5

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:

To świetny haczyk. Dziękujemy za zwrócenie nam na to uwagi. Obecnie prowadzę dyskusję z naszymi ekspertami Analytics i wrócę w ciągu 48 godzin lub gdy tylko będę mieć więcej informacji. Na razie nie musisz wykonywać żadnych działań z twojego końca, poczekaj na kolejną aktualizację od zespołu 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.

Faxriddin Abdullayev
źródło
Zaktualizowałem go do wersji 17.2.2, ale nadal znajduję com.android.vending.INSTALL_REFERRER, jak rozwiązać problem?
Neo
Tak, ta sama sytuacja, Faxriddin Abdullayev otrzymał odpowiedź od agenta wsparcia? Dziękuję Ci!
Wils
2

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

sohel.eco
źródło
7
OP wspomniał, że nie jest bezpośrednio włączenie do tego API ... to jest bardzo prawdopodobne, że większość deweloperów tutaj nie używać tego bezpośrednio daną jej stosunkowo niejasny przypadek użycia
Jay Sidri
0

INSTALL_REFERRERpochodzi nie tylko z, Firebaseale także z ADMOB. Mogę potwierdzić, że Admob v3.18.3ma 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.0i 4.1.0nie noszą tego pozwolenia.

Ale pytanie brzmi: czy musimy usunąć pozwolenie, czy musimy upewnić się, że jeśli nasza aplikacja korzysta, Play Install Referrer Libraryto INSTALL_REFERRERnależy je uwzględnić. Ponieważ wymagane działanie nie polega na jego usunięciu, ale migracji do niego.

wprowadź opis zdjęcia tutaj

gameDev_Unity
źródło