Intégrer la mesure des désinstallations Android dans une app

En bref : intégrez Firebase Cloud Messaging dans votre app pour configurer la mesure des désinstallations sous Android.

Lecture connexe : principes de mesure des désinstallations

Mesure des désinstallations Android

Pour mesurer les désinstallations sous Android, vous devez configurer la mesure des désinstallations dans AppsFlyer et intégrer Firebase Cloud Messaging (FCM) dans votre app. Depuis avril 2021, AppsFlyer prend en charge l'ancienne API de FCM et l'API HTTP V1. FCM encourage l'adoption de la version V1

Liste de vérification pour l'implémentation de la mesure des désinstallations
Étape Action Responsable
1 Connecter FCM à AppsFlyer

Sélectionner une API d'intégration :

Marketeur/développeur
2

Intégrer FCM dans l'app

L'intégration diffère si vous utilisez FCM uniquement avec AppsFlyer ou si vous l'utilisez avec plusieurs plateformes.

  1. Utiliser FCM dans l'app.
  2. Effectuez l'une des opérations suivantes :
  3. [Facultatif] Si vous utilisez Proguard, pensez à l'activer.
Développeur
3 Tester la mesure des désinstallations Développeur

Connecter l'API FCM à AppsFlyer

Sélectionner une version de l'API FCM [Bonne pratique] HTTP V1 ou HTTP classique. 

HTTP V1

Pour configurer l'API V1 FCM pour les désinstallations : 

  1. Pour obtenir l'ID du projet :
    1. Allez à la console FCM.
    2. Sélectionnez un projet. 
    3. Allez dans Aperçu du projet > Paramètres du projet.

      UninstallFirebase.png

    4. Copiez l'ID du projet. Vous en aurez besoin plus tard dans le processus.
  2. Pour attribuer le rôle de désinstallation à AppsFlyer :
    1. Allez dans l'onglet Comptes de service
    2. Cliquez sur Gérer les permissions du compte de service
      Un nouvel onglet du navigateur s'ouvre dans Google Cloud Platform.
    3. Dans le menu latéral, sélectionnez Rôles
    4. Cliquez sur +Créer un rôle.
    5. Renseignez les champs de la façon suivante :
      • Titre : entrez Désinstallations AppsFlyer.
      • ID : saisissez af_uninstalls
      • Étape de lancement du rôle  : sélectionnez Disponibilité générale
    6. Cherchez puis sélectionnez cloudmessaging.messages.create.

      AddPermissions.png

    7. Cliquez sur Ajouter.
    8. Cliquez sur Créer
  3. Pour attribuer à AppsFlyer le rôle de désinstallation FCM :
    1. Dans le menu latéral, sélectionnez IAM.
    2. Cliquez sur + Ajouter.
    3. Dans le champ Nouveaux membres , insérez af-uninstalls-tracking@af-uninstalls-tracking.iam.gserviceaccount.com
    4. Sélectionnez un rôle, sélectionnez désinstallations AppsFlyer.
    5. Cliquez sur Enregistrer.
      Le rôle des désinstallations AppsFlyer a été attribué au compte de service AppsFlyer.
  4. Pour activer la mesure des désinstallations dans AppsFlyer :
    1. Dans AppsFlyer, allez à Configuration > Paramètres de l'app.
    2. Si nécessaire, activez la mesure des désinstallations.
    3. Sélectionnez HTTP V1.

      UninstallHTTPV1.png

    4. Entrez l'ID du projet que vous avez préparé plus tôt dans cette section.
    5. Cliquez sur Test de connexion.
      Le message Succès ! s'affiche.
    6. Cliquez sur Enregistrer les paramètres

HTTP antérieur

