Medición de desinstalaciones

Resumen General

Configura la medición de desinstalaciones en aplicaciones para Android mediante el SDK de AppsFlyer y la mensajería en la nube de Firebase.

Integración de la medición de desinstalaciones para Android

Este documento cubre la integración de la medición de desinstalaciones para los siguientes escenarios:

  • Aplicaciones que ya usan FCM
  • Aplicaciones que no usan FCM.

La última versión del cliente de FCM se puede encontrar aquí.

Apps using FCM

Para agregar la medición de desinstalaciones a una integración de FCM existente:
in the onNewToken() anulación, invoca 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

Para integrar la medición de desinstalaciones:

  1. Descargar google-services.json from Firebase console.
  2. Agrega google-services.json al directorio del módulo de la aplicación.
  3. Agrega las siguientes dependencias a tu nivel raíz build.gradle file:
    buildscript { 
        // ... 
        dependencies { 
          // ... 
          classpath 'com.google.gms:google-services:4.2.0' // google-services plugin 
        } 
      }
    
  4. En el nivel de la aplicación build.gradle, agrega las siguientes dependencias:
    dependencies {
        // ...
        implementation 'com.google.firebase:firebase-messaging:23.0.3'
        implementation 'com.google.firebase:firebase-core:20.1.2'
        // ...
    }
    
    Nota: Si recibes un error "No se pudo encontrar la implementación del método()...", asegúrate de tener el Repositorio de Google más reciente en el Administrador del SDK de Android.
1169
  1. Si utilizas FCM solo para medir las desinstalaciones en AppsFlyer, utiliza el servicio appsFlyer.FirebaseMessagingServiceListener integrado en el SDK. Esto amplía la clase FirebaseMessagingService , que se utiliza para recibir el token del dispositivo FCM y llama a updateServerUninstallToken. Para agregar el servicio appsFlyer.FirebaseMessagingServiceListener a la aplicación:
    <application
       <!-- ... -->
          <service
            android:name="com.appsflyer.FirebaseMessagingServiceListener">
            <intent-filter>
              <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
          </service>
       <!-- ... -->
    </application>
    
    De lo contrario, anula el método FirebaseMessagingService.onNewToken() y llama a 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
    }
    

📘

Nota

Si usas Proguard, asegúrate de agregar la siguiente regla:

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

Prueba de medición de desinstalaciones en Android

El procedimiento de prueba descrito es válido para aplicaciones disponibles a través de Google Play Store, pendientes, de descarga directa y a través de tiendas de aplicaciones alternativas.

Para probar la medición de desinstalaciones en Android:

  1. Instala la aplicación.
  2. Desinstala la aplicación. Puedes desinstalar la aplicación inmediatamente después de instalarla.
  3. Espera a que aparezca la desinstalación en el panel de control. Esto puede tardar hasta 48 horas.

consideraciones

  • El evento de desinstalación se registra dentro de las 24 horas, ya que la medición de desinstalaciones se procesa diariamente.
  • Si la aplicación se reinstala durante este tiempo, no se registra ningún evento de desinstalación.

Anulación de FCM onMessageReceived

Anulación de FCM onMessageReceived método e implementar tu propia lógica
en este podría hacer que las notificaciones push de desinstalación no sean silenciosas. Esto puede afectar la experiencia del usuario. Para evitarlo, verifica que el mensaje contenga af-uninstall-tracking. Consulta el siguiente ejemplo:

@Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        
        if(remoteMessage.getData().containsKey("af-uinstall-tracking")){ // "uinstall" is not a typo
            return;
        } else {
           // handleNotification(remoteMessage);
        }
    }