Mesure des désinstallations
Vue d'ensemble
Configurer la mesure des désinstallations dans les apps Android en utilisant le SDK AppsFlyer et Firebase Cloud Messaging.
Intégration de la mesure des désinstallations sous Android
Ce document détaille l'intégration de la mesure des désinstallations dans les cas suivants :
- Apps qui utilisent déjà FCM
- Apps qui n'utilisent pas FCM.
La dernière version du client FCM se trouve ici.
Apps using FCM
Pour ajouter la mesure des désinstallations à une intégration FCM existante :
in the onNewToken()
surcharge, appelez updateServerUninstallToken
:
@Override
public void onNewToken(String s) {
super.onNewToken(s);
// Sending new token to AppsFlyer
AppsFlyerLib.getInstance().updateServerUninstallToken(getApplicationContext(), s);
// the rest of the code that makes use of the token goes in this method as well
}
Apps not using FCM
Pour intégrer la mesure des désinstallations :
- Télécharger
google-services.json
from Firebase console. - Ajoutez
google-services.json
au répertoire des modules de l'application - Ajoutez les dépendances suivantes au niveau de la racine
build.gradle
file:buildscript { // ... dependencies { // ... classpath 'com.google.gms:google-services:4.2.0' // google-services plugin } }
- Au niveau de l'application
build.gradle
, ajoutez les dépendances suivantes :Remarque : si vous recevez un message d'erreur de type «Could not find method implementation()...» (implémentation de la méthode introuvable), vérifiez que vous disposez de la dernière version de Google Repository dans le gestionnaire de SDK Android.dependencies { // ... implementation 'com.google.firebase:firebase-messaging:23.0.3' implementation 'com.google.firebase:firebase-core:20.1.2' // ... }
- Si FCM vous sert uniquement à mesurer les désinstallations dans AppsFlyer, utilisez
appsFlyer.FirebaseMessagingServiceListener
,qui est intégré au SDK. Cela permet de prolonger la classeFirebaseMessagingService
qui vise à récupérer le jeton d'appareil FCM et les appelsupdateServerUninstallToken
. Pour ajouter le serviceappsFlyer.FirebaseMessagingServiceListener
à l’application :Dans le cas contraire, remplacez la méthode<application <!-- ... --> <service android:name="com.appsflyer.FirebaseMessagingServiceListener"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT"/> </intent-filter> </service> <!-- ... --> </application>
FirebaseMessagingService.onNewToken()
et appelezupdateServerUninstallToken
:@Override public void onNewToken(String s) { super.onNewToken(s); // Sending new token to AppsFlyer AppsFlyerLib.getInstance().updateServerUninstallToken(getApplicationContext(), s); // the rest of the code that makes use of the token goes in this method as well }
Remarque
Si vous utilisez Proguard, veillez à ajouter la règle suivante :
-dontwarn com.appsflyer.** -keep public class com.google.firebase.messaging.FirebaseMessagingService { public *; }
Tester la mesure des désinstallations Android
La procédure de test détaillée est valable pour les apps disponibles dans le Google Play Store, en attente, en téléchargement direct, et issues des app stores alternatifs.
- La mesure des désinstallations est disponible dans le tableau de bord général.
- La liste des utilisateurs qui ont désinstallé l'app est disponible dans les [rapports de données brutes] des désinstallations.(https://support.appsflyer.com/hc/en-us/articles/209680773-Raw-data-reporting-overview#user-journey-report-availability).
Pour tester la mesure des désinstallations Android :
- Installez l'app.
- Désinstallez l'application. Vous pouvez désinstaller l'application immédiatement après l'avoir installée.
- Attendez que la désinstallation s'affiche dans le tableau de bord. Cela peut prendre jusqu'à 48 heures.
Attention
- L'événement de désinstallation s'enregistre dans les 24 heures sachant que le traitement de la mesure de désinstallation est quotidien.
- Si l'app est réinstallée durant cette intervalle, aucun événement de désinstallation n'est enregistré.
Remplacement des FCM onMessageReceived
onMessageReceived
Remplacement des FCM onMessageReceived
la méthode pour implémenter votre propre méthode peut donner des notifications push de désinstallation non silencieuses. Cela peut impacter l'expérience utilisateur. Pour éviter que cela se produise, vérifiez que le message contient bien af-uinstall-tracking
. Cf exemple suivant :
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
if(remoteMessage.getData().containsKey("af-uinstall-tracking")){ // "uinstall" is not a typo
return;
} else {
// handleNotification(remoteMessage);
}
}
Mis(e) à jour il y a 9 mois