Ich habe eine E-Mail von Google erhalten:
Wir haben kürzlich angekündigt, dass wir den Intent-Broadcast-Mechanismus install_referrer ablehnen werden. Da eine oder mehrere Ihrer Apps diese Absicht verwenden, um Verweise zu verfolgen, wollten wir sicherstellen, dass Sie den Wechsel vor dem 1. März 2020 vornehmen. Nach diesem Datum senden neue Versionen der Play Store-App die Absicht install_referrer nach der Installation der App nicht mehr.
Ich verwende nicht install_referrer
direkt, aber beim Durchsuchen des zusammengeführten Manifests habe ich festgestellt, dass ein Firebase-Dienst mit dem Paketnamen com.google.firebase.measurement
ihn verwendet.
Meine Firebase-Abhängigkeiten wurden auf die neueste Version aktualisiert.
Sollte es mich interessieren?
install_referrer
. Ich benutze ADMOB (wer darf es benutzeninstall_referrer
?). Was müssen wir also ändern, wenn wir es nichtinstall_referrer
alleine verwenden?Antworten:
Vom Firebase-Support:
Seltsam, dass die Produkte von Google nicht synchronisiert sind.
Wenn Sie jedoch Firebase nicht verwenden und Ihre App Bibliotheken von Drittanbietern enthält, wenden Sie sich bitte
install_referrer
direkt an diese.Um herauszufinden, in welcher Bibliothek
install_referrer
enthalten ist, öffnen Sie das zusammengeführte Manifest und suchen Sie nachinstall_referrer
dem Paketnamen des Dienstes, in dem dasinstall_referrer
enthalten ist.quelle
first_open
Ereignis) werden nicht nach dem 1. März 2020 gesendet. Und nachdem sie die Lösung veröffentlicht haben, verwenden alle Apps Das Firebase SDK sollte neue Apps veröffentlichen - andernfalls empfängt Firebase keine der betroffenen Ereignisse.install_referrer
. Klicken Sie mit der rechten Maustaste zur Deklaration. Sie können den Paketnamen des Dienstes sehencom.google.firebase:firebase-core:17.2.1
undcom.google.firebase:firebase-analytics:17.2.1
hinzufügenINSTALL_REFERRER
zuAndroidManifest
. Möglicherweise müssen Sie warten, bis das Firebase-Team diese Pakete aktualisiert, um die neue API zu verwenden.quelle
INSTALL_REFERRER
erscheine immer nochAndroidManifest.xml
und suchen Sie nach<intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter>
. Wenn Sie dann diese Zeile auswählen, erfahren Sie, aus welcher Bibliothek sie stammt. In unserem Fall war esplay-services-ads
.Verschiedene SDKs können einen Empfänger für den Installationsverweis registrieren.
Für Entwickler, die sich nicht sicher sind, welches SDK Ihrem Manifest einen Empfänger hinzugefügt hat, ist es hilfreich, sich die Schuldzuweisungsdatei für das Zusammenführen von Manifesten anzusehen. In der Regel
build/
gibt es eine Dateiintermediates/manifest_merge_blame_file/release/manifest-merger-blame-release-report.txt
In dieser Datei müssen Sie Empfänger finden, die haben
In seinem Intent-Filter und in der Zeile davor wird angegeben, woher diese Zeile in Ihrem Manifest stammt.
Die relevanten Zeilen für eine meiner Apps sehen beispielsweise folgendermaßen aus:
Dies zeigt, dass das AppBrain SDK (von dem ich einer der Entwickler bin) einen Empfänger für den Installationsverweis hinzufügt. Das folgende Bild aus unserem Blogpost, in dem erläutert wird, was sich genau ändert ( https://medium.com/appbrain/the-google-play-referrer-api-and-the-appbrain-sdk-38cfbaa350dc ), verdeutlicht, was Google ändert:
quelle
install_referrer
. Zur Verdeutlichung habe ich es imbuild/
Ordner " app-modules " und nicht imbuild/
Stammordner gefunden.Nachdem ich die Manifestdatei auf meiner erstellten apk überprüft hatte, fand ich die Installations-Refeer-Übertragung, die vom Firebase-Measurement-Connector-Modul in Firebase Core Analytics verwendet wurde, sodass ich sie ausschließe:
Überprüfen Sie dann meine manifestierte meregierte Datei erneut, indem Sie APk analysieren, und die Broadcast-Übertragung "Installieren" ist verschwunden.
Wenn Sie Track Analytics verwenden, fordert Google Sie auf, vor März 2020 zur Install Referrer-API https://developer.android.com/google/play/installreferrer/library.html zu wechseln
quelle
Ich habe den Firebase-Support für dieses Problem überprüft. Firebase-Bibliotheken verwenden install_referrer, und ich habe die folgende Antwort vom Firebase-Support-Agenten erhalten:
Ich glaube, wir müssen auf die nächste Veröffentlichung von Firebase warten. Das Firebase-Team aktualisiert diese Pakete, um die neue API zu verwenden.
Wenn Sie diese API selbst in Ihrem Code verwendet haben, müssen Sie sie sofort ändern, da Sie nicht von Firebase oder einem anderen Drittanbieter für Bibliotheken abhängig sind.
quelle
Es gibt einen Artikel im Android-Entwicklerblog darüber
https://android-developers.googleblog.com/2019/11/still-using-installbroadcast-switch-to.html
In diesem Artikel wird auch die alte Implementierung des Intent-Broadcast-Mechanismus install_referrer erwähnt und es werden vollständige Informationen bereitgestellt. Wir können dies also in unserem vorhandenen Code finden.
https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#google-play-campaigns
quelle
INSTALL_REFERRER
kommt nicht nur mitFirebase
sondern auch mitADMOB
. Ich kann bestätigen, dassAdmob v3.18.3
diese Erlaubnis vorliegt, aber sie kommt nicht mehr hereinAdmob v4.2.1
. Ich habe keine anderen Versionen getestet, aber ich habe gehört, dass einige frühere Versionen diese Berechtigung mögen4.2.0
und4.1.0
auch nicht tragen.Die Frage hier ist jedoch, ob wir die Berechtigung entfernen müssen oder ob wir sicherstellen müssen, dass, wenn unsere App verwendet wird,
Play Install Referrer Library
die enthalten seinINSTALL_REFERRER
muss. Weil keine Aktion erforderlich ist, um es zu entfernen, sondern um es zu migrieren.quelle