Útválasztási és címkekifejezések

Áttekintés

A címkekifejezések lehetővé teszik adott eszközkészletek vagy pontosabban regisztrációk megcélzását, amikor leküldéses értesítést küld a Notification Hubson keresztül.

Adott regisztrációk megcélzása

Az adott értesítési regisztrációk megcélzásának egyetlen módja a címkék társítása velük, majd a címkék megcélzása. A Regisztrációkezelésben leírtak szerint a leküldéses értesítések fogadásához az alkalmazásnak regisztrálnia kell egy eszközleírót egy értesítési központban. Miután az alkalmazás létrehozott egy regisztrációt egy értesítési központban, az alkalmazás háttérrendszere leküldéses értesítéseket küldhet neki. Az alkalmazás háttérrendszere a következő módokon választhatja ki a megcélzott regisztrációkat egy adott értesítéssel:

  1. Szórás: az értesítési központban található összes regisztráció megkapja az értesítést.
  2. Címke: a megadott címkét tartalmazó összes regisztráció megkapja az értesítést.
  3. Címkekifejezés: az összes olyan regisztráció, amelynek címkekészlete megegyezik a megadott kifejezéssel, értesítést kap.

Címkék

A címke bármilyen, legfeljebb 120 karakter hosszúságú sztring lehet, amely alfanumerikus és a következő nem alfanumerikus karaktereket tartalmazza: ""_, ""@, ""#, "", ":.", ""-. Az alábbi példa egy alkalmazást mutat be, amelyből bejelentési értesítéseket kaphat adott zenecsoportokról. Ebben a forgatókönyvben az értesítések átirányításának egyszerű módja a regisztrációk címkézése a különböző sávokat képviselő címkékkel, az alábbi ábrán látható módon:

Címkék áttekintése

Az ábrán a Beatles címkével ellátott üzenet csak a Beatles címkével regisztrált táblagépet éri el.

További információ a címkék regisztrációinak létrehozásáról: Regisztrációkezelés.

A Microsoft Azure Notification Hubs SDK osztályának értesítésküldési Microsoft.Azure.NotificationHubs.NotificationHubClient módszereivel értesítéseket küldhet címkéknek. Használhatja Node.js vagy leküldéses értesítések REST API-jait is. Íme egy példa az SDK használatával.

Microsoft.Azure.NotificationHubs.NotificationOutcome outcome = null;

// Windows 8.1 / Windows Phone 8.1
var toast = @"<toast><visual><binding template=""ToastText01""><text id=""1"">" +
"You requested a Beatles notification</text></binding></visual></toast>";
outcome = await Notifications.Instance.Hub.SendWindowsNativeNotificationAsync(toast, "Beatles");

// Windows 10
toast = @"<toast><visual><binding template=""ToastGeneric""><text id=""1"">" +
"You requested a Wailers notification</text></binding></visual></toast>";
outcome = await Notifications.Instance.Hub.SendWindowsNativeNotificationAsync(toast, "Wailers");

A címkék nem lehetnek előre kiépítve, és több alkalmazásspecifikus fogalomra is hivatkozhatnak. A példaalkalmazás felhasználói például megjegyzéseket fűzhetnek a bandákhoz, és bejelentéseket szeretnének kapni, nem csak a kedvenc zenekaraik megjegyzéseiért, hanem a barátaik összes megjegyzéséért is, függetlenül attól, hogy melyik zenekarhoz megjegyzést fűznek. Az alábbi ábra egy példát mutat be erre a forgatókönyvre:

Címkék barátok

Ebben a példában Alice a Beatles frissítései, Bob pedig a Wailers frissítései iránt érdeklődik. Bob is érdekli Charlie megjegyzéseit, és Charlie érdekli a Wailers. Amikor a rendszer értesítést küld Charlie megjegyzéséről a Beatlesről, a Notification Hubs elküldi Alice-nek és Bobnak is.

Bár a címkékben több problémát is kódolhat (például band_Beatles vagy follows_Charlie), a címkék egyszerű sztringek, és nem értékekkel rendelkező tulajdonságok. A regisztrációk csak egy adott címke jelenlétére vagy hiányára vonatkoznak.

A címkék érdeklődési csoportoknak való küldéséhez való használatáról a Legfrissebb hírek című cikkben talál részletes útmutatót.

Megjegyzés

Az Azure Notification Hubs regisztrációnként legfeljebb 60 címkét támogat.

Címkék használata a felhasználók megcélzásához

A címkék használatának másik módja az adott felhasználóhoz társított összes eszköz azonosítása. A regisztrációt a felhasználói azonosítót tartalmazó címkével címkézheti meg, az alábbi ábrán látható módon:

Felhasználók címkézése

Az ábrán a címkézett user_Alice üzenet a címkével user_Aliceellátott összes eszközt eléri.

Címkekifejezések

Vannak olyan esetek, amikor az értesítéseknek nem egyetlen címke, hanem egy címkéket használó logikai kifejezés által azonosított regisztrációkészletet kell célozniuk.

Vegyünk egy sportalkalmazást, amely emlékeztetőt küld Boston minden résztvevőjének a Red Sox és a Cardinals közötti játékról. Ha az ügyfélalkalmazás címkéket regisztrál a csapatok és a hely iránt érdeklődőkről, akkor az értesítést minden olyan bostoni felhasználónak meg kell célozni, aki vagy a Red Sox, vagy a Cardinals iránt érdeklődik. Ez a feltétel a következő logikai kifejezéssel fejezhető ki:

(follows_RedSox || follows_Cardinals) && location_Boston

Címkekifejezések

A címkekifejezések olyan gyakori logikai operátorokat támogatnak, mint AND a (&&), OR (||) és NOT (!); zárójeleket is tartalmazhatnak. A csak OR operátorokat használó címkekifejezések 20 címkére hivatkozhatnak; operátorokat tartalmazó AND kifejezésekre, de operátorok nem OR hivatkozhatnak 10 címkére, ellenkező esetben a címkekifejezések legfeljebb 6 címkére korlátozódnak.

Íme egy példa arra, hogyan küldhet értesítéseket címkekifejezésekkel az SDK használatával:

Microsoft.Azure.NotificationHubs.NotificationOutcome outcome = null;

String userTag = "(location_Boston && !follows_Cardinals)";

// Windows 8.1 / Windows Phone 8.1
var toast = @"<toast><visual><binding template=""ToastText01""><text id=""1"">" +
"You want info on the Red Sox</text></binding></visual></toast>";
outcome = await Notifications.Instance.Hub.SendWindowsNativeNotificationAsync(toast, userTag);

// Windows 10
toast = @"<toast><visual><binding template=""ToastGeneric""><text id=""1"">" +
"You want info on the Red Sox</text></binding></visual></toast>";
outcome = await Notifications.Instance.Hub.SendWindowsNativeNotificationAsync(toast, userTag);