deprecazione di intenti install_referrer


76

Ho ricevuto email da google:

Di recente abbiamo annunciato che deprezzeremo il meccanismo di trasmissione dell'intento install_referrer. Poiché una o più delle tue app utilizzano questo intento per tenere traccia dei referral, desideriamo assicurarti di effettuare il passaggio prima del 1 ° marzo 2020. Dopo tale data, le nuove versioni dell'app Play Store non trasmettono più l'intento install_referrer dopo l'installazione delle app.

Non sto usando install_referrerdirettamente, ma durante la navigazione manifest manifest ho scoperto che alcuni servizi Firebase denominati con il nome del pacchetto com.google.firebase.measurementlo usano.

Le mie dipendenze Firebase aggiornate all'ultima versione.

Dovrei preoccuparmene?


7
Ho la stessa lettera, non uso la base di fuoco. Non sto usando install_referrer. Uso ADMOB (chi può usare install_referrer?). Quindi cosa dobbiamo cambiare se non stiamo usando install_referrerda soli?
user12514252

2
Ho ricevuto questo messaggio oggi ma non capisco cosa posso fare !! Sto usando unity3d e ho usato (Admob & Firebase)
Mahmoud abualamrien il

5
Ho ricevuto questa e-mail e ho esaminato il mio manifest unito e sembra che Firebase sia la causa che si innesca. Quindi in pratica attendere che Firebase risolva il loro codice e rilasci un aggiornamento?
Jay Sidri,

3
@ A92 controlla la mia risposta dal supporto di base
Pavel Poley l'

3
La cosa strana è che uso Firebase in due delle mie app, ma nella posta indicava solo una delle app, nonostante fosse l'app con la minima integrazione di Firebase.
Anigif,

Risposte:


37

Dal supporto di Firebase:

Questa è un'ottima cattura. Grazie per averlo portato alla nostra attenzione. Non è necessario [per intraprendere] un'azione da parte tua fin d'ora, ho creato una richiesta interna in modo da poter fornire un'alternativa alla trasmissione di intenti install_referrer prima della sua deprecazione. A partire da ora, dobbiamo ancora scoprire eventuali dettagli o scadenze su quando sarà implementato. Di tanto in tanto puoi controllare le nostre note di rilascio per eventuali aggiornamenti sulle funzionalità di Firebase e sui suoi servizi.

Strano che i prodotti di Google non siano sincronizzati.

Tuttavia, se non si utilizza Firebase e l'app contiene librerie di terze parti che utilizzano install_referrergentilmente verificare direttamente con esse.

Per trovare in quale libreria install_referrerinclusa, apri manifest uniti e cerca install_referrer, controlla il nome del pacchetto del servizio in cui è install_referrerincluso.


