Expressões de marca e roteamento

As expressões de marcas permitem que você direcione conjuntos específicos de dispositivos, ou mais especificamente, registros, ao enviar uma notificação por push por meio de Hubs de notificação.

Direcionar registros específicos

A única maneira de direcionar registros específicos é associá-los a uma marca e, em seguida, direcionar essa marca. Conforme discutido em Gerenciamento de registro, para receber notificações por push, um aplicativo precisa registrar um dispositivo em um hub de notificação. Quando um registro é criado em um hub de notificação, o back-end do aplicativo pode enviar notificações por push para ele.

O back-end do aplicativo pode escolher os registros para direcionar uma notificação específica das seguintes maneiras:

  1. Difusão: todos os registros no hub de notificação recebem a notificação.

  2. Marca: todos os registros que contêm a marca especificada recebem a notificação.

  3. Expressão de marca: todos os registros cujos conjuntos de marcas correspondem à expressão especificada recebem a notificação.

Observação

Ao enviar uma carga específica da plataforma (por exemplo, uma notificação específica da Windows Store), somente registros para aquela plataforma específica receberão a notificação. Ao enviar uma notificação modelo, somente registros que especificam um modelo são destinados. Para obter mais informações, consulte Gerenciamento de Registro.

Marcações

Uma marca pode ser qualquer cadeia de caracteres com até 120 caracteres que contenha caracteres alfanuméricos e os seguintes caracteres não alfanuméricos: ‘_’, ‘@’, ‘#’, ‘.’, ‘:’, ‘-’. O exemplo a seguir mostra um aplicativo do qual você pode receber notificações de aviso sobre grupos musicais específicos. Nesse cenário, uma maneira simples de direcionar as notificações é rotular os registros com marcas que representem as diferentes bandas, como na seguinte imagem.

Tag Expressions

Nesta imagem, a mensagem Beatles marcada acessa somente o tablet registrado com a marca Beatles.

Para mais informações sobre a criação de registros para marcas, consulte Gerenciamento de registro.

Você pode enviar notificações para marcas usando os métodos de notificações de envio da classe Microsoft.ServiceBus.Notifications.NotificationHubClient no SDK. Você também pode usar Node.js ou as APIs REST de Notificações por Push.

Observe os seguintes exemplos:

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

As marcas não precisam ser pré-configuradas e podem se referir a vários conceitos específicos do aplicativo. Por exemplo, os usuários deste aplicativo de exemplo podem comentar sobre as bandas e desejar receber notificações do sistema, não apenas dos comentários sobre suas bandas favoritas, mas também de todos os comentários dos seus amigos, independentemente da banda sobre a qual eles estão comentando. A figura a seguir mostra um exemplo desse cenário:

Tag Expressions

Nesta imagem, Alice está interessada em atualizações dos Beatles e Fábio está interessado em atualizações dos Wailers. Fábio também está interessado nos comentários de Carlos e Carlos está interessado nos Wailers. Quando uma notificação é enviada para o comentário de Carlos sobre os Beatles, Alice e Fábio o recebem.

Importante

Embora você possa codificar vários interesses em marcas (por exemplo, “band_Beatles” ou “follows_Chanrlie”), as marcas são cadeias de caracteres simples e não propriedades com valores. Um registro é marcado somente na presença ou ausência de uma marca específica.

Para obter um tutorial passo a passo completo sobre como usar marcas para enviar para grupos de interesse, consulte as Últimas notícias.

Observação

No exemplo anterior, é necessário enviar uma única notificação para duas marcas (fornecendo uma matriz de marcas ou usando uma expressão de marca com OR), em vez de duas notificações. Enviar duas notificações para marcas individuais resulta em duplicatas dos registros que possuem ambas as marcas, ao contrário de usar expressões de marca.

Usar marcas para indicar usuários

Outra maneira de usar marcas é identificar todos os dispositivos de um usuário específico. Os registros podem ser marcados com uma marca que contenha uma ID de usuário, como na seguinte imagem:

Tag Expressions

Nesta imagem, a mensagem marcada como uid:Alice chega a todos os registros marcados como uid:Alice; portanto, todos os dispositivos de Alice.

Expressões de marcas

Há casos em que uma notificação tem como destino um conjunto de registros identificados não por uma única marca, mas por uma expressão booliana nas marcas.

Considere um aplicativo de esportes que envia um lembrete para todos em Boston sobre um jogo entre o Red Sox e o Cardinals. Se o aplicativo cliente registrar marcas sobre interesse em times e localização, a notificação deverá ser direcionada para todos em Boston interessados no Red Sox ou no Cardinals. Essa condição pode ser expressada com a seguinte expressão booliana:

(follows_RedSox || follows_Cardinals) && location_Boston

Tag Expressions

As expressões de marca podem conter todos os operadores boolianos, como AND (&&), OR (||) e NOT (!). Eles também podem conter parênteses. As expressões de marca são limitadas a 20 marcas se contiverem apenas ORs; caso contrário, elas são limitadas a seis marcas.

Você pode enviar notificações para expressões de marca usando os métodos de notificações de envio da classe Microsoft.ServiceBus.Notifications.NotificationHubClient no SDK. Você também pode usar Node.js ou as APIs REST de Notificações por Push. Observe 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 de API
tutorial Últimas notícias
Tutorial enviar notificações aos usuários