¿Qué es Azure Notification Hubs?

Azure Notification Hubs proporciona un motor de inserción de escalabilidad horizontal y fácil uso que le permite enviar notificaciones a cualquier plataforma (iOS, Android, Windows, etc.) desde cualquier back-end (en la nube o local). Notification Hubs funciona muy bien tanto para escenarios empresariales como de consumidores. Estos son algunos escenarios de ejemplo:

  • Enviar notificaciones de noticias de última hora a millones de usuarios con baja latencia.
  • Enviar cupones basados en la ubicación a segmentos de usuarios interesados.
  • Enviar notificaciones relacionadas con eventos a usuarios o grupos para aplicaciones de medios, deportivas, de finanzas o de juegos.
  • Inserte contenido promocional en aplicaciones para ponerse en contacto y comercializar con clientes.
  • Informar a los usuarios sobre eventos empresariales como nuevos mensajes o elementos de trabajo.
  • Enviar códigos para Multi-Factor Authentication.

Nota

Para obtener información sobre los pasos de desuso y migración de Firebase Cloud Messaging, consulte Migración de Google Firebase Cloud Messaging.

¿Qué son las notificaciones push?

Las notificaciones push son una forma de comunicación de aplicación a usuario, en la que los usuarios de aplicaciones móviles reciben notificaciones que contienen determinada información que el usuario desea, esta generalmente se muestra en un cuadro de diálogo o una ventana emergente en el dispositivo móvil. Normalmente, los usuarios eligen ver o descartar el mensaje; si eligen lo primero, se abrirá la aplicación móvil que les ha comunicado la notificación. Algunas notificaciones son silenciosas, es decir, que se entregan en segundo plano para que la aplicación las procese en segundo plano y decida qué hacer.

Las notificaciones push son vitales para las aplicaciones de consumidor, ya que aumentan el uso y la interacción de las aplicaciones, así como para las aplicaciones empresariales, ya que comunican información empresarial actualizada. Es la mejor forma de comunicación de aplicación a usuario porque ahorra energía para los dispositivos móviles, es flexible para los remitentes de notificaciones y está disponible cuando las aplicaciones correspondientes no están activas.

Nota

Azure Notification Hubs no es compatible oficialmente con las notificaciones push de Voz sobre IP (VoIP); sin embargo, este artículo describe cómo puede usar las notificaciones de VoIP de APNS mediante Azure Notification Hubs.

Para obtener más información acerca de las notificaciones push de algunas plataformas populares, consulte los temas siguientes:

Funcionamiento de las notificaciones push

Las notificaciones push se entregan a través de unas infraestructuras específicas para la plataforma llamadas Sistemas de notificación de plataforma (PNS). Ofrecen funcionalidades de inserción básicas para la entrega de un mensaje a un dispositivo con un manipulador que se proporciona y no tienen ninguna interfaz común. Para enviar una notificación a todos los clientes en versiones de Android, iOS y Windows de una aplicación, el desarrollador tiene que trabajar por separado con Apple Push Notification Service (APNS), Firebase Cloud Messaging (FCM) y el Servicio de notificaciones de Windows (WNS).

A continuación se muestra cómo funciona la inserción, a nivel general:

  1. Una aplicación desea recibir una notificación, por lo que se pone en contacto con el PNS para la plataforma de destino en la que la aplicación se está ejecutando y solicita un manipulador de inserción único y temporal. El tipo de identificador depende del sistema (por ejemplo, WNS usa URI, mientras que APNS usa tokens).
  2. La aplicación cliente almacena este identificador en el back-end o el proveedor de la aplicación.
  3. Para enviar una notificación push, el back-end de la aplicación se pone en contacto con el PNS a través del identificador para dirigirse a una aplicación cliente específica.
  4. El PNS reenvía la notificación al dispositivo que especifica el identificador.

Flujo de trabajo de las notificaciones push

Los desafíos de las notificaciones push

Los PNS son potentes. No obstante, exigen mucho trabajo al desarrollador de aplicaciones para poder implementar incluso escenarios comunes de notificaciones push, como la difusión de notificaciones push a usuarios segmentados.

