Udostępnij za pośrednictwem


Routing i wyrażenia tagów

Wyrażenia tagów umożliwiają określanie określonych zestawów urządzeń lub w szczególności rejestracji podczas wysyłania powiadomień wypychanych za pośrednictwem usługi Notification Hubs.

Określanie wartości docelowej dla określonych rejestracji

Jedynym sposobem na określenie określonych rejestracji jest skojarzenie ich z tagiem, a następnie określenie wartości docelowej tego tagu. Zgodnie z opisem w temacie Zarządzanie rejestracją, aby otrzymywać powiadomienia wypychane, aplikacja musi zarejestrować uchwyt urządzenia w centrum powiadomień. Po utworzeniu rejestracji w centrum powiadomień zaplecze aplikacji może wysyłać do niego powiadomienia wypychane.

Zaplecze aplikacji może wybrać rejestracje docelowe z określonym powiadomieniem w następujący sposób:

  1. Emisja: wszystkie rejestracje w centrum powiadomień otrzymają powiadomienie.

  2. Tag: wszystkie rejestracje zawierające określony tag otrzymują powiadomienie.

  3. Wyrażenie tagu: wszystkie rejestracje, których zestaw tagów jest zgodny z określonym wyrażeniem, otrzymuje powiadomienie.

Uwaga

Podczas wysyłania ładunku specyficznego dla platformy (na przykład powiadomienia specyficznego dla Windows Store) tylko rejestracje dla tej konkretnej platformy otrzymają powiadomienie. Podczas wysyłania powiadomienia szablonu są przeznaczone tylko rejestracje określające szablon. Aby uzyskać więcej informacji, zobacz Zarządzanie rejestracją.

Tagi

Tag może być dowolnym ciągiem, do 120 znaków, zawierającym alfanumeryczne i następujące znaki inne niż alfanumeryczne: '_', '@', '#', '.', ':', '-'. W poniższym przykładzie przedstawiono aplikację, z której można otrzymywać wyskakujące powiadomienia dotyczące określonych grup muzycznych. W tym scenariuszu prostym sposobem kierowania powiadomień jest oznaczanie rejestracji tagami reprezentującymi różne przedziały, jak na poniższej ilustracji.

Tag Expressions

Na tym zdjęciu komunikat otagowany beatles dociera tylko do tabletu zarejestrowanego przy użyciu tagu Beatles.

Aby uzyskać więcej informacji na temat tworzenia rejestracji dla tagów, zobacz Zarządzanie rejestracją.

Powiadomienia można wysyłać do tagów przy użyciu metod wysyłania powiadomień klasy Microsoft.ServiceBus.Notifications.NotificationHubClient w zestawie SDK. Możesz również użyć Node.js lub interfejsów API REST powiadomień wypychanych.

Zwróć uwagę na następujące przykłady:

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

Tagi nie muszą być wstępnie aprowizowane i mogą odwoływać się do wielu pojęć specyficznych dla aplikacji. Na przykład użytkownicy tej przykładowej aplikacji mogą komentować zespoły i chcą otrzymywać wyskaki, nie tylko dla komentarzy do ulubionych zespołów, ale także dla wszystkich komentarzy od swoich przyjaciół, niezależnie od zespołu, na którym komentują. Na poniższej ilustracji przedstawiono przykład tego scenariusza:

Tag Expressions

Na tym zdjęciu Alice jest zainteresowana aktualizacjami beatlesów, a Bob jest zainteresowany aktualizacjami dla Wailers. Bob jest również zainteresowany komentarzami Charliego, a Charlie jest zainteresowany Wailers. Po wysłaniu powiadomienia o komentarzu Charliego do Beatlesów, zarówno Alice, jak i Bob otrzymają go.

Ważne

Chociaż można kodować wiele problemów w tagach (na przykład "band_Beatles" lub "follows_Chanrlie"), tagi są prostymi ciągami, a nie właściwościami z wartościami. Rejestracja jest zgodna tylko z obecnością lub brakiem określonego tagu.

Aby zapoznać się z pełnym samouczkiem krok po kroku dotyczącym używania tagów do wysyłania do grup zainteresowań, zobacz Artykuł Breaking News(Aktualności).

Uwaga

W poprzednim przykładzie należy wysłać jedno powiadomienie do dwóch tagów (podając tablicę tagów lub używając wyrażenia tagu z funkcją OR), zamiast dwóch powiadomień. Wysyłanie dwóch powiadomień do poszczególnych tagów powoduje duplikaty rejestracji, które mają oba tagi, podczas gdy używanie wyrażeń tagów nie będzie.

Używanie tagów do użytkowników docelowych

Innym sposobem użycia tagów jest zidentyfikowanie wszystkich urządzeń określonego użytkownika. Rejestracje można oznaczyć tagiem zawierającym identyfikator użytkownika, jak na poniższej ilustracji:

Tag Expressions

Na tym zdjęciu komunikat otagowany uid:Alice osiąga wszystkie rejestracje oznaczone uid:Alice; w związku z tym wszystkie urządzenia Alicji.

Wyrażenia tagów

Istnieją przypadki, w których powiadomienie musi dotyczyć zestawu rejestracji, które nie są identyfikowane przez pojedynczy tag, ale przez wyrażenie logiczne tagów.

Rozważ aplikację sportową, która wysyła przypomnienie wszystkim w Bostonie o grze między Red Sox i Cardinals. Jeśli aplikacja kliencka rejestruje tagi dotyczące zainteresowania zespołami i lokalizacją, powiadomienie powinno być skierowane do wszystkich osób w Bostonie, którzy są zainteresowani Red Sox lub Cardinals. Ten warunek można wyrazić przy użyciu następującego wyrażenia logicznego:

(follows_RedSox || follows_Cardinals) && location_Boston

Tag Expressions

Wyrażenia tagów mogą zawierać wszystkie operatory logiczne, takie jak AND (), OR (&&||) i NOT (!). Mogą również zawierać nawiasy. Wyrażenia tagów są ograniczone do 20 tagów, jeśli zawierają tylko jednostki ORS; w przeciwnym razie są one ograniczone do 6 tagów.

Powiadomienia można wysyłać do wyrażeń tagów przy użyciu metod wysyłania powiadomień klasy Microsoft.ServiceBus.Notifications.NotificationHubClient w zestawie SDK. Możesz również użyć Node.js lub interfejsów API REST powiadomień wypychanych. Zwróć uwagę na następujące przykłady:

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

Zobacz też

Inne zasoby

Dokumentacja interfejsu API
Samouczek dotyczący wiadomości przełomowych
Samouczek dotyczący wysyłania powiadomień do użytkowników