tutorial signal one notification notificaciones iphone ios push-notification apple-push-notifications

iphone - notification - onesignal ios ionic



Comportamiento de notificaciones push de iOS cuando la aplicaciĆ³n se elimina y luego reinstalada (2)

Me encontré con un escenario inusual en el que un usuario continúa recibiendo notificaciones cuando mi aplicación se ha eliminado y luego reinstalado. El escenario es el siguiente:

  • el usuario instala la aplicación desde la tienda de aplicaciones
  • el usuario inicia sesión en nuestra aplicación y los registramos para recibir notificaciones
  • el usuario borra la aplicación de su dispositivo
  • el usuario reinstala la aplicación desde la tienda de aplicaciones
  • el usuario recibe una notificación aunque aún no haya iniciado la aplicación, haya iniciado sesión, etc.

Mi comprensión de la arquitectura de APNs fue que una vez que su aplicación se eliminó de su dispositivo, el SO la anuló del registro de los APN. Una reinstalación de la aplicación no volvería a habilitar las notificaciones hasta que haya llamado a "registerForRemoteNotificationTypes", por lo que si se envió una nota al dispositivo utilizando el token antiguo, las APN no lo entregarán ya que no se ha llamado al método anterior.

¿No es eso exacto?


Cuando elimina la aplicación, el sistema operativo no lo "anula" de APNS. Debe enviar una notificación a un dispositivo que haya eliminado la aplicación para "cancelarla". Esto puede tomar algunos intentos de APNS hasta que se dé cuenta de que la aplicación se ha eliminado.


El token sigue siendo el mismo. Es lo mismo para todas las aplicaciones en el dispositivo. Solo cambia cuando cambia la versión del sistema operativo. Sin embargo, eso todavía no explica el extraño comportamiento que encontraste.

Creo que solo después de que Apple identifique que la aplicación se ha desinstalado del dispositivo (lo que generalmente sucede cuando envía una notificación a la aplicación en un dispositivo específico después de que el dispositivo la desinstaló), la desinstala. Si no se enviaron notificaciones a la aplicación en el dispositivo que desinstaló la aplicación entre el momento de la desinstalación y el momento de la nueva instalación, Apple no sabe que el dispositivo haya desinstalado la aplicación y, por lo tanto, todavía está registrada para APNS.

El comportamiento del servicio de comentarios respalda mi teoría: si desinstala la aplicación y llama al servicio de comentarios, no obtendrá el token del dispositivo que desinstaló la aplicación. Solo después de intentar enviar una notificación a ese dispositivo, Apple detectará la desinstalación y devolverá el token del dispositivo en el servicio de comentarios.

Una última cosa que debería agregar: si la aplicación desinstalada es la última en el dispositivo que se registró para las notificaciones automáticas, el servicio APN nunca sabrá que la aplicación fue desinstalada y, por lo tanto, aún se registrará para APN después de ser reintegrada. instalado