Bibliothèque Play Install Referrer

Vous pouvez utiliser l'API Install Referrer du Google Play Store pour récupérer de manière sécurisée les informations de provenance depuis Google Play. La bibliothèque cliente de l'API Play Install Referrer est écrite en langage de programmation Java et constitue un wrapper pour le fichier AIDL (Android Interface Definition Language) qui définit l'interface du service Install Referrer. Vous pouvez utiliser cette bibliothèque pour simplifier le processus de développement.

Ce guide présente les principes de base de la récupération d'informations de provenance depuis Google Play à l'aide de la bibliothèque Play Install Referrer.

Mettre à jour les dépendances de votre application

Ajoutez la ligne suivante à la section des dépendances du fichier build.gradle de votre application :

Groovy

dependencies {
    ...
    implementation "com.android.installreferrer:installreferrer:2.2"
}

Kotlin

dependencies {
    ...
    implementation("com.android.installreferrer:installreferrer:2.2")
}

Établir une connexion à Google Play

Avant de pouvoir utiliser la bibliothèque de l'API Play Install Referrer, procédez comme suit pour établir une connexion à l'application Play Store :

  1. Appelez la méthode newBuilder() pour créer une instance de la classe InstallReferrerClient.
  2. Appelez la méthode startConnection() pour établir une connexion à Google Play.

  3. La méthode startConnection() est asynchrone. Vous devez donc remplacer InstallReferrerStateListener pour recevoir un rappel à la fin de startConnection().

  4. Remplacez la méthode onInstallReferrerSetupFinished() pour être averti lorsque le rappel est terminé. Cette méthode est appelée avec un code de réponse que vous devez utiliser pour gérer les différents états. OK indique que la connexion a été établie. Chacune des autres constantes InstallReferrerResponse correspond à différents types d'erreurs.

  5. Remplacez la méthode onInstallReferrerServiceDisconnected() pour gérer les connexions perdues à Google Play. Par exemple, le client de la bibliothèque Play Install Referrer peut perdre la connexion si le service Play Store est mis à jour en arrière-plan. Le client de la bibliothèque doit appeler la méthode startConnection() pour redémarrer la connexion avant d'envoyer d'autres requêtes.

Le code suivant montre comment démarrer et tester une connexion à l'application 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.
    }
});

Obtenir les informations de provenance de l'installation

Une fois la connexion à l'application Play Store établie, procédez comme suit pour obtenir les informations de provenance de l'installation :

  1. Utilisez la méthode getInstallReferrer() synchronisée pour renvoyer une instance de ReferrerDetails.

  2. Utilisez les méthodes fournies par la classe ReferrerDetails pour obtenir les informations de provenance de l'installation.

Le code suivant montre comment accéder à ces informations :

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();

Attention : Les informations de provenance de l'installation sont disponibles pendant 90 jours et ne changent pas, sauf si l'application est réinstallée. Pour éviter des appels d'API inutiles dans votre application, vous ne devez appeler l'API qu'une seule fois lors de la première exécution après l'installation.

Mettre fin à la connexion au service

Après avoir obtenu les informations de provenance, appelez la méthode endConnection() sur votre instance InstallReferrerClient pour mettre fin à la connexion. L'arrêt de la connexion vous permet d'éviter les fuites et les problèmes de performances.

Pour en savoir plus, consultez la documentation de référence de la bibliothèque Play Install Referrer.