Expressões de marca e roteamento

Expressões de marcas permitem a você destinar conjuntos específicos de dispositivos ou mais especificamente, registros, quando 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. Como discutido no Gerenciamento de registro, para receber notificações por push um aplicativo precisa registrar um indicador de 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 com uma notificação específica das seguintes maneiras:

  1. Transmissã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.

Dica

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.

Marcas

Uma marca pode ser qualquer cadeia de caracteres, 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 do sistema sobre grupos musicais específicos. Neste cenário, um modo simples de direcionar notificações é rotular os registros com marcas que representam as diferentes bandas, como na seguinte imagem.

Expressões de marcas

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

Para obter mais informações sobre criar registros para marcas, consulte Gerenciamento de registro.

É possível enviar notificações para marcas usando os métodos send notifications da classe Microsoft.ServiceBus.Notifications.NotificationHubClient no SDK. Você também pode usar Node.js ou Push Notifications REST APIs.

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 diversos conceitos específicos do aplicativo. Por exemplo, os usuários deste aplicativo de exemplo podem comentar sobre as bandas e receber notificações do sistema, não apenas para comentários sobre as suas bandas favoritas, mas também para todos os comentários dos seus amigos, independentemente da banda sobre as quais estão comentando. A imagem a seguir exibe um exemplo deste cenário:

Expressões de marcas

Nesta imagem, Alice está interessada em atualizações dos Beatles e Bob em atualizações dos 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, Alice e Bob a 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 envio aos grupos de interesse, consulte Últimas notícias.

Dica

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

Outro modo de usar as marcas é identificar todos os dispositivos de um determinado usuário. Os registros podem ser marcados com uma marca que contém uma ID de usuário, como na seguinte imagem:

Expressões de marcas

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 precisa indicar um conjunto de registros que não é identificado por uma única marca, mas sim por uma expressão booliana em 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 registra marcas sobre interesse em equipes e localização, a notificação deve ser indicada para todos em Boston que se interessam tanto pelo Red Sox quando pelo Cardinals. Essa condição pode ser expressada com a seguinte expressão booliana:

(follows_RedSox || follows_Cardinals) && location_Boston

Expressões de marcas

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

É possível enviar notificações para expressões de marca usando os métodos send notifications da classe Microsoft.ServiceBus.Notifications.NotificationHubClient no SDK. Você também pode usar Node.js ou Push Notifications REST APIs. 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