Elegir el tipo adecuado de canal para notificaciones push

En este artículo se describen los tres tipos de Windows canales de notificación push (principal, secundario y alternativo) que le ayudan a entregar contenido a la aplicación.

(Para obtener más información sobre cómo crear notificaciones push, consulte la introducción a Windows Push Notification Services (WNS)).

Tipos de canales push

Hay tres tipos de canales push que se pueden usar para enviar notificaciones a una aplicación de Windows. Son las siguientes:

canal principal - el "canal tradicional" de envío de notificaciones. Puede ser utilizado por cualquier aplicación de la tienda para enviar notificaciones emergentes, de mosaico, de tipo bruto o de distintivo. Obtenga más información aquí.

canal de icono secundario: se usa para insertar actualizaciones de iconos en un icono secundario. Solo se puede usar para enviar notificaciones de icono o distintivo a un icono secundario anclado en la pantalla de inicio del usuario.

Canal alternativo - ya no se admite - Se agregó un nuevo tipo de canal en la Actualización de Creadores. Permite enviar notificaciones sin procesar a cualquier aplicación de Windows, incluidas las que no están registradas en la Tienda. De nuevo, tenga en cuenta que ya no se admite el canal alternativo.

Note

Independientemente del canal de inserción que use, una vez que la aplicación se esté ejecutando en el dispositivo, siempre podrá enviar notificaciones de toast, mosaico o insignia. Puede enviar notificaciones locales desde los procesos de la aplicación en primer plano o desde una tarea en segundo plano.

Canales principales

Estos son los canales más usados en Windows ahora mismo y son buenos para casi cualquier escenario en el que la aplicación se distribuya a través de la Microsoft Store. Permiten enviar todos los tipos de notificaciones a la aplicación.

¿Qué habilitan los canales principales?

  • Envío de actualizaciones de icono o distintivo al icono principal. Si el usuario ha elegido anclar el icono a la pantalla de inicio, esta es la oportunidad de mostrarse. Envíe actualizaciones con información útil o recordatorios de experiencias dentro de la aplicación.
  • Envío de notificaciones del sistema. Las notificaciones emergentes son una oportunidad para presentar información frente al usuario de inmediato. Están pintados por la interfaz gráfica del shell sobre la mayoría de las aplicaciones y se encuentran en el centro de actividades para que el usuario pueda volver a interactuar con ellos más adelante.
  • Enviar notificaciones sin procesar para desencadenar una tarea en segundo plano. A veces quieres realizar ciertos trabajos en nombre del usuario a partir de una notificación. Las notificaciones sin procesar permiten ejecutar las tareas en segundo plano de la aplicación
  • Cifrado de mensajes en tránsito proporcionado por Windows mediante TLS. Los mensajes se cifran durante su transmisión hacia WNS y cuando se envían al dispositivo del usuario.

Limitaciones de los canales principales

  • Requiere el uso de la API REST de WNS para enviar notificaciones push, que no son estándar en todos los proveedores de dispositivos.
  • Solo se puede crear un canal por aplicación
  • Requiere que la aplicación se registre en el Microsoft Store

Creación de un canal principal

PushNotificationChannel channel = 
	await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

Canales de iconos secundarios

Estos son canales que se pueden usar para insertar actualizaciones de iconos y distintivos en un icono secundario. Estas aplicaciones las usan para notificar a los usuarios acciones interesantes o información con la que pueden interactuar en la aplicación, como mensajes nuevos en un chat de grupo o una puntuación deportiva actualizada.

¿Qué habilitan los canales de mosaico secundarios?

  • Envío de notificaciones de icono o distintivo a iconos secundarios. Los tiles secundarios son una excelente manera de atraer de nuevo a los usuarios a tu aplicación. Son un vínculo profundo a la información que les importa, y el hecho de colocar información relevante en los mosaicos ayuda a atraerlos repetidamente.
  • Separación de canales (y expiraciones) entre varios iconos. Esto le permite separar la lógica en el back-end entre los distintos tipos de iconos secundarios que un usuario podría anclar a su pantalla de inicio.
  • Cifrado de mensajes en tránsito proporcionado por Windows mediante TLS. Los mensajes se cifran durante su transmisión hacia WNS y cuando se envían al dispositivo del usuario.

