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.
Se requiere migración a Firebase: Firebase dejó obsoleta la API HTTP heredada y la cerró 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.
Visió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 monitorizando las respuestas de entrega para determinar si la aplicación permanece instalada en los dispositivos.
Proceso técnico:
- Registro de Token: Singular SDK registra tokens FCM con los servidores de Singular.
- Notificaciones silenciosas: Singular envía notificaciones push silenciosas periódicas a los dispositivos registrados
- Feedback de entrega: FCM informa del éxito o fracaso de la entrega
- Detección de desinstalación: Las entregas fallidas indican la desinstalación de la aplicación
- Registro de eventos: Evento de desinstalación atribuido 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 Google Play Services instalado
- Actualización de la aplicación: los usuarios deben instalar una versión actualizada de la aplicación con el seguimiento de desinstalaciones activado.
- 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.
- Preservación de la atribución: Las desinstalaciones se registran como eventos sin eliminar el enlace de atribución original. Los usuarios pueden desinstalar y volver a instalar 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 Singular.
- Dependencia de la red: Las notificaciones push silenciosas requieren una conexión de red activa. Los dispositivos desconectados durante periodos prolongados pueden retrasar la detección de desinstalaciones.
Uso compartido restringido por dominio
Si tu organización de Google tiene habilitada la función de uso compartido restringido de dominios, concede acceso a la organización de Singular para habilitar la función de seguimiento de desinstalaciones.
Configuración necesaria: Añade el ID de organización de Singular a la lista de valores permitidos de la política de uso compartido restringido de dominios.
Pasos de configuración:
- Acceda a las políticas de organización: Acceda a la página Políticas de la organización en Google Cloud Console.
- Seleccione Recurso: Elige la organización donde está configurada la política
- Buscar restricción: Localice la restricción "Uso compartido restringido por dominio
- Gestionar política: Haga clic en el botón "Gestionar política
- Añadir Organización Singular: En Valores de 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 de FCM para la detección de desinstalaciones.
Configuración de la API HTTP v1 (recomendada)
Configure el seguimiento de desinstalación utilizando la API HTTP v1 de Firebase Cloud Messaging con seguridad mejorada a través de tokens de acceso OAuth 2.0 y soporte de mensajería multiplataforma mejorado.
¿Por qué HTTP v1? La API v1 proporciona mayor seguridad a través de tokens de acceso de corta duración, personalización multiplataforma más eficiente y soporte continuo de Firebase para nuevas características. 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
Actualice a SDK de Android 7.0 o superior para habilitar la funcionalidad de seguimiento de desinstalación.
Configuración de Gradle:
dependencies {
// Singular SDK de Android 7.x+
implementation("com.singular.sdk:singular_sdk:12.6.2")
}
Guía deintegración completa: SDK de Android Integration Guide
Paso 2: Configurar AndroidManifest.xml
Añadir receptor FCM
Configure el manifiesto de Android para recibir notificaciones de FCM para la detección de desinstalaciones.
<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>
<!-- Singular FCM Receiver Service -->
<service
android:name="com.singular.sdk.SingularFcmService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
</application>
</manifest>
Configuración detallada del manifiesto: Guía de seguimiento de desinstalación de SDK de Android
Paso 3: Crear proyecto Firebase
Inicializar Firebase
Configure un proyecto Firebase y recupere el ID de proyecto necesario para la configuración de Singular.
- Abra la Consola Firebase: Navegue a la Consola Firebase
- Crear Proyecto: Selecciona o crea un nuevo proyecto Firebase para tu app
- Localiza los Ajustes del proyecto: Haz clic en el icono de engranaje → Configuración del proyecto
- Copia el ID del proyecto: Copia tu ID de proyecto de la pestaña General (lo introducirás en Singular más tarde)
Paso 4: Activar la API de mensajería en la nube de Firebase
Activar la API HTTP v1
Activa la API Firebase Cloud Messaging (v1) para que tu proyecto utilice el moderno protocolo HTTP v1.
- Navega a Cloud Messaging: En la Consola Firebase, ve a Configuración del proyecto → pestaña Mensajería en la nube.
- Habilitar API: Haz clic en "Activar" junto a Firebase Cloud Messaging API (V1).
- Verifique la activación: Confirma que el estado de la API se muestra como "Activado"
Importante: La API de mensajería en la nube Firebase (V1) es diferente de la API de mensajería en la nube heredada. Asegúrese de activar la versión v1 correcta.
Paso 5: Crear Rol IAM Personalizado
Configurar Permisos de Cuenta de Servicio
Cree un rol IAM personalizado con permisos específicos para que Singular envíe notificaciones FCM para la detección de desinstalaciones.
- Accede a IAM: En Configuración del proyecto Firebase → Cuentas de servicio → Gestionar permisos de cuentas de servicio .
- Abra Roles: Selecciona "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 rol:
General Availability
-
Título:
Añadir permiso requerido
Conceder al rol personalizado 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: Marque
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 Singular Service
Conceder acceso a Singular
Asigne el rol personalizado a la cuenta de servicio de Singular para autorizar las operaciones de seguimiento de desinstalación.
- Abra la página IAM: Seleccione "IAM" en el menú de navegación de la izquierda
- Conceder acceso: Haga clic en el botón "Conceder acceso" de la pestaña Permisos.
-
Añadir entidad de seguridad: En el campo "Nuevas entidades de seguridad", introduzca:
singular-uninstall-tracking@singular-uninstall-tracking.iam.gserviceaccount.com
Asignar rol personalizado
Seleccione el rol "Seguimiento de desinstalación singular" creado en pasos anteriores.
- Seleccionar rol: En "Asignar roles", busque y seleccione "Seguimiento de desinstalación singular".
- Verifique la 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 Singular App
Añadir ID de proyecto a Singular
Introduzca su ID de proyecto Firebase en la configuración de la app de Singular para habilitar el seguimiento de desinstalación.
- Abra Singular Apps: Navegue a la página de Singular Apps
- Seleccione App: Elige tu aplicación Android de la lista
- Configuración avanzada: Desplácese hasta la sección Configuración avanzada
- Desinstalar Seguimiento: Localice la configuración de Desinstalar Seguimiento
- Introducir ID de proyecto: Pegue su ID de Proyecto 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 IAM. Si la validación falla, vuelva a comprobar la configuración de la cuenta de servicio en Firebase.
Probar el seguimiento de desinstalación
Verifique que el seguimiento de desinstalación esté configurado correctamente antes de lanzar la aplicación actualizada a producción.
Procedimiento de prueba
Pasos de validación
- Instale la compilación de prueba: Implemente la aplicación con el seguimiento de desinstalación activado en el dispositivo de prueba.
- Inicie 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 en los registros del SDK si el token FCM se ha registrado correctamente en Singular.
- Espere al proceso por lotes: Espere entre 24 y 48 horas a que Singular envíe la primera notificación silenciosa.
- Desinstalar aplicación: Eliminar la aplicación del dispositivo de prueba
- Monitorizar panel: Compruebe el panel de Singular después de 24-48 horas para el evento de desinstalación
Calendario de pruebas: El seguimiento de la desinstalación se basa en lotes y puede tardar hasta 48 horas en detectar e informar de las desinstalaciones. Este retraso es un comportamiento esperado.
Verificación del registro SDK
Compruebe los mensajes del SDK de Singular en el logcat de Android para confirmar que la configuración es 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 |
Verifique que google-services.json esté en el directorio app/y que el plugin Firebase esté aplicado en build.gradle |
| Errores de permiso denegado en los registros | Rol IAM no asignado correctamente | Compruebe que la cuenta del servicio Singular tiene el rol "Singular Uninstall Tracking" en Firebase IAM |
| Token no llega a Singular | Conectividad de red o SDK no inicializado | Asegúrese de que la aplicación tiene permiso de Internet y de que el SDK de Singular está inicializado antes de registrar el token de FCM. |
| Las desinstalaciones no aparecen en el panel de control | Retraso en el procesamiento por lotes o tiempo insuficiente transcurrido | Espere 48 horas desde la desinstalación de la aplicación antes de seguir investigando. |
| Fallo de validación de API en Singular | API HTTP v1 no habilitada en Firebase | Compruebe que la API de mensajería en la nube de Firebase (V1) está habilitada en la configuración de mensajería en la nube. |
API HTTP heredada (obsoleta)
La API HTTP heredada se cerró el 22 de julio de 2024. Todas las implementaciones deben migrar a la API HTTP v1.
Descontinuada: La API HTTP heredada ya no es funcional. Si está utilizando una configuración de clave de servidor heredada, 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 Singular app muestra el campo "Server Key" en lugar de "Project ID"
- Siga la configuración 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: Sustituir Server Key por Firebase Project ID en la configuración de Singular
- Pruebe la implementación: Verificar que el seguimiento de desinstalación funciona con la nueva configuración de la API v1
- Actualización de la versión: Despliegue la aplicación actualizada a los usuarios de producción
Guía de migración: Migración a la API HTTP v1 de Firebase
Ventajas de la API HTTP v1
- Seguridad mejorada: Utiliza tokens de acceso OAuth 2.0 de corta duración en lugar de claves de servidor estáticas.
- Mejor soporte multiplataforma: Estructura de mensajes unificada para Android, iOS y web
- Modificaciones específicas de plataforma: Personaliza el comportamiento de las notificaciones por plataforma en una única solicitud
- A prueba de futuro: Soporte continuo de Firebase y nuevas características sólo disponibles en v1
- Manejo de errores mejorado: 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 la campaña 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 resultaron en desinstalaciones
- Días hasta la desinstalación: Tiempo medio transcurrido entre la instalación y la desinstalación
- Desinstalaciones por fuente: Desglose de desinstalaciones por campaña, editor, creatividad
- Análisis de cohortes: Patrones de desinstalación en diferentes cohortes de usuarios
Casos prácticos
Optimización de campañas:
- Identificación de campañas que generan tráfico de baja calidad con altos índices de desinstalación.
- Comparar las tasas de desinstalación de diferentes fuentes de tráfico
- Optimizar las estrategias de puja en función de la retención de usuarios prevista
Detección de fraudes:
- Detecte patrones de desinstalación anormales que indiquen fraude en la instalación
- Marcar editores con tasas de desinstalación sospechosamente altas
- Supervisar el tiempo transcurrido hasta la desinstalación para detectar indicios de tráfico de bots
Análisis de retención de usuarios:
- Seguimiento de la adherencia y compromiso con la aplicación a lo largo del tiempo
- Correlacione las desinstalaciones con las actualizaciones de la aplicación o los lanzamientos de funciones.
- Identificar los factores que contribuyen a la pérdida de usuarios
Mejores prácticas
Estrategias de optimización
- Establezca puntos de referencia: Establecer umbrales aceptables de tasa de desinstalación para diferentes tipos de campaña
- Seguimiento de tendencias: Realice un seguimiento de las tasas de desinstalación a lo largo del tiempo para identificar patrones estacionales o anomalías.
- Análisis de segmentos: Compare las tasas de desinstalación entre usuarios demográficos, geográficos y dispositivos.
- Ventanas de atribución: Tenga en cuenta el momento de la desinstalación al evaluar el rendimiento de la campaña.
- Puntuación de calidad: Incorpore las tasas de desinstalación a los modelos de puntuación de la calidad del tráfico