1
Spero che non passerà troppo tempo prima che rilasci una soluzione, immagino che tutti gli eventi relativi all'installazione di un'app (potrebbe essere ad esempio l' first_openevento) non verranno inviati dopo il 1 ° marzo 2020. E dopo aver rilasciato la soluzione tutte le app che utilizzano Firebase SDK dovrebbe rilasciare nuove app, altrimenti Firebase non riceverà nessuno degli eventi interessati.
Anigif,

1
@Pavel Poley, per favore, puoi dirmi come posso verificare install_referrer se non utilizzo Firebase
Mouaad Abdelghafour AITALI,

1
@MouaadAbdelghafourAITALI apri manifest unito e prova a trovare install_referrer, fai clic destro vai alla dichiarazione, puoi vedere il nome del pacchetto del servizio
Pavel Poley,

3
Guardando Manifest unito mostra install_referrer di Firebase. Dovrebbe essere la risposta accettata! Mi hai salvato la giornata! Grazie
Romain Barbier il

3
c'è qualche notizia da firebase, l'ho aggiornato alla versione 17.2.2 ma trovo ancora com.android.vending.INSTALL_REFERRER
Neo

12

com.google.firebase:firebase-core:17.2.1e com.google.firebase:firebase-analytics:17.2.1aggiungi INSTALL_REFERRERa AndroidManifest. Probabilmente dovrai aspettare che il team di Firebase aggiorni questi pacchetti per usare la nuova API.


1
Nel mio caso, non utilizzo alcuna libreria Firebase e INSTALL_REFERRER
appaio

2
@MouaadAbdelghafourAITALI Dovrebbero esserci altre librerie che usano API obsolete nel tuo caso.
AndrewS,

2
grazie, quindi il problema principale proviene dalla Biblioteca Firebase
Mouaad Abdelghafour AITALI

2
Controlla la scheda manifest unita nella tua app AndroidManifest.xmle cerca <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter>. Quindi se selezioni quella linea, ti dirà da quale libreria proviene. Nel nostro caso lo è stato play-services-ads.
Tim Kist,

L'ho aggiornato alla versione 17.2.2 ma trovo ancora com.android.vending.INSTALL_REFERRER @AndrewS
Neo

9

Vari SDK possono registrare un ricevitore per il referrer di installazione.

Per gli sviluppatori che non sono sicuri di quale SDK abbia aggiunto un ricevitore al tuo manifest è utile guardare il file della colpa di unione di manifest. In genere, build/c'è un fileintermediates/manifest_merge_blame_file/release/manifest-merger-blame-release-report.txt

In quel file dovrai trovare i ricevitori che hanno

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

nel suo filtro intento, e la linea prima indicherà quale sia la fonte di quella linea nel tuo manifest.

Ad esempio, le linee pertinenti per una delle mie app si presentano così:

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>

Ciò dimostra che l'SDK di AppBrain (di cui sono uno degli sviluppatori) aggiunge un ricevitore per il referrer di installazione. L'immagine seguente del nostro post sul blog che spiega cosa cambia esattamente ( https://medium.com/appbrain/the-google-play-referrer-api-and-the-appbrain-sdk-38cfbaa350dc ) chiarisce cosa sta cambiando Google: Modifica nell'API del referrer di Google Play


Eccezionale! Non ero a conoscenza di questo file, mi ha aiutato a capire esattamente cosa sta usando install_referrer. Giusto per chiarire, l'ho trovato nella build/cartella dei moduli dell'app e non nella build/cartella principale .
Anigif,

Sto usando Unity3D e non sono sicuro di come posso usare queste informazioni, conosci anche una soluzione per Unity3D?
Sailendu,

5

Dopo aver controllato il file manifest sul mio apk compilato, ho trovato la trasmissione di refeer di installazione utilizzata dal modulo connettore di misurazione firebase su Firebase Core Analytics, quindi li escludo:

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

E quindi ricontrollare di nuovo il mio file manifest manifestato analizzando APk e la trasmissione del refeer di installazione scompare.

D'altra parte, se si utilizza l'analisi delle tracce, Google chiede di passare all'API di referrer di installazione https://developer.android.com/google/play/installreferrer/library.html prima di marzo 2020


Userò l'analisi della base di fuoco come risolverlo?
A92,

5

Ho verificato l'agente di supporto di Firebase per questo problema. Le librerie Firebase utilizzano install_referrer e ho ricevuto una risposta inferiore dall'agente di supporto Firebase:

Questa è un'ottima cattura. Grazie per averlo portato alla nostra attenzione. Sono attualmente in discussione con i nostri esperti di Analytics e tornerò entro 48 ore o non appena avrò maggiori informazioni. Per ora, non è necessario alcun intervento da parte tua, attendi il prossimo aggiornamento dal team di Firebase.

Credo che dobbiamo aspettare la prossima versione di Firebase. E il team di Firebase aggiorna questi pacchetti per utilizzare la nuova API.

Se hai utilizzato questa API nel tuo codice da solo, devi cambiarla immediatamente poiché non dipendi da firebase o da qualsiasi altro fornitore di librerie di terze parti.


L'ho aggiornato alla versione 17.2.2 ma trovo ancora com.android.vending.INSTALL_REFERRER, come risolvi il problema?
Neo

Sì, stessa situazione, Faxriddin Abdullayev ha ricevuto risposta dall'agente di supporto? grazie!
Wils

2

C'è un articolo sul blog degli sviluppatori Android su questo

https://android-developers.googleblog.com/2019/11/still-using-installbroadcast-switch-to.html

Anche in questo articolo menzionano la vecchia implementazione del meccanismo di trasmissione dell'intento install_referrer e forniscono informazioni complete. Quindi possiamo trovarlo nel nostro codice esistente.

https://developers.google.com/analytics/devguides/collection/android/v4/campaigns#google-play-campaigns


7
OP ha detto che non si sta integrando direttamente in questa API ... è molto probabile che la maggior parte degli sviluppatori qui non lo utilizzi direttamente dato il suo caso d'uso relativamente oscuro
Jay Sidri,

0

INSTALL_REFERRERviene non solo con Firebasema anche con ADMOB. Posso confermare che Admob v3.18.3ha questa autorizzazione ma non arriva più Admob v4.2.1. Non ho testato altre versioni ma ho sentito che alcune versioni precedenti come 4.2.0e 4.1.0anche che non hanno questa autorizzazione.

Ma la domanda qui è se dobbiamo rimuovere l'autorizzazione o dobbiamo assicurarci che se la nostra app sta usando, Play Install Referrer Libraryallora INSTALL_REFERRERdeve essere inclusa. Perché l'azione richiesta non è quella di rimuoverlo ma migrare ad esso.

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.