Partilhar via


Expressões de encaminhamento e etiqueta

As expressões de etiquetas permitem-lhe direcionar conjuntos específicos de dispositivos, ou mais especificamente registos, ao enviar uma notificação push através de Centros de Notificação.

Direcionar registos específicos

A única maneira de direcionar registos específicos é associá-los a uma etiqueta, e depois apontar essa etiqueta. Como discutido na Gestão de Registos, para receber notificações push, uma aplicação tem de registar uma pega de dispositivo num centro de notificação. Uma vez que um registo é criado num centro de notificação, o backend da aplicação pode enviar notificações push para o mesmo.

O backend do pedido pode escolher os registos a destino com uma notificação específica das seguintes formas:

  1. Transmissão: todos os registos no centro de notificação recebem a notificação.

  2. Tag: todos os registos que contenham a etiqueta especificada recebem a notificação.

  3. Expressão da etiqueta: todas as inscrições cujo conjunto de tags correspondem à expressão especificada recebem a notificação.

Nota

Ao enviar uma carga útil específica da plataforma (por exemplo, uma notificação específica da Windows Store), apenas os registos para essa plataforma específica receberão a notificação. Ao enviar uma notificação de modelo, apenas os registos que especificam um modelo são direcionados. Para mais informações, consulte Gestão de Registos.

Etiquetas

Uma etiqueta pode ser qualquer string, até 120 caracteres, contendo caracteres alfanuméricos e os seguintes caracteres não alfanuméricos: '_', '@', '#', '.', ':', '-'. O exemplo a seguir mostra uma aplicação a partir da qual pode receber notificações de torradas sobre grupos musicais específicos. Neste cenário, uma forma simples de encaminhar notificações é rotular registos com etiquetas que representem as diferentes bandas, como na imagem seguinte.

Tag Expressions

Nesta imagem, a mensagem marcada Beatles atinge apenas o tablet que registou com a marca Beatles.

Para obter mais informações sobre a criação de inscrições para tags, consulte Gestão de Registos.

Pode enviar notificações para tags utilizando os métodos de notificações de envio da classe Microsoft.ServiceBus.NotificationHubClient no SDK. Também pode utilizar Node.js ou as APIs de Push Notifications REST.

Note os seguintes exemplos:

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

As etiquetas não têm de ser pré-aprovisionadas e podem referir-se a vários conceitos específicos de aplicações. Por exemplo, os utilizadores desta aplicação de exemplo podem comentar bandas e querer receber brindes, não só pelos comentários nas suas bandas favoritas, mas também por todos os comentários dos seus amigos, independentemente da banda em que comentam. A imagem a seguir mostra um exemplo deste cenário:

Tag Expressions

Nesta imagem, Alice está interessada em atualizações para os Beatles, e Bob está interessado em atualizações para os Wailers. Bob também está interessado nos comentários de Charlie, e Charlie está interessado nos Wailers. Quando uma notificação é enviada para o comentário de Charlie sobre os Beatles, tanto Alice como Bob recebem-na.

Importante

Embora possa codificar múltiplas preocupações em tags (por exemplo, "band_Beatles" ou "follows_Chanrlie"), as etiquetas são cordas simples e não propriedades com valores. A inscrição é correspondida apenas na presença ou ausência de uma etiqueta específica.

Para um tutorial passo a passo completo sobre como usar tags para enviar para grupos de interesse, consulte Breaking News.

Nota

No exemplo anterior, deverá enviar uma única notificação a duas tags (fornecendo uma série de tags, ou utilizando uma expressão de tag com OR), em vez de duas notificações. O envio de duas notificações a tags individuais resulta em duplicados para registos que têm ambas as etiquetas, enquanto que a utilização de expressões de tags não o fará.

Utilização de Tags para utilizadores-alvo

Outra forma de utilizar tags é identificar todos os dispositivos de um determinado utilizador. As inscrições podem ser marcadas com uma etiqueta que contenha uma identificação do utilizador, como na seguinte imagem:

Tag Expressions

Nesta imagem, a mensagem marcada uid:Alice atinge todos os registos marcados uid:Alice; portanto, todos os dispositivos de Alice.

Expressãos de etiqueta

Há casos em que uma notificação tem de visar um conjunto de registos que é identificado não por uma única etiqueta, mas por uma expressão booleana nas etiquetas.

Considere uma aplicação desportiva que envia um lembrete a todos em Boston sobre um jogo entre os Red Sox e os Cardinals. Se a aplicação do cliente registar etiquetas sobre interesse em equipas e localização, então a notificação deve ser direcionada a todos os que em Boston estejam interessados nos Red Sox ou nos Cardinals. Esta condição pode ser expressa com a seguinte expressão booleana:

(follows_RedSox || follows_Cardinals) && location_Boston

Tag Expressions

As expressões de etiqueta podem conter todos os operadores Boolean, tais como E (&&), OR (||), e NÃO (!). Também podem conter parênteses. As expressões de etiquetas são limitadas a 20 tags se contiverem apenas RAM; caso contrário, estão limitados a 6 tags.

Pode enviar notificações para tags de expressão utilizando os métodos de notificações de envio da classe Microsoft.ServiceBus.NotificationHubClient no SDK. Também pode utilizar Node.js ou as APIs de Push Notifications REST. Note os seguintes exemplos:

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

Consulte também

Outros Recursos

Referências da API
Tutorial de Notícias de Última Hora
Enviar notificações para o tutorial dos utilizadores