El envío de notificaciones push requiere una infraestructura compleja que no está relacionada con la lógica de negocios principal de la aplicación. Algunos de los desafíos que presenta la infraestructura son:

  • Dependencia de la plataforma
    • El back-end requiere una lógica, dependiente de la plataforma, compleja y difícil de mantener para enviar notificaciones a dispositivos de distintas plataformas, ya que los PNS no están unificados.
  • Escala
    • Según las directrices de PNS, los tokens de dispositivo se tienen que actualizar cada vez que se inicia la aplicación. El back-end trata con una gran cantidad de tráfico y acceso de bases de datos solo para mantener actualizados los tokens. Cuando el número de dispositivos aumenta a centenares, millares o millones, la creación y el mantenimiento de esta infraestructura supone un costo enorme.
    • La mayoría de los PNS no son compatibles con la difusión a varios dispositivos. Una simple difusión a un millón de dispositivos genera un millón de llamadas a los PNS. El escalado de esta cantidad de tráfico con una latencia mínima no es algo trivial.
  • Enrutamiento
    • Aunque los PNS proporcionan una manera de enviar mensajes a dispositivos, la mayoría de las notificaciones de aplicaciones se dirigen a usuarios o grupos de interés. El back-end debe mantener un registro para asociar dispositivos a grupos de interés, usuarios, propiedades, etc. Esta sobrecarga se agrega al tiempo de comercialización total y a los costos de mantenimiento de una aplicación.

Motivos para usar Azure Notification Hubs

Notification Hubs elimina todas las complejidades asociadas al envío de notificaciones push por su cuenta desde el back-end de su aplicación. Su infraestructura de notificaciones push multiplataforma y escalada horizontalmente reduce la codificación relativa a la inserción y simplifica el back-end. Con Notification Hubs, los dispositivos solo son responsables de registrar identificadores de PNS con un centro, mientras que el back-end envía mensajes a usuarios o grupos de interés, tal como se muestra en la ilustración siguiente:

Diagrama de Notification Hubs

Notification Hubs es un motor de inserción listo para usar que presenta las siguientes ventajas:

  • Multiplataforma
    • Compatibilidad con las principales plataformas de inserción.
    • Una interfaz común para insertar en todas las plataformas en formatos específicos de la plataforma o independientes de esta sin ningún tipo de trabajo específico de la plataforma.
    • Administración de controladores de dispositivos en un único lugar.
  • Back-ends cruzados
    • En la nube o local.
    • .NET, Node.js, Java, Python, etc.
  • Conjunto completo de patrones de entrega
    • Retransmisión a una o más plataformas: puede retransmitir al instante a millones de dispositivos entre plataformas con una sola llamada API.
    • Inserción en dispositivo: puede destinar las notificaciones a dispositivos individuales.
    • Inserción en usuario: las etiquetas y plantillas le ayudan a llegar a todos los dispositivos multiplataforma de un usuario.
    • Inserción en segmento con etiquetas dinámicas: las características de etiquetas le ayudan a segmentar dispositivos e insertar en ellos en función de sus necesidades, tanto si va a enviar a un segmento como si lo envía a una expresión de segmentos (por ejemplo: AND activo reside en Seattle NO es un usuario nuevo). En lugar de limitarse a la publicación-suscripción, puede actualizar las etiquetas de dispositivo en cualquier lugar y en cualquier momento.
    • Inserción localizada: la característica de plantillas le ayuda a obtener la localización sin alterar el código de back-end.
    • Inserción silenciosa: puede habilitar el modelo de inserción a extracción enviando notificaciones silenciosas a dispositivos y desencadenándolos para que realicen ciertas extracciones o acciones.
    • Inserción programada: Puede programar que las notificaciones se envíen en cualquier momento.
    • Inserción directa: puede omitir el registro de dispositivos con el servicio Notification Hubs y procesar por lotes directamente las inserciones a una lista de identificadores de dispositivo.
    • Inserción personalizada: las variables de inserción de dispositivo le ayudan a enviar notificaciones push personalizadas específicas de dispositivo con pares de clave-valor personalizados.
  • Escalabilidad
    • Enviar mensajes rápidos a millones de dispositivos sin tener que volver a diseñar la arquitectura o realizar el particionamiento del dispositivo.
  • Seguridad
    • Firma de acceso compartido (SAS) o autenticación federada.

Pasos siguientes

Conozca la información para la creación y el uso de un centro de notificaciones en la Introducción a Azure Notification Hubs para aplicaciones Android y Firebase Cloud Messaging.