install_referrer absichtsverfall

76

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_referrerdirekt, aber beim Durchsuchen des zusammengeführten Manifests habe ich festgestellt, dass ein Firebase-Dienst mit dem Paketnamen com.google.firebase.measurementihn verwendet.

Meine Firebase-Abhängigkeiten wurden auf die neueste Version aktualisiert.

Sollte es mich interessieren?

Pavel Poley
quelle
7
Ich habe den gleichen Brief, ich benutze keine Feuerbasis. Ich benutze nicht install_referrer. Ich benutze ADMOB (wer darf es benutzen install_referrer?). Was müssen wir also ändern, wenn wir es nicht install_referreralleine verwenden?
user12514252
2
Ich habe diese Nachricht heute erhalten, aber ich verstehe nicht, was ich tun kann !! Ich benutze entity3d und ich habe (Admob & Firebase)
Mahmoud abualamrien
5
Ich habe diese E-Mail erhalten und mir mein zusammengeführtes Manifest angesehen. Es sieht so aus, als ob Firebase die Ursache dafür ist. Warten Sie also im Grunde, bis Firebase den Code repariert und ein Update herausgibt?
Jay Sidri
3
@ A92 überprüfen Sie meine Antwort vom Firebase-Support
Pavel Poley
3
Das Seltsame ist, dass ich Firebase in zwei meiner Apps verwende, aber in der Mail wurde nur eine der Apps angegeben, obwohl es sich um die App mit der geringsten Firebase-Integration handelte.
Anigif

Antworten:

37

Vom Firebase-Support:

Dies ist ein großartiger Fang. Vielen Dank, dass Sie uns darauf aufmerksam gemacht haben. Ab sofort müssen Sie keine Maßnahmen ergreifen. Ich habe eine interne Anforderung erstellt, damit wir eine Alternative für die Absichtsübertragung install_referrer bereitstellen können, bevor sie nicht mehr unterstützt wird. Bis jetzt müssen wir noch Einzelheiten oder Zeitpläne herausfinden, wann es implementiert wird. Sie können unsere Versionshinweise von Zeit zu Zeit auf Aktualisierungen der Firebase-Funktionen und ihrer Dienste überprüfen.

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_referrerdirekt an diese.

Um herauszufinden, in welcher Bibliothek install_referrerenthalten ist, öffnen Sie das zusammengeführte Manifest und suchen Sie nach install_referrerdem Paketnamen des Dienstes, in dem das install_referrerenthalten ist.

Pavel Poley
quelle
1
Ich hoffe, es dauert nicht lange, bis eine Lösung veröffentlicht wird. Ich denke, alle Ereignisse im Zusammenhang mit der Installation einer App (z. B. das first_openEreignis) 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.
Anigif
1
@ Pavel Poley können Sie mir bitte sagen, wie ich nach install_referrer suchen kann, wenn ich Firebase nicht verwende
Mouaad Abdelghafour AITALI
1
@MouaadAbdelghafourAITALI Öffnen Sie das zusammengeführte Manifest und versuchen Sie zu finden install_referrer. Klicken Sie mit der rechten Maustaste zur Deklaration. Sie können den Paketnamen des Dienstes sehen
Pavel Poley
3
Wenn Sie sich das zusammengeführte Manifest ansehen, wird install_referrer von Firebase angezeigt. Sollte die akzeptierte Antwort sein! Rettete meinen Tag! Vielen Dank
Romain Barbier
3
Gibt es Neuigkeiten von Firebase? Ich habe es auf Version 17.2.2 aktualisiert, finde aber immer noch com.android.vending.INSTALL_REFERRER
Neo
12

com.google.firebase:firebase-core:17.2.1und com.google.firebase:firebase-analytics:17.2.1hinzufügen INSTALL_REFERRERzu AndroidManifest. Möglicherweise müssen Sie warten, bis das Firebase-Team diese Pakete aktualisiert, um die neue API zu verwenden.

AndrewS
quelle
1
In meinem Fall verwende ich keine Firebase-Bibliotheken und INSTALL_REFERRER erscheine immer noch
Mouaad Abdelghafour AITALI
2
@MouaadAbdelghafourAITALI Dann sollte es in Ihrem Fall eine andere Bibliothek geben, die eine veraltete API verwendet.
AndrewS
2
Vielen Dank, so kommt die Hauptausgabe von Firebase Library
Mouaad Abdelghafour AITALI
2
Überprüfen Sie die Registerkarte "Zusammengeführtes Manifest" in Ihrer App AndroidManifest.xmlund 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 es play-services-ads.
Tim Kist
Ich habe es auf Version 17.2.2 aktualisiert, finde aber immer noch com.android.vending.INSTALL_REFERRER @AndrewS
Neo
9

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

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

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:

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>

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: Änderung in der Google Play Referrer-API

Mathijs Vogelzang
quelle
Genial! Mir war diese Datei nicht bekannt, sie half mir herauszufinden, was genau verwendet wird install_referrer. Zur Verdeutlichung habe ich es im build/Ordner " app-modules " und nicht im build/Stammordner gefunden.
Anigif
Ich verwende Unity3D und bin mir nicht sicher, wie ich diese Informationen verwenden kann. Kennen Sie auch eine Lösung für Unity3D?
Sailendu
5

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:

 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'
}

Ü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

Sofien Rahmouni
quelle
Ich verwende Firebase-Analysen, um das Problem zu beheben.
A92
5

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:

Dies ist ein großartiger Fang. Vielen Dank, dass Sie uns darauf aufmerksam gemacht haben. Ich bin derzeit im Gespräch mit unseren Analytics-Experten und werde innerhalb von 48 Stunden oder sobald ich weitere Informationen habe, zurückkommen. Warten Sie auf das nächste Update des Firebase-Teams, ohne dass Sie Maßnahmen ergreifen müssen.

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.

Faxriddin Abdullayev
quelle
Ich habe es auf Version 17.2.2 aktualisiert, finde aber immer noch com.android.vending.INSTALL_REFERRER. Wie lösen Sie das Problem?
Neo
Ja, die gleiche Situation, hat Faxriddin Abdullayev vom Support-Agenten gehört? Vielen Dank!
Wils
2

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

sohel.eco
quelle
7
OP erwähnte, dass er sich nicht direkt in diese API integriert ... es ist sehr wahrscheinlich, dass die Mehrheit der Entwickler hier dies nicht direkt verwendet, da der Anwendungsfall relativ dunkel ist
Jay Sidri
0

INSTALL_REFERRERkommt nicht nur mit Firebasesondern auch mit ADMOB. Ich kann bestätigen, dass Admob v3.18.3diese Erlaubnis vorliegt, aber sie kommt nicht mehr herein Admob v4.2.1. Ich habe keine anderen Versionen getestet, aber ich habe gehört, dass einige frühere Versionen diese Berechtigung mögen 4.2.0und 4.1.0auch 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 Librarydie enthalten sein INSTALL_REFERRERmuss. Weil keine Aktion erforderlich ist, um es zu entfernen, sondern um es zu migrieren.

Geben Sie hier die Bildbeschreibung ein

gameDev_Unity
quelle