ios - sistema - ¿Cuánto tiempo hace una notificación de inserción en cola antes de ser eliminada?
sistema urinario resumen (2)
He estado buscando y tratando de descubrir algunos datos para las notificaciones push de Apple para un cliente y algo que no he podido encontrar una respuesta es cuánto tiempo quedará en cola una notificación push para un dispositivo sin conexión antes de que se elimine.
Puede haber largos periodos de tiempo, por ejemplo, 2-3 meses, en los que el dispositivo puede estar inactivo y apagado. Simplemente me interesa saber cuánto tiempo puedo esperar para que se prolongue una notificación, a la espera de ser entregada a un dispositivo fuera de línea, antes de que se elimine automáticamente (lo que entiendo es lo que sucede).
Al excavar los documentos descubrí que podemos usar el parámetro ''fecha de caducidad'' para controlar la puesta en cola de las notificaciones de APNS.
Here está la explicación detallada sobre el uso de la fecha de vencimiento
apns-expiration
Una fecha de época de UNIX expresada en segundos (UTC). Este encabezado identifica la fecha en que la notificación ya no es válida y se puede descartar.
Si este valor es distinto de cero, APN almacena la notificación e intenta entregarla al menos una vez, repitiendo el intento según sea necesario si no puede entregar la notificación la primera vez. Si el valor es
0
, los APN tratan la notificación como si expirara inmediatamente y no almacenan la notificación ni intentan volver a enviarla.
La documentación oficial del desarrollador no está clara al respecto. Desde developer.apple.com :
El servicio de notificaciones push de Apple incluye un componente de calidad de servicio (QoS) predeterminado que realiza una función de almacenamiento y reenvío. Si APN intenta enviar una notificación pero el dispositivo está fuera de línea, la QoS almacena la notificación. Solo retiene una notificación por aplicación en un dispositivo: la última notificación recibida de un proveedor para esa aplicación. Cuando el dispositivo fuera de línea vuelve a conectarse, la QoS reenvía la notificación almacenada al dispositivo. La QoS conserva una notificación por un período limitado antes de eliminarlo.
Pero según PCWorld , son 28 días:
Si la aplicación se está ejecutando, recibe la notificación inmediatamente. Si la aplicación no se está ejecutando, la notificación se mantiene en el teléfono para que se consuma en el próximo lanzamiento de la aplicación. Si el iPhone está desconectado cuando el remitente intenta la entrega, APNS intenta enviar la notificación durante 28 días.
Si bien 28 días pueden haber sido ciertos en 2009, no me sorprendería si hoy fuera diferente. La ambigüedad en la documentación es una gran excusa para que Apple cambie este período de tiempo de espera, sin quererlo.