Výrazy směrování a značek

Výrazy značek umožňují cílit na konkrétní sady zařízení nebo konkrétněji registrace při odesílání nabízených oznámení prostřednictvím Notification Hubs.

Cílení na konkrétní registrace

Jediným způsobem, jak cílit na konkrétní registrace, je přidružit je ke značce a pak tuto značku cílit. Jak je popsáno ve správě registrací, aby bylo možné přijímat nabízená oznámení, musí aplikace zaregistrovat popisovač zařízení v centru oznámení. Po vytvoření registrace v centru oznámení může back-end aplikace odesílat nabízená oznámení.

Back-end aplikace může zvolit registrace, které se mají cílit s určitým oznámením, následujícími způsoby:

  1. Všesměrové vysílání: všechny registrace v centru oznámení obdrží oznámení.

  2. Značka: všechny registrace, které obsahují zadanou značku, obdrží oznámení.

  3. Výraz značky: všechny registrace, jejichž sada značek odpovídá zadanému výrazu, obdrží oznámení.

Poznámka

Při odesílání datové části specifické pro platformu (například oznámení specifického pro Windows Store) obdrží oznámení jenom registrace pro danou konkrétní platformu. Při odesílání oznámení šablony se cílí jenom na registrace určující šablonu. Další informace najdete v tématu Správa registrace.

Značky

Značka může být libovolný řetězec, až 120 znaků obsahující alfanumerické a následující nealnumerické znaky: _, @, #, ., :, -. Následující příklad ukazuje aplikaci, ze které můžete dostávat oznámení o konkrétních hudebních skupinách. V tomto scénáři je jednoduchý způsob, jak směrovat oznámení, označit registrace značkami, které představují různé pásma, jako na následujícím obrázku.

Tag Expressions

Na tomto obrázku zpráva označená Beatles dosáhne pouze tabletu zaregistrovaného značkou Beatles.

Další informace o vytváření registrací pro značky najdete v tématu Správa registrací.

Oznámení můžete posílat značkám pomocí metod odesílání oznámení třídy Microsoft.ServiceBus.Notification.NotificationHubClient v sadě SDK. Můžete také použít Node.js nebo rozhraní REST API nabízených oznámení.

Všimněte si následujících příkladů:

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

Značky nemusí být předem zřízené a mohou odkazovat na několik konceptů specifických pro aplikaci. Například uživatelé této ukázkové aplikace můžou komentovat kapely a chtít přijímat toasty, nejen pro komentáře k oblíbeným kapelám, ale také pro všechny komentáře od svých přátel, bez ohledu na kapelu, na které komentují. Následující obrázek ukazuje příklad tohoto scénáře:

Tag Expressions

Na tomto obrázku se Alice zajímá o aktualizace Beatles a Bob se zajímá o aktualizace pro Wailers. Bob má také zájem o komentáře Charlieho a Charlie se zajímá o Wailers. Když se pošle oznámení pro Charlieho komentář k Beatles, Alice i Bob ho dostanou.

Důležité

I když můžete kódovat více obav ve značkách (například "band_Beatles" nebo "follows_Chanrlie"), značky jsou jednoduché řetězce a ne vlastnosti s hodnotami. Registrace se shoduje pouze s přítomností nebo absencí konkrétní značky.

Úplný podrobný kurz o tom, jak používat značky pro odesílání do zajímavých skupin, najdete v tématu Zásadní zprávy.

Poznámka

V předchozím příkladu byste měli poslat jedno oznámení na dvě značky (poskytnutí pole značek nebo použití výrazu značky s OR) místo dvou oznámení. Odeslání dvou oznámení jednotlivým značkám vede k duplicitám pro registrace, které mají obě značky, zatímco použití výrazů značek nebude.

Použití značek k cílovým uživatelům

Dalším způsobem, jak používat značky, je identifikovat všechna zařízení konkrétního uživatele. Registrace se dají označit značkou, která obsahuje ID uživatele, jak je znázorněno na následujícím obrázku:

Tag Expressions

Na tomto obrázku zpráva označená uid:Alice dosáhne všech registrací označených uid:Alice; a proto všechna zařízení Alice.

Výrazy značek

Existují případy, kdy oznámení musí cílit na sadu registrací, které nejsou identifikovány jedinou značkou, ale logickým výrazem u značek.

Zvažte sportovní aplikaci, která všem uživatelům v Bostonu pošle připomenutí o hře mezi Red Sox a Kardinalitami. Pokud klientská aplikace zaregistruje značky týkající se zájmu o týmy a umístění, mělo by být oznámení cílené na všechny uživatele v Bostonu, kteří mají zájem o Red Sox nebo Kardinaly. Tuto podmínku lze vyjádřit pomocí následujícího logického výrazu:

(follows_RedSox || follows_Cardinals) && location_Boston

Tag Expressions

Výrazy značek můžou obsahovat všechny logické operátory, například AND (), OR (&&||) a NOT (!). Mohou také obsahovat závorky. Výrazy značek jsou omezené na 20 značek, pokud obsahují pouze ORS; jinak jsou omezeny na 6 značek.

Oznámení můžete posílat výrazům značek pomocí metod odesílání oznámení třídy Microsoft.ServiceBus.Notification.NotificationHubClient v sadě SDK. Můžete také použít Node.js nebo rozhraní REST API nabízených oznámení. Všimněte si následujících příkladů:

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

Viz také

Další prostředky

Reference k rozhraní API
Kurz pro novinky s nejnovějšími informacemi
Kurz odesílání oznámení uživatelům