Configuración del seguimiento de desinstalaciones en Android
Realice un seguimiento de las desinstalaciones de aplicaciones en Android para medir la retención de usuarios, identificar fuentes de tráfico de baja calidad y optimizar el rendimiento de las campañas mediante la integración de Firebase Cloud Messaging con Singular SDK.
Migración a Firebase necesaria: Firebase ha dejado de utilizar la API HTTP heredada y la ha cerrado el 22 de julio de 2024. Todas las implementaciones deben utilizar la API HTTP v1. Consulte las instrucciones de configuración de HTTP v1 a continuación.
Descripción general
Cómo funciona el seguimiento de desinstalaciones
Singular detecta las desinstalaciones de aplicaciones enviando notificaciones push silenciosas a través de Firebase Cloud Messaging y supervisando las respuestas de entrega para determinar si la aplicación sigue instalada en los dispositivos.
Proceso técnico:
- Registro de tokens: Singular SDK registra los tokens FCM en los servidores de Singular
- Notificaciones silenciosas: Singular envía notificaciones push silenciosas periódicas a los dispositivos registrados
- Comentarios sobre la entrega: FCM informa del éxito o el fracaso de la entrega
- Detección de desinstalaciones: las entregas fallidas indican la desinstalación de la aplicación
- Registro de eventos: El evento de desinstalación se atribuye a la fuente de instalación original
Requisitos
- Versión del SDK: Se requiere SDK de Android 7.0+ para el seguimiento de desinstalaciones .
- Configuración de Firebase: proyecto Firebase activo con Cloud Messaging habilitado
- Servicios de Google Play: los dispositivos deben tener instalados los servicios de Google Play .
- Actualización de la aplicación: los usuarios deben instalar la versión actualizada de la aplicación con el seguimiento de desinstalación habilitado
- Permisos: Android 13+ requiere permiso explícito de notificación para la generación de tokens FCM
Consideraciones importantes
Puntos clave:
- Diferencias metodológicas: El seguimiento de desinstalaciones de Singular difiere de los informes integrados de Google. Google informa de las desinstalaciones directamente desde el sistema operativo, mientras que Singular utiliza la información de entrega de FCM. Las cifras pueden variar entre plataformas.
- Conservación de la atribución: Las desinstalaciones se rastrean como eventos sin eliminar el enlace de atribución original. Los usuarios pueden desinstalar y reinstalar varias veces, lo que puede dar lugar a tasas de desinstalación superiores al 100 %.
- Procesamiento por lotes: la detección de desinstalaciones se realiza por lotes, basándose en la respuesta de FCM. Los datos de desinstalación pueden tardar hasta 24 horas en aparecer en el panel de control de Singular.
- Dependencia de la red: las notificaciones push silenciosas requieren una conexión de red activa. Los dispositivos que permanecen desconectados durante periodos prolongados pueden retrasar la detección de desinstalaciones.
Compartir con restricción de dominio
Si su organización de Google tiene habilitado el uso compartido restringido por dominio , conceda acceso a la organización Singular para habilitar la función de seguimiento de desinstalaciones .
Configuración necesaria: añada el ID de la organización de Singular a la lista de valores permitidos de su política de uso compartido restringido por dominio.
Pasos de configuración:
- Acceda a las políticas de la organización: vaya a la página Políticas de la organización en Google Cloud Console
- Seleccionar recurso: elija la organización en la que está configurada la política .
- Busque la restricción: localice la restricción «Uso compartido restringido por dominio» .
- Gestionar política: haga clic en el botón «Gestionar política»
- Añada la organización Singular: en Valores de la política, seleccione Personalizado y añada lo siguiente:
is:principalSet://iam.googleapis.com/organizations/626787461583
Esto concede a la cuenta de servicio de Singular acceso para enviar notificaciones FCM para la detección de desinstalaciones.
Configuración de la API HTTP v1 (recomendado)
Configure el seguimiento de desinstalaciones mediante la API HTTP v1 de Firebase Cloud Messaging con seguridad mejorada a través de tokens de acceso OAuth 2.0 y compatibilidad mejorada con mensajería multiplataforma .
¿Por qué HTTP v1? La API v1 proporciona una mayor seguridad gracias a tokens de acceso de corta duración, una personalización multiplataforma más eficiente y la compatibilidad continua de Firebase con nuevas funciones. La API HTTP heredada se cerró el 22 de julio de 2024.
Paso 1: Integrar SDK de Android 7.x+
Actualizar la versión del SDK
Asegúrate de que tu aplicación utiliza la versión 7.0 o superior del SDK de Singular para Android. Si aún no has integrado el SDK de Singular, completa la Guía de integración del SDK para Android antes de configurar el seguimiento de desinstalaciones.
Guía de integración completa: Guía de integración de SDK de Android
Paso 2: Confirmar AndroidManifest.xml Configuración de FCM
Verifique el servicio y los permisos de FCM
Asegúrate de que tu aplicación ya está integrada con Firebase Cloud Messaging y que el manifiesto de Android declara un FirebaseMessagingService para recibir mensajes FCM.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.your.package">
<!-- FCM Permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<application>
<!-- App Firebase Messaging Service -->
<service
android:name=".MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
</application>
</manifest>
Importante: Reemplace .MyFirebaseMessagingService por el nombre completo
de su clase que extiende FirebaseMessagingService.
Solo un servicio debe manejar la
intención com.google.firebase.MESSAGING_EVENT en su aplicación.
Configuración detallada del manifiesto: Guía del manifiesto de Android de Firebase FCM.
Paso 3: Crear un proyecto Firebase
Inicializar Firebase
Configure un proyecto Firebase y recupere el ID del proyecto necesario para la configuración de Singular .
- Abre la consola de Firebase: Ve a Consola de Firebase
- Crear proyecto: seleccione o cree un nuevo proyecto Firebase para su aplicación
- Busque la configuración del proyecto: haga clic en el icono de engranaje → Configuración del proyecto .
- Copiar el ID del proyecto: copie el ID de su proyecto desde la pestaña General (lo introducirá más tarde en Singular)
Paso 4: Habilite la API de Firebase Cloud Messaging
Activar la API HTTP v1
Habilite la API de Firebase Cloud Messaging (v1) para que su proyecto utilice el protocolo HTTP v1 moderno.
- Navega a Cloud Messaging: en la consola de Firebase, ve a Configuración del proyecto → pestaña Cloud Messaging
- Habilitar API: haga clic en «Habilitar» junto a la API de Firebase Cloud Messaging (V1)
- Verificar la activación: Confirme que el estado de la API aparece como «Habilitado»
Importante: la API de Firebase Cloud Messaging (V1) es diferente de la API de Cloud Messaging heredada. Asegúrese de habilitar la versión v1 correcta.
Paso 5: Crear una función IAM personalizada
Configurar los permisos de la cuenta de servicio
Cree una función IAM personalizada con permisos específicos para que Singular envíe notificaciones FCM para la detección de desinstalaciones.
- Acceda a IAM: en la configuración del proyecto de Firebase → Cuentas de servicio → Administrar permisos de la cuenta de servicio
- Abrir roles: Seleccione «Roles» en el menú de navegación izquierdo
- Crear rol: haga clic en el botón «Crear rol»
-
Configurar detalles del rol:
-
Título:
Singular Uninstall Tracking -
ID:
singular_uninstalls -
Etapa de lanzamiento del puesto:
General Availability
-
Título:
Añadir permiso necesario
Conceda al rol personalizado el permiso para enviar mensajes FCM.
- Añadir permisos: Haga clic en el botón «Añadir permisos».
- Filtrar permisos: Busque «Firebase Cloud Messaging API Admin»
-
Seleccionar permiso: Marcar
cloudmessaging.messages.create - Añadir al rol: haga clic en el botón «Añadir»
- Crear rol: haga clic en «Crear» para finalizar la creación del rol
Paso 6: Asignar cuenta de servicio Singular
Conceder acceso a Singular
Asigne el rol personalizado a la cuenta de servicio de Singular para autorizar las operaciones de seguimiento de desinstalación. .
- Abrir la página IAM: Seleccione «IAM» en el menú de navegación izquierdo
- Conceder acceso: haga clic en el botón «Conceder acceso» en la pestaña Permisos .
-
Añadir principal: en el campo «Nuevos principales», introduzca:
singular-uninstall-tracking@singular-uninstall-tracking.iam.gserviceaccount.com
Asignar función personalizada
Seleccione la función «Seguimiento de desinstalaciones singulares» creada en los pasos anteriores.
- Seleccionar rol: En «Asignar roles», busque y seleccione «Seguimiento de desinstalaciones singulares»
- Verificar configuración: Confirme que la configuración coincide con la captura de pantalla siguiente
- Guardar: haga clic en el botón «Guardar» para aplicar los permisos
Configuración final:
Paso 7: Configurar los ajustes de la aplicación Singular
Añadir el ID del proyecto a Singular
Introduzca su ID de proyecto de Firebase en la configuración de la aplicación Singular para habilitar el seguimiento de desinstalaciones.
- Abrir Singular Apps: Vaya a la página Singular Apps
- Seleccionar aplicación: Elija su aplicación Android de la lista
- Configuración avanzada: desplácese hasta la sección Configuración avanzada
- Seguimiento de desinstalaciones: Busque la configuración de seguimiento de desinstalaciones
- Introduce el ID del proyecto: Pega tu ID de proyecto de Firebase del paso 3
- Guardar: haga clic en Guardar para aplicar la configuración
Verificación: después de guardar, Singular validará el ID del proyecto y los permisos de IAM. Si la validación falla, compruebe la configuración de la cuenta de servicio en Firebase.
Prueba del seguimiento de desinstalaciones
Verifique que el seguimiento de desinstalaciones esté configurado correctamente antes de lanzar la aplicación actualizada a producción.
Procedimiento de prueba
Pasos de validación
- Instalar la versión de prueba: Implemente la aplicación con el seguimiento de desinstalaciones habilitado en el dispositivo de prueba
- Iniciar la aplicación: abrir la aplicación para activar la inicialización del SDK y el registro del token FCM
- Verificar el registro del token: compruebe los registros del SDK para verificar que el registro del token FCM con Singular se ha realizado correctamente
- Esperar el proceso por lotes: esperar entre 24 y 48 horas a que Singular envíe la primera notificación silenciosa
- Desinstalar la aplicación: elimine la aplicación del dispositivo de prueba
- Supervisar el panel de control: compruebe el panel de control de Singular después de 24-48 horas para ver si se ha producido el evento de desinstalación
Plazo de la prueba: el seguimiento de desinstalaciones se realiza por lotes y puede tardar hasta 48 horas en detectar y notificar las desinstalaciones. Este retraso es un comportamiento esperado.
Verificación del registro del SDK
Compruebe el logcat de Android para ver los mensajes del SDK de Singular que confirman la configuración correcta.
Mensajes de registro esperados:
D/SingularSDK: FCM token registered successfully
D/SingularSDK: Uninstall tracking enabled
D/SingularSDK: Token sent to Singular servers
Problemas comunes
| Problema | Causa | Solución |
|---|---|---|
| No se ha generado ningún token FCM | Firebase no está configurado correctamente |
Comprueba que google-services.json se encuentra en el directorio app/
y que el complemento Firebase se ha aplicado en build.gradle
|
| Errores de permiso denegado en los registros | Rol IAM no asignado correctamente | Compruebe que la cuenta de servicio de Singular tiene el rol «Singular Uninstall Tracking» en Firebase IAM |
| El token no llega a Singular | Conectividad de red o SDK no inicializado | Asegúrese de que la aplicación tiene permiso para acceder a Internet y que el SDK de Singular está inicializado antes de registrar el token FCM |
| Las desinstalaciones no aparecen en el panel de control | Retraso en el procesamiento por lotes o tiempo transcurrido insuficiente | Espere 48 horas completas después de la desinstalación de la aplicación antes de investigar más a fondo |
| Error de validación de la API en Singular | API HTTP v1 no habilitada en Firebase | Compruebe que la API de Firebase Cloud Messaging (V1) está habilitada en la configuración de Cloud Messaging |
API HTTP heredada (obsoleta)
La API HTTP heredada se desactivó el 22 de julio de 2024. Todas las implementaciones deben migrar a la API HTTP v1.
Descatalogada: la API HTTP heredada ya no funciona. Si utiliza la configuración heredada de clave de servidor, migre a la API HTTP v1 inmediatamente siguiendo las instrucciones anteriores.
Migración necesaria
Si su aplicación utiliza actualmente la API HTTP heredada con la configuración de clave de servidor e ID de remitente, siga estos pasos de migración:
- Revise la configuración actual: compruebe si la configuración de la aplicación Singular muestra el campo «Clave de servidor» en lugar de «ID de proyecto»
- Siga la configuración de HTTP v1: complete todos los pasos de la sección Configuración de la API HTTP v1 anterior
- Actualice la configuración de la aplicación: sustituya la clave de servidor por el ID del proyecto de Firebase en la configuración de Singular
- Pruebe la implementación: compruebe que el seguimiento de desinstalaciones funciona con la nueva configuración de la API v1
- Lanzar la actualización: implemente la aplicación actualizada para los usuarios de producción
Guía de migración: Migración de la API HTTP v1 de Firebase
Ventajas de la API HTTP v1
- Mayor seguridad: utiliza tokens de acceso OAuth 2.0 de corta duración en lugar de claves de servidor estáticas
- Mejor compatibilidad entre plataformas: estructura de mensajes unificada para Android, iOS y web
- Anulaciones específicas de la plataforma: personaliza el comportamiento de las notificaciones por plataforma en una sola solicitud
- Preparada para el futuro: compatibilidad continua con Firebase y nuevas funciones solo disponibles en la v1
- Mejora en el manejo de errores: respuestas de error más detalladas para la resolución de problemas
Análisis de datos de desinstalación
Utilice los datos de desinstalación en los informes de Singular para optimizar el rendimiento de las campañas e identificar problemas de calidad del tráfico.
Métricas disponibles
Métricas de seguimiento de desinstalaciones
- Recuento de desinstalaciones: número total de desinstalaciones de aplicaciones detectadas
- Tasa de desinstalación: porcentaje de instalaciones que dieron lugar a desinstalaciones
- Días hasta la desinstalación: tiempo medio entre la instalación y la desinstalación
- Desinstalaciones por fuente: desglose de las desinstalaciones por campaña, editor y creatividad
- Análisis de cohortes: patrones de desinstalación en diferentes cohortes de usuarios
Casos de uso
Optimización de campañas:
- Identificar campañas que generan tráfico de baja calidad con altas tasas de desinstalación .
- Comparar las tasas de desinstalación entre diferentes fuentes de tráfico
- Optimizar las estrategias de puja basándose en la retención de usuarios prevista
Detección de fraudes:
- Detecte patrones de desinstalación anormales que indiquen fraude en las instalaciones
- Marcar a los editores con tasas de desinstalación sospechosamente altas
- Supervise el tiempo hasta la desinstalación en busca de signos de tráfico de bots
Análisis de retención de usuarios:
- Realizar un seguimiento de la fidelidad y el compromiso con la aplicación a lo largo del tiempo.
- Correlacionar las desinstalaciones con las actualizaciones de la aplicación o el lanzamiento de nuevas funciones
- Identificar los factores que contribuyen a la pérdida de usuarios
Mejores prácticas
Estrategias de optimización
- Establecer puntos de referencia: Establecer umbrales de tasa de desinstalación aceptables para diferentes tipos de campañas
- Supervisar las tendencias: realizar un seguimiento de las tasas de desinstalación a lo largo del tiempo para identificar patrones estacionales o anomalías
- Análisis por segmentos: comparar las tasas de desinstalación entre los datos demográficos, las zonas geográficas y los dispositivos de los usuarios
- Ventanas de atribución: tener en cuenta el momento de la desinstalación al evaluar el rendimiento de la campaña
- Puntuación de calidad: incorporar las tasas de desinstalación en los modelos de puntuación de la calidad del tráfico