Cómo rastrear la desinstalación de la aplicación de manera efectiva

codesfirst

Android, iOS, Móvil

Puede detectar las desinstalaciones de aplicaciones mediante el envío de notificaciones automáticas “silenciosas”. Las notificaciones automáticas silenciosas son aquellas notificaciones que no se procesan en el dispositivo del usuario. Puede enviar una notificación push silenciosa todos los días a todos los dispositivos con su aplicación para rastrear las desinstalaciones.

{ 
  "registration_ids":[ "token-fcm"], 
  "data": { 
            "type": "track-uninstall" 
          } 
}

Revisemos cómo funciona normalmente el seguimiento de desinstalación en cada plataforma.

Detectar desinstalaciones de Android

  • Envíe una notificación push silenciosa al servidor GCM (Google Cloud Messaging). Mantenga la carga útil de la notificación push vacía, ya que no desea que el mensaje vacío aparezca en el dispositivo del usuario.
  • El servidor GCM enviará un mensaje o consultará el dispositivo.
  • El cliente de GCM recibirá el mensaje y consultará al administrador de paquetes si hay receptores de transmisión configurados para recibirlo.
  • Este mensaje devuelve una bandera falsa.
  • El cliente de GCM luego informará al servidor de GCM que la aplicación se ha desinstalado.
  • El GCM devolverá un NotRegisterederror ” ” que indica que la aplicación se ha desinstalado.
flujo de desinstalación de aplicaciones

Detectar desinstalaciones de iOS

  • Detectar desinstalaciones en iOS es mucho más simple, ya que los APN (servicio de notificaciones push de Apple) tienen un servicio de comentarios donde Apple informa cualquier token de dispositivo que ya no está activo en el dispositivo del usuario.
  • Envíe una notificación push en blanco a los APN manteniendo la carga útil vacía.
  • El servicio de comentarios de APN le permite descubrir tokens de dispositivos que ya no están activos.
  • Como desarrollador, sondee el servicio de comentarios de APN y detecte qué dispositivos no son válidos.
  • Una vez detectados, estos usuarios se pueden marcar como desinstalados.

Formas alternativas de rastrear las desinstalaciones de aplicaciones

Para Android

Enviar un ping diario desde el dispositivo

En este caso, ejecutaría un servicio en el dispositivo y haría ping al servidor una vez al día (o cada hora, si es muy agresivo) para confirmar que la aplicación todavía existe en el dispositivo. Esta es una solución que funciona pero no es elegante.

Esta es la razón por la que no debería optar por este enfoque:

  • Ejecutar un servicio de forma permanente en segundo plano acaparará la memoria y los usuarios a los que no les gustan las aplicaciones que se ejecutan en segundo plano innecesariamente podrían desinstalar la aplicación.
  • Los usuarios se sienten más cómodos con los teléfonos inteligentes y ahora usan administradores de tareas inteligentes que pueden cancelar su servicio o incluso no permitir que se ejecute una vez que se dan cuenta de que no está afectando directamente su oferta principal. Como ejemplo, si se trata de una aplicación de calculadora, eliminar el servicio de ping de desinstalación en segundo plano no tiene ningún efecto sobre la capacidad de la aplicación.
  • Otro problema que podría desanimar a ciertos usuarios es que el envío continuo de datos consumirá sus planes de datos.
  • La mayoría de los dispositivos de gama baja que tienen poca memoria eliminarán las aplicaciones para dar prioridad a las aplicaciones de primer plano y los servicios prioritarios que se están ejecutando.

Usando la transmisión ACTION_PACKAGE_REMOVED

Puede registrar un receptor que se invocará cuando se desinstale la aplicación, pero lamentablemente la intención ACTION_PACKAGE_REMOVED se enviará a todos los receptores excepto a su propio receptor de transmisión 🙁
Lea cómo funciona

Usar FCM o GCM

  • El FCM enviará un mensaje de error que dice ” NotRegistered” cuando se dé cuenta de que la aplicación está desinstalada; tenga en cuenta que esto puede demorar algunas horas después de la desinstalación real; por lo general, esto sucede dentro de las primeras 4 horas.
  • Tenga en cuenta: siempre regístrese para obtener un token una vez; hacerlo dos veces provocará un comportamiento inesperado.
  • Si ha registrado el dispositivo con el mismo ID de remitente y usa la clave de servidor correspondiente para enviar los mensajes, es raro que vea algún problema relacionado con este enfoque en el seguimiento de las desinstalaciones. Sin embargo, si no usa el ID del remitente correspondiente a su clave de servidor GCM, puede hacer que GCM informe “ NotRegistered” y esto puede llevar a deducir incorrectamente que el usuario ha desinstalado.
  • Nota: la práctica general para registrarse para tokens es el primer lanzamiento de la aplicación y luego cada vez que actualiza la aplicación.

para iOS

Enviar un ping diario desde el dispositivo

En iOS, su aplicación puede, de hecho, ejecutarse en segundo plano periódicamente. Sin embargo, los casos para esto son la frecuencia de uso de la aplicación y cuándo se está cargando el teléfono. Allí, esto no es realmente una opción viable. También debe tener un caso de uso legítimo: el seguimiento de desinstalación probablemente no funcione bien con el proceso de revisión de la aplicación de Apple.

Enviar una notificación silenciosa de iOS con content-availablebandera y tener el modo de fondo habilitado. En este modo, puede comunicarse con su servidor para hacer un “ping”, sin embargo, no se garantiza que su aplicación se despierte.

Enviar notificaciones

Al enviar notificaciones automáticas mediante HTTP/2, recibirá una respuesta. Error Code 410Esto indicaría que el usuario desinstaló la aplicación.

Otros matices relacionados con el seguimiento de las desinstalaciones

  • ¿Qué sucede si el dispositivo del usuario está apagado o si no se puede localizar al usuario cuando desinstala la aplicación?
    Si GCM ya sabe que la aplicación está desinstalada, devolverá “ NotRegistered. De lo contrario, pondrá en cola el mensaje para su entrega. Cuando el dispositivo vuelva a estar en línea y la aplicación aún esté instalada, se entregará el mensaje. De lo contrario, si se desinstala la aplicación, GCM ahora marcará este token para su eliminación y las notificaciones posteriores para este dispositivo recibirán la NotRegisteredrespuesta ” “. 
  • ¿Sabemos si se reinstalan?
    Almacene su propio UID persistente generado en el llavero de iOS o en la copia de seguridad del valor de la clave de Android, luego utilícelo para verificar cuándo el usuario reinstala la aplicación.

Leave a Comment

Somos una comunidad muy pequeña, novata pero con ganas de aprender, que busca ayudar a las personas a mejorar sus habilidades profesionales.

Resources

Blog

FAQ

Contact

CodesFirst

Ecuador, Guayaquil