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. - Comme
startConnection()est asynchrone, implémentezInstallReferrerStateListenerpour recevoir un rappel une fois questartConnection()est terminé. - Remplacez la méthode
onInstallReferrerSetupFinished()pour recevoir une notification lorsque le rappel est terminé. Cette méthode transmet un code de réponse que vous devez utiliser pour gérer les différents états.OKindique que la connexion a été établie. Les autres constantesInstallReferrerResponseindiquent 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
ReferrerDetailspour 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();
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.