2011-12-22 8 views
18

He estado buscando información para las notificaciones push de Apple para un cliente y algo a lo que no he podido responder es cuánto tiempo permanecerá en espera una notificación de inserción para un dispositivo fuera de línea antes de que se elimine .¿Cuánto tiempo permanece una notificación de inserción en cola antes de ser eliminada?

Puede haber largos períodos de tiempo, 2-3 meses por ejemplo, en los que el dispositivo puede estar inactivo y apagado. Simplemente estoy interesado en saber cuánto tiempo puedo esperar para que una notificación permanezca, esperando ser entregada a un dispositivo sin conexión, antes de que se elimine automáticamente (que es lo que entiendo que es lo que sucede).

+1

Para estar seguro, su servidor podría exponer un punto final API a su aplicación que le permite a su aplicación sondear directamente su servidor en el lanzamiento de un conjunto de notificaciones desde una fecha específica. –

+1

Si los servidores APNS que almacenan el mensaje durante mucho tiempo son un problema, ¿por qué no envía una notificación de inserción "vacía" para caducar el mensaje manualmente? La QoS en APNS solo pondrá en cola un mensaje. –

Respuesta

17

La documentación oficial del desarrollador no es clara al respecto. De developer.apple.com:

de Apple Push Notification Service incluye una calidad de servicio por omisión (QoS) componente que realiza una función de almacenamiento y reenvío. Si el APN intenta enviar una notificación pero el dispositivo está fuera de línea, la QoS almacena la notificación. Conserva solo una notificación por aplicación en un dispositivo: la última notificación recibida de un proveedor para esa aplicación. Cuando se reconecta el dispositivo fuera de línea , la QoS reenvía la notificación almacenada al dispositivo. La QoS conserva una notificación por un período de tiempo limitado antes de eliminar .

Pero de acuerdo con PCWorld, es de 28 días:

Si la aplicación se está ejecutando, se pone la notificación de inmediato. Si la aplicación no se está ejecutando, la notificación se llevará a cabo en el teléfono para que sea consumida en el próximo lanzamiento de la aplicación. Si el iPhone está fuera de línea cuando el remitente intenta la entrega, APNS intenta enviar la notificación para 28 días.

Si bien 28 días pueden haber sido ciertos en 2009, no me sorprendería que sea diferente hoy. La ambigüedad en la documentación es una gran excusa para que Apple cambie este período de tiempo improvisado.

+0

Gracias. Había leído entre 28 y 30 días, y sí, vi la documentación ambigua oficial que básicamente decía 'eventualmente'. ¡Gracias por la confirmación! – NicholasTGD

+2

Para verificar esto necesitaría 28-30 iPhones apagados con notificaciones en cola para cada uno. Luego encienda uno cada día hasta que no reciba el mensaje. Realmente no nos lo pusieron fácil ... – paislee

+1

Entonces, si enviara una nueva notificación a un dispositivo que ya tenía uno alineado ... ¿la nueva notificación se pondría en cola y la de la cola se eliminaría? ¿Correcto? – Jeremy

2

Al cavar los documentos descubrí que podemos usar el parámetro 'fecha de caducidad' para controlar la puesta en cola de las notificaciones APNS.

Here es la explicación detallada sobre el uso de la fecha de caducidad

apns-expiration

A UNIX fecha época expresa en segundos (UTC). Este encabezado identifica la fecha en que la notificación ya no es válida y puede descartarse.

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, APN trata la notificación como si caducara de inmediato y no almacena la notificación ni intenta volver a entregarla.

+2

¿dónde? su url no está activo o no es válido – Shamsiddin

+0

Se corrigió el enlace. – Zano

+0

Lamentablemente, esta documentación no garantiza nada sobre la retención. Si especifico una fecha de vencimiento de 10 años en el futuro, dudo mucho que el servicio lo conserve durante tanto tiempo. Además, la documentación omite mencionar lo que sucede si no se especifica la fecha de caducidad. – augurar

Cuestiones relacionadas