Expresiones de enrutamiento y etiqueta

Las expresiones de etiqueta permiten establecer como destino conjuntos específicos de dispositivos, o más específicamente registros, al enviar una notificación push a través de Notification Hubs.

Segmentación de registros específicos

La única manera de dirigirse a registros específicos es asociarlos a una etiqueta y, a continuación, dirigirse a esa etiqueta. Como se describe en administración de registros, para recibir notificaciones push, una aplicación tiene que registrar un identificador de dispositivo en un centro de notificaciones. Una vez creado un registro en un centro de notificaciones, el back-end de la aplicación puede enviar notificaciones push a él.

El back-end de la aplicación puede elegir los registros de destino con una notificación específica de las siguientes maneras:

  1. de difusión: todos los registros del centro de notificaciones reciben la notificación.

  2. etiqueta: todos los registros que contienen la etiqueta especificada reciben la notificación.

  3. expresión tag: todos los registros cuyo conjunto de etiquetas coinciden con la expresión especificada reciben la notificación.

Nota

Al enviar una carga específica de la plataforma (por ejemplo, una notificación específica de la Tienda Windows), solo los registros de esa plataforma específica recibirán la notificación. Al enviar una notificación de plantilla, solo se destinan los registros que especifican una plantilla. Para obtener más información, consulte Administración de registros.

Etiquetas

Una etiqueta puede ser cualquier cadena, hasta 120 caracteres, que contenga caracteres alfanuméricos y los siguientes caracteres no alfanuméricos: '_', '@', '#', '.', ':', '-'. En el ejemplo siguiente se muestra una aplicación desde la que puede recibir notificaciones del sistema sobre grupos de música específicos. En este escenario, una manera sencilla de enrutar las notificaciones es etiquetar los registros con etiquetas que representan las distintas bandas, como en la siguiente imagen.

expresiones de etiqueta

En esta imagen, el mensaje etiquetado Beatles alcanza solo la tableta registrada con la etiqueta Beatles.

Para obtener más información sobre cómo crear registros para etiquetas, vea Administración de registros.

Puede enviar notificaciones a etiquetas mediante la enviar notificaciones métodos de la clase Microsoft.ServiceBus.Notifications.NotificationHubClient en el SDK. También puede usar Node.jso las API rest de notificaciones push de .

Tenga en cuenta los ejemplos siguientes:

await hub.SendWindowsNativeNotificationAsync(wnsToast, "tag");
notificationHubService.wns.sendToastText01('tag', {
            text1: 'Hello World!'
        }, callback);

Las etiquetas no tienen que aprovisionarse previamente y pueden hacer referencia a varios conceptos específicos de la aplicación. Por ejemplo, los usuarios de esta aplicación de ejemplo pueden comentar bandas y desea recibir notificaciones del sistema, no solo para los comentarios de sus bandas favoritas, sino también para todos los comentarios de sus amigos, independientemente de la banda en la que están comentando. En la imagen siguiente se muestra un ejemplo de este escenario:

expresiones de etiqueta

En esta imagen, Alice está interesado en las actualizaciones de los Beatles, y Bob está interesado en las actualizaciones de Wailers. Bob también está interesado en los comentarios de Charlie, y Charlie está interesado en los Wailers. Cuando se envía una notificación para el comentario de Charlie sobre los Beatles, Alice y Bob lo reciben.

Importante

Aunque puede codificar varias preocupaciones en etiquetas (por ejemplo, "band_Beatles" o "follows_Chanrlie"), las etiquetas son cadenas simples y no propiedades con valores. Un registro solo coincide con la presencia o ausencia de una etiqueta específica.

Para obtener un tutorial detallado completo sobre cómo usar etiquetas para enviar a grupos de interés, consulte Noticias de última hora.

Nota

En el ejemplo anterior, debe enviar una sola notificación a dos etiquetas (proporcionando una matriz de etiquetas o usando una expresión de etiqueta con OR), en lugar de dos notificaciones. El envío de dos notificaciones a etiquetas individuales da como resultado duplicados para los registros que tienen ambas etiquetas, mientras que el uso de expresiones de etiqueta no lo hará.

Uso de etiquetas para usuarios de destino

Otra manera de usar etiquetas es identificar todos los dispositivos de un usuario determinado. Los registros se pueden etiquetar con una etiqueta que contiene un identificador de usuario, como en la imagen siguiente:

expresiones de etiqueta

En esta imagen, el mensaje etiquetado uid:Alice alcanza todos los registros etiquetados uid:Alice; por lo tanto, todos los dispositivos de Alice.

Expresiones de etiqueta

Hay casos en los que una notificación tiene que tener como destino un conjunto de registros identificados no por una sola etiqueta, sino por una expresión booleana en etiquetas.

Considere una aplicación deportiva que envía un recordatorio a todos los usuarios de Boston sobre un juego entre el Sox Rojo y cardinales. Si la aplicación cliente registra etiquetas sobre el interés en los equipos y la ubicación, la notificación debe dirigirse a todos los usuarios de Boston que estén interesados en el Sox Rojo o los Cardinales. Esta condición se puede expresar con la siguiente expresión booleana:

(follows_RedSox || follows_Cardinals) && location_Boston

expresiones de etiqueta

Las expresiones de etiqueta pueden contener todos los operadores booleanos, como AND (&&), OR (||) y NOT (!). También pueden contener paréntesis. Las expresiones de etiqueta se limitan a 20 etiquetas si solo contienen ENTIDADES organizativas; de lo contrario, se limitan a 6 etiquetas.

Puede enviar notificaciones a expresiones de etiqueta mediante la enviar notificaciones métodos de la clase Microsoft.ServiceBus.Notifications.NotificationHubClient en el SDK. También puede usar Node.jso las API rest de notificaciones push de . Tenga en cuenta los ejemplos siguientes:

await hub.SendWindowsNativeNotificationAsync(wnsToast, "(tagA && !tagB)");
notificationHubService.wns.sendToastText01('(tagA && !tagB)', {
            text1: 'Hello World!'
        }, callback);

Consulte también

Otros recursos

referencias de API
tutorial de noticias de última hora de
tutorial Envío de notificaciones a los usuarios