Puoi utilizzare l'API Install Referrer del Google Play Store per recuperare in modo sicuro i contenuti dei referral da Google Play. La libreria client dell'API Play Install Referrer è scritta nel linguaggio di programmazione Java ed è un wrapper per il file AIDL (Android Interface Definition Language) che definisce l'interfaccia per il servizio Install Referrer. Puoi utilizzare la libreria client dell'API Play Install Referrer per semplificare il processo di sviluppo.
Questa guida illustra le nozioni di base sul recupero delle informazioni sui referral da Google Play utilizzando la libreria dei referrer di installazione di Google Play.
Aggiornamento delle dipendenze dell'app
Aggiungi la seguente riga alla sezione delle dipendenze del file build.gradle
per la tua app:
Trendy
dependencies { ... implementation "com.android.installreferrer:installreferrer:2.2" }
Kotlin
dependencies { ... implementation("com.android.installreferrer:installreferrer:2.2") }
Connessione a Google Play in corso...
Per poter utilizzare la libreria API Play Install Referrer, devi stabilire una connessione all'app Play Store procedendo nel seguente modo:
- Chiama il metodo
newBuilder()
per creare un'istanza della classeInstallReferrerClient
. Chiama il
startConnection()
per stabilire una connessione a Google Play.Il metodo
startConnection()
è asincrono, quindi devi eseguire l'override diInstallReferrerStateListener
per ricevere un callback dopo il completamento distartConnection()
.Esegui l'override del metodo
onInstallReferrerSetupFinished()
per ricevere una notifica al completamento del callback. Questo metodo viene chiamato con un codice di risposta che devi usare per gestire i diversi stati.OK
indica che la connessione è riuscita. Ciascuna delle altre costantiInstallReferrerResponse
riguarda tipi diversi di errori.Esegui l'override del metodo
onInstallReferrerServiceDisconnected()
per gestire le connessioni perse a Google Play. Ad esempio, il client della libreria dei referrer di installazione di Play potrebbe perdere la connessione se il servizio Play Store viene aggiornato in background. Il client della libreria deve chiamare il metodostartConnection()
per riavviare la connessione prima di effettuare ulteriori richieste.
Il codice che segue mostra come avviare e testare una connessione all'app Play Store:
Kotlin
private lateinit var referrerClient: InstallReferrerClient referrerClient = InstallReferrerClient.newBuilder(this).build() referrerClient.startConnection(object : InstallReferrerStateListener { override fun onInstallReferrerSetupFinished(responseCode: Int) { when (responseCode) { InstallReferrerResponse.OK -> { // Connection established. } InstallReferrerResponse.FEATURE_NOT_SUPPORTED -> { // API not available on the current Play Store app. } InstallReferrerResponse.SERVICE_UNAVAILABLE -> { // Connection couldn't be established. } } } override fun onInstallReferrerServiceDisconnected() { // Try to restart the connection on the next request to // Google Play by calling the startConnection() method. } })
Java
InstallReferrerClient referrerClient; referrerClient = InstallReferrerClient.newBuilder(this).build(); referrerClient.startConnection(new InstallReferrerStateListener() { @Override public void onInstallReferrerSetupFinished(int responseCode) { switch (responseCode) { case InstallReferrerResponse.OK: // Connection established. break; case InstallReferrerResponse.FEATURE_NOT_SUPPORTED: // API not available on the current Play Store app. break; case InstallReferrerResponse.SERVICE_UNAVAILABLE: // Connection couldn't be established. break; } } @Override public void onInstallReferrerServiceDisconnected() { // Try to restart the connection on the next request to // Google Play by calling the startConnection() method. } });
Recupero del referrer di installazione
Dopo aver stabilito una connessione all'app Play Store, recupera i dettagli dal referrer di installazione svolgendo i seguenti passaggi:
Utilizza il metodo
getInstallReferrer()
sincronizzato per restituire un'istanza diReferrerDetails
.Utilizza i metodi forniti dalla classe
ReferrerDetails
per ottenere dettagli sul referrer di installazione.
Il codice seguente mostra come accedere alle informazioni del referrer di installazione:
Kotlin
val response: ReferrerDetails = referrerClient.installReferrer val referrerUrl: String = response.installReferrer val referrerClickTime: Long = response.referrerClickTimestampSeconds val appInstallTime: Long = response.installBeginTimestampSeconds val instantExperienceLaunched: Boolean = response.googlePlayInstantParam
Java
ReferrerDetails response = referrerClient.getInstallReferrer(); String referrerUrl = response.getInstallReferrer(); long referrerClickTime = response.getReferrerClickTimestampSeconds(); long appInstallTime = response.getInstallBeginTimestampSeconds(); boolean instantExperienceLaunched = response.getGooglePlayInstantParam();
Attenzione: le informazioni sul referrer di installazione saranno disponibili per 90 giorni e non cambieranno a meno che l'applicazione non venga reinstallata. Per evitare chiamate API non necessarie nella tua app, devi richiamare l'API solo una volta durante la prima esecuzione dopo l'installazione.
Chiusura della connessione al servizio in corso...
Dopo aver ottenuto le informazioni sui referrer, chiama il metodo
endConnection()
nell'istanza
InstallReferrerClient
per chiudere la connessione. Chiudendo la connessione eviterai
perdite e problemi di prestazioni.
Per ulteriori informazioni, consulta il riferimento sulla libreria dei referrer di installazione di Google Play.