Partilhar via


Roteamento e expressões de tag

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

Direcionando registros específicos

A única maneira de segmentar registros específicos é associá-los a uma tag e, em seguida, segmentar essa tag. Conforme discutido em de Gerenciamento de Registro, para receber notificações por push, um aplicativo precisa registrar um identificador de dispositivo em um hub de notificação. Depois que 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 a serem direcionados com uma notificação específica das seguintes maneiras:

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

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

  3. Expressão de tag: todos os registros cujo conjunto de tags corresponda à expressão especificada recebem a notificação.

Observação

Ao enviar uma carga útil específica da plataforma (por exemplo, uma notificação específica da Loja Windows), apenas os registos dessa plataforma específica receberão a notificação. Ao enviar uma notificação de modelo, apenas os registros que especificam um modelo são direcionados. Para obter mais informações, consulte Registration Management.

Etiquetas

Uma tag pode ser qualquer cadeia de caracteres, até 120 caracteres, contendo 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 de música específicos. Nesse cenário, uma maneira simples de rotear notificações é rotular registros com tags que representam as diferentes bandas, como na imagem a seguir.

expressões de tag

Nesta imagem, a mensagem marcada Beatles atinge apenas o tablet que se registrou com a tag Beatles.

Para obter mais informações sobre como criar registros para tags, consulte Registration Management.

Você pode enviar notificações para marcas usando os métodos enviar notificações da classe Microsoft.ServiceBus.Notifications.NotificationHubClient no SDK. Você também pode usar o Node.jsou 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 tags não precisam ser pré-provisionadas e podem se referir a vários conceitos específicos do aplicativo. Por exemplo, os usuários deste aplicativo de exemplo podem comentar sobre bandas e querem receber brindes, não só para os comentários sobre suas bandas favoritas, mas também para todos os comentários de seus amigos, independentemente da banda em que eles estão comentando. A imagem a seguir mostra um exemplo desse cenário:

expressões de tag

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 quanto Bob a recebem.

Importante

Embora você possa codificar várias preocupações em tags (por exemplo, "band_Beatles" ou "follows_Chanrlie"), as tags são cadeias de caracteres simples e não propriedades com valores. Um registro é correspondido apenas na presença ou ausência de uma tag específica.

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

Observação

No exemplo anterior, você deve enviar uma única notificação para duas tags (fornecendo uma matriz de tags ou usando uma expressão de tag com OR), em vez de duas notificações. O envio de duas notificações para tags individuais resulta em duplicatas para registros que têm ambas as tags, enquanto o uso de expressões de tag não resulta.

Usando tags para segmentar usuários

Outra maneira de usar tags é identificar todos os dispositivos de um determinado usuário. Os registros podem ser marcados com uma tag que contém um ID de usuário, como na imagem a seguir:

expressões de tag

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

Expressões de tag

Há casos em que uma notificação tem que ter como alvo um conjunto de registros que é identificado não por uma única tag, mas por uma expressão booleana em tags.

Considere um aplicativo esportivo que envia um lembrete para todos em Boston sobre um jogo entre o Red Sox e o Cardinals. Se o aplicativo cliente registrar tags sobre interesse em equipes e localização, a notificação deve ser direcionada a todos em Boston que estejam interessados no Red Sox ou nos Cardinals. Esta condição pode ser expressa com a seguinte expressão booleana:

(follows_RedSox || follows_Cardinals) && location_Boston

expressões de tag

As expressões de tag podem conter todos os operadores booleanos, como AND (&&), OR (||) e NOT (!). Também podem conter parênteses. As expressões de tag são limitadas a 20 tags se contiverem apenas ORs; caso contrário, eles são limitados a 6 tags.

Você pode enviar notificações para expressões de marca usando os métodos enviar notificações da classe Microsoft.ServiceBus.Notifications.NotificationHubClient no SDK. Você também pode usar o Node.jsou 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);

Ver também

Outros recursos

Referências de API
tutorial de últimas notícias
Enviar notificações aos usuários tutorial