La mesure des désinstallations à l'aide de la messagerie Firebase est prise en charge à partir du SDK Android V4.7.0+

  1. Pour obtenir la clé serveur Firebase :
    1. Créez un projet d'app Android Firebase (si ce n'est pas déjà fait), ou migrez votre projet de la console développeur Google (suivez les instructions ci-dessous) Pour plus d'informations, rendez-vous sur Firebase
    2. Ouvrez la Console Firebase.
    3. Sur la page Console Firebase, accédez aux paramètres du projet (cliquez sur la roue dentée à côté de Vue d'ensemble du projet dans le volet gauche de la page).

      firebase_cloud_messaging_server_key.png

    4. Dans l'onglet Messagerie cloud, vous voyez deux clés serveur.
    5. Copiez la clé de serveur.
  2. Pour activer la mesure des désinstallations dans AppsFlyer :
    1. Dans AppsFlyer, allez à Configuration > Paramètres de l'app.
    2. Si nécessaire, activez la mesure des désinstallations.
    3. Sélectionnez HTTP antérieur.
      UninstallLegacy.png
    4. Saisissez la clé serveur Firebase/GCM que vous avez préparée à l'étape précédente.
    5. Cliquez sur Enregistrer les paramètres

Intégrer FCM dans l'app

Utilisez les procédures suivantes (au besoin) pour intégrer FCM dans l'app et tester l'intégration.

Utiliser FCM dans l'app

  • La dernière version de Firebase est disponible ici : Firebase official doc.
  • Si vous recevez une erreur « Impossible de trouver... », assurez-vous d'avoir le dernier référentiel Google dans le gestionnaire SDK Android. 
Pour utiliser le FCM dans votre app :
  1. Téléchargez google-services.json depuis la console Firebase.
  2. Ajoutez le fichier google-services.json au répertoire du module de votre app.
  3. Ajoutez des règles à votre fichier build.gradle de niveau racine pour inclure le plug-in google-services :
    buildscript { 
        // ... 
        dependencies { 
          // ... 
          classpath 'com.google.gms:google-services:4.2.0' // google-services plugin 
        } 
      }
    
  4. Ajoutez la dépendance FCM à votre fichier build.gradle de niveau application :

    dependencies {
       implementation 'com.google.firebase:firebase-messaging:17.3.4'
    }
    
    // ADD THIS AT THE BOTTOM 
    apply plugin: 'com.google.gms.google-services
    

Utiliser FCM uniquement avec le SDK AppsFlyer

Si vous souhaitez intégrer FCM uniquement pour mesurer les désinstallations dans AppsFlyer, utilisez le service appsFlyer.FirebaseMessagingServiceListener intégré dans le SDK. Cela étend la classe FirebaseFirebaseMessagingService, utilisée pour recevoir le jeton d'appareil FCM.

Pour ajouter le service appsFlyer.FirebaseMessagingServiceListener à l'app :

<application
   <!-- ... -->
      <service
        android:name="com.appsflyer.FirebaseMessagingServiceListener">
        <intent-filter>
          <action android:name="com.google.firebase.MESSAGING_EVENT"/>
        </intent-filter>
      </service>
   <!-- ... -->
</application>

Utiliser FCM avec plusieurs plateformes

Si vous souhaitez utiliser FCM avec plusieurs plates-formes/SDK, vous devez implémenter une logique qui recueille le jeton d'appareil et le transmet à toutes les plates-formes concernées. Cela se fait en étendant une nouvelle instance de la classe FirebaseMessagingService (semblable au service qu'étend le SDK AppsFlyer) :
import com.appsflyer.AppsFlyerLib;
import com.google.firebase.messaging.FirebaseMessagingService;

public class MyNewFirebaseManager extends FirebaseMessagingService {

    @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
    }
}
Ce service doit être ajouté à AndroidManifest.xml pour fonctionner : si l'application utilisait FCM avant l'intégration du SDK AppsFlyer, il est probable que ce service ait déjà été étendu. Le développeur doit alors ajouter la ligne suivante à la méthode onNewToken() :
AppsFlyerLib.getInstance().updateServerUninstallToken(getApplicationContext(), refreshedToken); 

Vérifiez que le service approprié a bien été ajouté au fichier AndroidManifest.xml.

<service
    android:name=".MyNewFirebaseManager">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>

Utiliser ProGuard avec la fonctionnalité de mesure des désinstallations

Si vous utilisez ProGuard, ajoutez la règle suivante :

-dontwarn com.appsflyer.**
-keep public class com.google.firebase.messaging.FirebaseMessagingService {
  public *;
}

Test de la mesure des désinstallations Android

  • La procédure de test décrite est valable pour les apps disponibles dans le Google Play Store, en attente, en téléchargement direct, et via des app stores alternatifs.
  • La mesure des désinstallations est disponible dans la vue d'ensemble du tableau de bord. 
  • La liste des utilisateurs qui désinstallent l'app est disponible dans les rapport de données brutes des désinstallations.

Pour tester la mesure des désinstallations Android :

  1. Installez l'app.
  2. Désinstallez l'app. Remarque! Vous pouvez désinstaller l'application immédiatement après l'avoir installée.
    L'événement de désinstallation s'enregistre dans les 24 heures si la mesure de désinstallation est traitée au quotidien.
    Si l'application est réinstallée durant cette période -
    aucun événement de désinstallation ne sera enregistré.

L'événement de désinstallation de l'app peut mettre jusqu'à 48 heures à apparaître dans les rapports de données bruteset le rapport de performance agrégéde votre tableau de bord AppsFlyer.

aggregated_performance_report_uninstalls_en-us.png.

Autres informations

Résolution de la notification push de désinstallation d'Android non silencieuse

Le remplacement de la méthode onMessageReceived des FCM et l'implémentation de votre propre logique peuvent empêcher les notifications push de désinstallation de rester silencieuses. Cela peut avoir un impact sur l'expérience utilisateur. Pour éviter cela, vérifiez si le message contient af-uinstall-tracking. Voir l'exemple suivant :

@Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        
        if(remoteMessage.getData().containsKey("af-uinstall-tracking")){
            return;
        } else {
           // handleNotification(remoteMessage);
        }
    }
Cet article vous a-t-il été utile ?