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 :
- Appelez la méthode
newBuilder()
pour créer une instance de la classeInstallReferrerClient
. Appelez la méthode
startConnection()
pour établir une connexion à Google Play.La méthode
startConnection()
est asynchrone. Vous devez donc remplacerInstallReferrerStateListener
pour recevoir un rappel à la fin destartConnection()
.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 constantesInstallReferrerResponse
correspond à différents types d'erreurs.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éthodestartConnection()
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 :
Utilisez la méthode
getInstallReferrer()
synchronisée pour renvoyer une instance deReferrerDetails
.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.