Limitaciones de los canales de mosaico secundarios

  • No se permiten notificaciones emergentes ni sin formato. El sistema ignora las notificaciones toast o sin procesar enviadas a un icono secundario.
  • Requiere que la aplicación se registre en el Microsoft Store

Creación de un canal de icono secundario

PushNotificationChannel channel = 
	await PushNotificationChannelManager.CreatePushNotificationChannelForSecondaryTileAsync(tileId);

Canales alternativos

Los canales alternativos permiten a las aplicaciones enviar notificaciones push sin registrarse en el Microsoft Store ni crear canales de inserción fuera del principal que se usa para la aplicación.

Note

A partir del 1 de julio de 2021, las aplicaciones que quieran usar el canal de inserción web o el canal alternativo para enviar notificaciones basadas en explorador a través de WNS deberán incorporarse al Microsoft Store.

¿Qué habilitan los canales alternativos?

  • Envíe notificaciones push sin procesar a un Windows que se ejecute en cualquier dispositivo Windows. Los canales alternativos solo permiten notificaciones en bruto (sin embargo, todavía puede reactivar una tarea en segundo plano para mostrar localmente notificaciones emergentes o de icono).
  • Permite a las aplicaciones crear varios canales de notificaciones sin procesar para diferentes funciones dentro de la aplicación. Una aplicación puede crear hasta 1000 canales alternativos y cada uno de ellos es válido durante 30 días. Cada uno de estos canales se puede administrar o revocar por separado por la aplicación.
  • Se pueden crear canales de push alternativos sin registrar una aplicación con Microsoft Store. Si la aplicación se va a instalar en dispositivos sin registrarla en el Microsoft Store, todavía podrá recibir notificaciones push.
  • Los servidores pueden enviar notificaciones push mediante las API REST estándar W3C y el protocolo VAPID. Los canales alternativos usan el protocolo estándar W3C, lo que le permite simplificar la lógica del servidor que se debe mantener.
  • Cifrado de mensajes completo, de un extremo a otro. Aunque el canal principal proporciona cifrado mientras está en tránsito, si desea ser más seguro, los canales alternativos permiten que la aplicación pase a través de encabezados de cifrado para proteger un mensaje.

Limitaciones de los canales alternativos

  • El servidor de la aplicación no puede enviar notificaciones de tipo toast, azulejo o distintivo. Solo puede enviar notificaciones push en formato sin procesar. La aplicación todavía puede enviar notificaciones locales desde la tarea en segundo plano.
  • Requiere una API REST diferente a la de los canales de iconos principales o secundarios. El uso de la API REST estándar de W3C significa que su aplicación deberá tener una lógica distinta para enviar notificaciones emergentes o actualizaciones de mosaico.

Creación de un canal alternativo

PushNotificationChannel webChannel = 
	await PushNotificationChannelManager.GetDefault().CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsync(applicationServerKey, appChannelId);

Comparación de tipos de canal

Esta es una comparación rápida entre los distintos tipos de canales:

Type ¿Notificación tipo toast? ¿Insertar icono o distintivo? ¿Enviar notificaciones push sin procesar? Authentication API ¿Se requiere el registro de la tienda? Channels Encryption
Primary Yes Sí: solo icono principal Yes OAuth WNS REST API Yes Una por aplicación En tránsito
Azulejo secundario No Sí - solo azulejo secundario No OAuth WNS REST API Yes Uno por icono secundario En tránsito
Alternate No No Yes VAPID WebPush W3C Standard (Estándar WebPush del W3C) No 1000 por aplicación En tránsito + cifrado de extremo a extremo posible mediante el traspaso de encabezados (requiere código de aplicación)

Elección del canal adecuado

En general, se recomienda usar el canal principal en la aplicación, con algunas excepciones:

  1. Si va a insertar una actualización de icono en un icono secundario, use el canal de inserción del icono secundario.
  2. Si va a pasar canales a otros servicios (por ejemplo, en el caso de un explorador), use el canal alternativo.
  3. Si va a crear una aplicación que no aparecerá en la tienda de Windows (por ejemplo, una aplicación loB), use un canal alternativo.
  4. Si tiene código de notificaciones push web existente en su servidor que desea reutilizar o necesita varios canales en su servicio backend, use otros canales.