Elegir el tipo adecuado de canal de notificación de inserción

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

(Para obtener más información sobre cómo crear notificaciones push, consulta introducción a Los Servicios de notificaciones push de Windows (WNS).

Tipos de canales de inserción

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

Canal principal : el canal de inserción "tradicional". Cualquier aplicación de la tienda puede usarla para enviar notificaciones del sistema, icono, sin formato o 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 alternativoYa no se admite: nuevo tipo de canal agregado en Creators Update. 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.

Nota:

Independientemente del canal de inserción que use, una vez que la aplicación se esté ejecutando en el dispositivo, siempre podrá enviar notificaciones del sistema, iconos o distintivos locales. 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 en este momento y son buenos para casi cualquier escenario en el que la aplicación se distribuya a través de 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 su oportunidad de mostrarse. Enviar actualizaciones con información útil o recordatorios de experiencias dentro de la aplicación.
  • Envío de notificaciones del sistema. Las notificaciones del sistema son una oportunidad para obtener información delante del usuario inmediatamente. Están pintados por el shell sobre la mayoría de las aplicaciones y viven en el centro de actividades para que el usuario pueda volver e interactuar con ellos más adelante.
  • Enviar notificaciones sin procesar para desencadenar una tarea en segundo plano. A veces quiere realizar algún trabajo en nombre del usuario en función 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 en la conexión que entran en WNS y van 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 Microsoft Store

Creación de un canal principal

PushNotificationChannel channel = 
	await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

Canales de mosaico 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 de acciones o información interesantes con las 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 iconos secundarios son una excelente manera de devolver usuarios a la aplicación. Son un vínculo profundo a la información que les importa y la colocación de información relevante en los iconos ayuda a devolverlos de nuevo y de nuevo.
  • Separación de canales (y expiraciones) entre varios iconos. Esto le permite separar la lógica del 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 en la conexión que entran en WNS y van al dispositivo del usuario.

Limitaciones de los canales de mosaico secundarios

  • No se permiten notificaciones del sistema ni notificaciones sin procesar. El sistema ignora las notificaciones del sistema o las notificaciones sin procesar enviadas a un icono secundario.
  • Requiere que la aplicación se registre en 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 Microsoft Store ni crear canales de inserción fuera del principal que se usa para la aplicación.

Nota

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 a Microsoft Store.

¿Qué habilitan los canales alternativos?

  • Enviar notificaciones push sin procesar a Windows que se ejecuta en cualquier dispositivo Windows. Los canales alternativos solo permiten notificaciones sin procesar (sin embargo, todavía puede reactivar una tarea en segundo plano para mostrar localmente notificaciones del sistema o icono).
  • Permite a las aplicaciones crear varios canales de inserción sin procesar para diferentes características 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 inserción alternativos sin registrar una aplicación con Microsoft Store. Si la aplicación se va a instalar en dispositivos sin registrarla en 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 debe mantenerse.
  • Cifrado de mensajes completo, de un extremo a otro. Aunque el canal principal proporciona cifrado durante el tránsito, si quieres 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 del sistema de inserción, icono o tipo de distintivo. Solo puede enviar notificaciones push sin procesar. La aplicación sigue siendo capaz de enviar notificaciones locales desde la tarea en segundo plano.
  • Requiere una API REST diferente que los canales de mosaico principal o secundario. El uso de la API REST de W3C estándar significa que la aplicación tendrá que tener una lógica diferente para enviar actualizaciones del sistema de inserción o de iconos.

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:

Tipo ¿Notificaciones del sistema? ¿Insertar icono o distintivo? ¿Envía notificaciones sin procesar? Autenticación API ¿Se requiere el registro de la Tienda? Channels Cifrado
Principal Sí: solo icono principal OAuth WNS REST API Una por aplicación En tránsito
Icono secundario No Sí: solo icono secundario No OAuth WNS REST API Uno por icono secundario En tránsito
Alternativa No No INSÍPIDA WebPush W3C Standard No 1000 por aplicación En tránsito + cifrado de un extremo a otro posible con el paso de encabezado (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 vas a crear una aplicación que no se mostrará en la Tienda Windows (por ejemplo, una aplicación loB), usa un canal alternativo.
  4. Si tiene código de inserción web existente en el servidor que desea reutilizar o necesita varios canales en el servicio back-end, use canales alternativos.