que notification apple ios push-notification apple-push-notifications

ios - que - Confiabilidad APNS(Apple Push Notification Service)



push notification ios firebase (4)

  1. APNS está basado en Servidores Apple, y Apple no ofrece ninguna garantía sobre la entrega exitosa de mensajes.
  2. Si la aplicación está abierta (es decir, el usuario está usando la aplicación) mientras llega la notificación, iOS no muestra un mensaje de notificación, debe manejarlo.
  3. La notificación se muestra solo cuando la aplicación está en segundo plano o muerta.
  4. También implemente el servicio de comentarios en su lado del servidor; lo ayudará a deshacerse de tokens no deseados antiguos (usuarios que eliminaron la aplicación o deshabilitaron las notificaciones a través de la configuración).
  5. No envíe demasiadas notificaciones a un dispositivo dentro de un corto espacio de tiempo, porque APNS almacena en caché solo 1 mensaje / dispositivo (si el dispositivo está fuera de línea). Por lo tanto, puede entregar el mensaje cuando el dispositivo se conecta. No estoy seguro de cuánto tiempo el mensaje está en caché.

O simplemente implemente Pusher ... http://pusher.com

Nuestra aplicación usa APNS para recibir notificaciones automáticas. Sin embargo, nuestro cliente afirma que algunos de sus dispositivos no estaban recibiendo notificaciones y argumenta que ''deben'' asegurarse de que las notificaciones se entreguen al 100%. Pero he leído en somewhere que APNS no es 100% confiable y que debería haber casos en los que las notificaciones no se entregan.

Actualmente me da pánico saber cómo podemos asegurarnos de que APNS se reciba en cualquier momento. He leído un caso que puede APNS no entregado (el dispositivo puede estar fuera de línea). Pero nuestra prueba muestra que incluso el dispositivo está en línea (Wifi o 3G), a veces no se entregan APNS.

¿Hay algún caso específico que pueda APNS no se entregará? ¿O hay algo que nosotros (los desarrolladores) podemos hacer con los códigos para asegurarnos de recibir todas las notificaciones? Lo que he hecho en el código es simplemente registrar la aplicación para notificación remota y escribir didRegisterForRemoteNotificationsWithDeviceToken, luego arrojar el token del dispositivo a nuestro servidor.

Cualquier ayuda sería apreciada, ¡porque nuestro cliente casi nos mata si TODOS sus dispositivos no reciben APNS!


En los documentos de Apple, dice claramente que no está garantizado al 100% y tampoco debe utilizarse como tal. Se envía con "mejor esfuerzo".


Estamos enfrentando el mismo problema. Como todos dijeron, APNS es un servicio de mejor esfuerzo por lo que no puede estar seguro de que se entregarán todas las notificaciones, pero lo que puede hacer es estar seguro de cuáles se han recibido. Esto es lo que estamos a punto de hacer. Registramos en nuestro back-end cada envío de notificación y la aplicación móvil informa cada notificación que recibe. Luego establecemos un tiempo máximo de espera para que se reciba una notificación. Si no recibimos el informe, lo intentamos de nuevo.

Espero que pueda ser útil para alguien (incluso 2 años después)


Según las pautas de Apple, APNS no es un servicio 100% confiable, lo que significa que su aplicación puede no recibir notificaciones push de los servidores de Apple debido a algunas de las siguientes razones:

  • El dispositivo está fuera de línea
  • Su aplicación está en primer plano, necesita administrar la notificación de inserción.

Nota: Apple rechaza la aplicación que hace compulsión usando servicios de notificación. (Lo he enfrentado en una de mis aplicaciones)

Para más información, puedes ver esta respuesta

https://.com/a/25830955/3278326