tag register notification hub azure push-notification azure-notificationhub

register - Tiempo de registro de Azure Notification Hubs(límite de 90 días)



azure notification hub installation model (3)

Puede actualizar sus registros desde la aplicación o desde su servidor. Si lo hace desde su aplicación, la aplicación debe ser iniciada por el usuario para que el registro se actualice.

Por lo tanto, si requiere que los registros del dispositivo permanezcan activos incluso para las aplicaciones que no se iniciaron durante más de 90 días, debe actualizar el registro a través de su servidor y ejecutar una tarea en su servidor que actualice los tokens parece ser su única opción .

Acepto que la decisión de los Hubs de Notificación de expirar los tokens parece extraña. Quizás tenían en mente el comportamiento de los canales de notificación de MPNS (Servicio de notificación de Microsoft), que caducan con más frecuencia que los tokens de dispositivos APNS o los ID de registro de GCM.

Ahora estoy usando la biblioteca PushSharp para enviar notificaciones push de Apple (a través de APNS), pero quiero migrar a Notification Hubs para obtener robustez y escalabilidad.

Estoy planeando implementar el envío de notificaciones a través de Azure Notification Hubs usando el registro de back-end como se describe en este artículo . Asi que:

  1. Existe un método de API de back-end que un cliente iOS llama cuando tiene token de inserción actualizado. En este método hago el registro etiquetándolo con la identificación del usuario. (Anteriormente, almacené el token de inserción en el enlace del usuario en la base de datos).
  2. Cuando tengo que enviar una notificación para un usuario específico, la envío usando la etiqueta (identificación de usuario). (Anteriormente, utilicé el token de dispositivo APNS de DB).

Parece una solución funcional, pero en la documentación de los Hubs de Notificación se dice:

Es importante tener en cuenta que los registros son transitorios. De forma similar a los identificadores de PNS que contienen, los registros caducan. Puede establecer el tiempo de vida para un registro en el centro de notificaciones, hasta un máximo de 90 días. Este límite significa que deben actualizarse periódicamente, y también que no deben ser la única tienda de información importante. Esta expiración automática también simplifica la limpieza cuando se desinstala su aplicación móvil.

Y ese es el problema. A veces necesito enviar notificaciones a los dispositivos que no han actualizado el token durante 90 días, y así sucesivamente, el registro. Entonces, el token APNS seguirá activo, pero el registro del Notification Hub se invalidará. Así que simplemente pierdo el canal de comunicación para el usuario.

Como manejas esto?

Por supuesto, aún puedo almacenar tokens en DB y hacer un trabajo que actualice los registros periódicamente. Pero eso no es lo que espera de una solución de notificación push como Notification Hubs.


Solo una nota rápida, ya que la respuesta es de 2 años. En esta publicación de blog, Azure afirma:

Es importante tener en cuenta que los registros e instalaciones por defecto ya no caducan.

Supongo que esto hace que el campo de expiración sea confuso, pero ya no es un problema.

ACTUALIZAR

Los centros de notificación anteriores todavía tienen este problema. Necesita actualizarlos para establecer el vencimiento hasta el infinito, las instrucciones se encuentran en esta publicación en el foro . Los nuevos concentradores se configuran automáticamente en infinito.


Según la última documentación del concentrador de notificaciones, este límite de 90 días ha aumentado a la duración, lo que significa que no necesita volver a registrar el dispositivo después de 90 días.