Ú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:
- Szórás: az értesítési központban található összes regisztráció megkapja az értesítést.
- Címke: a megadott címkét tartalmazó összes regisztráció megkapja az értesítést.
- 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:
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:
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:
Az ábrán a címkézett user_Alice
üzenet a címkével user_Alice
ellá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
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);