SDK de Android - Seguimiento de la desinstalación

Documento

Seguimiento de desinstalaciones

Realiza un seguimiento de las desinstalaciones de apps para medir la retención de usuarios y optimizar las campañas de reenganche integrando Firebase Cloud Messaging (FCM) con Singular SDK.

Importante: Google dejó obsoletas las API de GCM en abril de 2018. Utiliza Firebase Cloud Messaging (FCM) para todas las implementaciones de seguimiento de desinstalaciones.

Requisitos previos

Configurar la plataforma Singular

Antes de implementar el seguimiento de desinstalaciones en tu app, configura tu app en la plataforma Singular siguiendo la guía Configurar el seguimiento de desinstalaciones de Android.


Requisitos del sistema

El seguimiento de desinstalaciones requiere Firebase Cloud Messaging y configuraciones específicas del dispositivo.

Requisitos de FCM(fuente):

  • Versión de Android: Los dispositivos deben ejecutar Android 4.1 (API 16) o superior
  • Servicios de Google Play: Los dispositivos deben tener instalada la aplicación Google Play Store
  • Compatibilidad con emuladores: Se admiten emuladores de Android 4.1+ con API de Google
  • Distribución: Las aplicaciones se pueden distribuir fuera de Google Play Store sin dejar de admitir el seguimiento de desinstalaciones.

Nota: no se realizará el seguimiento de las desinstalaciones de los usuarios que utilicen versiones de Android no compatibles o dispositivos sin Google Play Services.


Pasos de implementación

Paso 1: Integrar Firebase Cloud Messaging

Configura Firebase Cloud Messaging en tu aplicación si aún no está configurada.

Siga la guía oficial de Google para configurar una aplicación cliente de Firebase Cloud Messaging en Android, que incluye:

  1. Añadir Firebase a tu proyecto Android
  2. Añadir la dependencia FCM SDK a tu app/build.gradle
  3. Crear una clase Firebase Messaging Service
  4. Solicitar permisos de notificación (Android 13+)

Paso 2: Configurar AndroidManifest.xml

Registre su servicio de mensajería Firebase en el manifiesto de Android para recibir mensajes FCM.

AndroidManifest.xml
<service 
    android:name=".MyFirebaseMessagingService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>

Importante: Sustituya .MyFirebaseMessagingService por el nombre completo de su clase que extienda FirebaseMessagingService.


Paso 3: Registrar el token de dispositivo FCM

Recupere el token de dispositivo FCM y envíelo a Singular para el seguimiento de la desinstalación.

Recuperar y registrar token

Obtenga el token de FCM y regístrelo en Singular inmediatamente después de la inicialización del SDK.

KotlinJava
import com.google.firebase.messaging.FirebaseMessaging
import com.singular.sdk.Singular

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        
        // Initialize Singular SDK
        val config = SingularConfig("SDK_KEY", "SDK_SECRET")
        Singular.init(applicationContext, config)
        
        // Retrieve and register FCM token
        FirebaseMessaging.getInstance().token.addOnCompleteListener { task ->
            if (!task.isSuccessful) {
                Log.w("FCM", "Fetching FCM token failed", task.exception)
                return@addOnCompleteListener
            }
            
            // Get FCM token
            val token = task.result
            
            // Register token with Singular
            Singular.setFCMDeviceToken(token)
            Log.d("FCM", "FCM token registered with Singular: $token")
        }
    }
}

Práctica recomendada: Registre el token FCM inmediatamente después de Singular.init() para garantizar que el seguimiento de la desinstalación esté activado desde la primera sesión de la aplicación.


Actualización del token

Actualice el token FCM con Singular cada vez que se actualice para mantener un seguimiento preciso de la desinstalación.

KotlinJava
import com.google.firebase.messaging.FirebaseMessagingService
import com.singular.sdk.Singular

class MyFirebaseMessagingService : FirebaseMessagingService() {
    
    override fun onNewToken(token: String) {
        super.onNewToken(token)
        
        // Send updated token to Singular
        Singular.setFCMDeviceToken(token)
        Log.d("FCM", "New FCM token registered: $token")
        
        // Also send token to your server if needed
        sendTokenToServer(token)
    }
    
    private fun sendTokenToServer(token: String) {
        // Implement your server communication logic here
    }
}

Importante: Los tokens FCM pueden actualizarse en cualquier momento (actualizaciones de la aplicación, restauración del dispositivo, etc.). Implemente siempre onNewToken() para mantener Singular actualizado.


Método de configuración alternativo

Establecer token durante la inicialización

Si dispone del token FCM antes de la inicialización del SDK, configúrelo en el objeto SingularConfig.

KotlinJava
// Get token synchronously (if cached)
val cachedToken = getStoredFCMToken() // Your caching logic

val config = SingularConfig("SDK_KEY", "SDK_SECRET")
    .withFCMDeviceToken(cachedToken)

Singular.init(applicationContext, config)

Firma del método:

public SingularConfig withFCMDeviceToken(String token)

Verificación y resolución de problemas

Verificación de la implementación

Confirme que el seguimiento de la desinstalación funciona correctamente.

  1. Compruebe los registros: Verifique que el registro de tokens de FCM aparece en sus registros.
  2. Pruebe la generación de tokens: Asegúrese de que los tokens se generan en el primer lanzamiento de la aplicación.
  3. Supervise el panel de control: Compruebe los datos de seguimiento de desinstalación del panel de Singular transcurridas 24-48 horas.
  4. Prueba de actualización de tokens: Borre los datos de la aplicación y compruebe que los tokens se actualizan correctamente

Problemas comunes

  • Token no generado: Compruebe que las dependencias de FCM se han añadido correctamente y que Firebase está configurado en su proyecto.
  • El token no se actualiza: Compruebe que onNewToken() callback está implementado en su FirebaseMessagingService
  • Faltan datos: Asegúrate de que los dispositivos cumplen los requisitos de FCM (Android 4.1+, Google Play Services instalado)
  • Error de configuración: Confirma que el seguimiento de desinstalación está habilitado en la configuración de la plataforma Singular

Recursos adicionales: Para obtener información detallada sobre la solución de problemas, consulta la Guía de configuración del seguimiento de desinstalacionesy la Documentación de Firebase Cloud Messaging.