Routning och tagguttryck
Med tagguttryck kan du rikta in dig på specifika uppsättningar av enheter, eller mer specifikt registreringar, när du skickar ett push-meddelande via Notification Hubs.
Rikta in sig på specifika registreringar
Det enda sättet att rikta in sig på specifika registreringar är att associera dem med en tagg och sedan rikta in sig på taggen. Som beskrivs i Registreringshanteringmåste en app registrera ett enhetshandtag på en meddelandehubb för att kunna ta emot push-meddelanden. När en registrering har skapats på en meddelandehubb kan programserverdelen skicka push-meddelanden till den.
Programserverdelen kan välja vilka registreringar som ska riktas mot ett specifikt meddelande på följande sätt:
Broadcast: alla registreringar i meddelandehubben tar emot meddelandet.
Tag: alla registreringar som innehåller den angivna taggen tar emot meddelandet.
Tagguttryck: alla registreringar vars uppsättning taggar matchar det angivna uttrycket tar emot meddelandet.
Not
När du skickar en plattformsspecifik nyttolast (till exempel ett Windows Store-specifikt meddelande) får endast registreringar för den specifika plattformen meddelandet. När du skickar ett mallmeddelande riktas endast registreringar som anger en mall. Mer information finns i Registreringshantering.
Taggar
En tagg kan vara valfri sträng, upp till 120 tecken, som innehåller alfanumeriska tecken och följande icke-alfanumeriska tecken: '_', '@', '#', '.', ':', '-'. I följande exempel visas ett program där du kan ta emot popup-meddelanden om specifika musikgrupper. I det här scenariot är ett enkelt sätt att dirigera meddelanden att märka registreringar med taggar som representerar de olika banden, som i följande bild.
I den här bilden når meddelandet Beatles bara surfplattan som registrerades med taggen Beatles.
Mer information om hur du skapar registreringar för taggar finns i Registreringshantering.
Du kan skicka meddelanden till taggar med hjälp av skicka meddelanden metoder för klassen Microsoft.ServiceBus.Notifications.NotificationHubClient i SDK. Du kan också använda rest-API:erna för Node.jseller PUSH-meddelanden.
Observera följande exempel:
await hub.SendWindowsNativeNotificationAsync(wnsToast, "tag");
notificationHubService.wns.sendToastText01('tag', {
text1: 'Hello World!'
}, callback);
Taggar behöver inte vara företablerade och kan referera till flera appspecifika begrepp. Till exempel kan användare av det här exempelprogrammet kommentera band och vill ta emot popup-meddelanden, inte bara för kommentarerna på sina favoritband, utan även för alla kommentarer från sina vänner, oavsett vilket band de kommenterar. Följande bild visar ett exempel på det här scenariot:
På den här bilden är Alice intresserad av uppdateringar för Beatles, och Bob är intresserad av uppdateringar för Wailers. Bob är också intresserad av Charlies kommentarer, och Charlie är intresserad av Wailers. När ett meddelande skickas för Charlies kommentar om Beatles får både Alice och Bob det.
Viktig
Du kan koda flera problem i taggar (till exempel "band_Beatles" eller "follows_Chanrlie"), men taggar är enkla strängar och inte egenskaper med värden. En registrering matchas endast på förekomsten eller frånvaron av en specifik tagg.
En fullständig stegvis självstudie om hur du använder taggar för att skicka till intressegrupper finns i Breaking News.
Not
I föregående exempel bör du skicka ett enda meddelande till två taggar (tillhandahålla en matris med taggar eller använda ett tagguttryck med OR) i stället för två meddelanden. Att skicka två meddelanden till enskilda taggar resulterar i dubbletter för registreringar som har båda taggarna, medan tagguttryck inte används.
Använda taggar till målanvändare
Ett annat sätt att använda taggar är att identifiera alla enheter för en viss användare. Registreringar kan taggas med en tagg som innehåller ett användar-ID, som i följande bild:
I den här bilden når meddelandet uid:Alice alla registreringar som är taggade uid:Alice; därav alla Alice-enheter.
Tagguttryck
Det finns fall där ett meddelande måste rikta in sig på en uppsättning registreringar som inte identifieras av en enda tagg, utan av ett booleskt uttryck på taggar.
Överväg ett sportprogram som skickar en påminnelse till alla i Boston om ett spel mellan Red Sox och Cardinals. Om klientappen registrerar taggar om intresse för team och plats bör meddelandet riktas till alla i Boston som är intresserade av antingen Red Sox eller Cardinals. Det här villkoret kan uttryckas med följande booleska uttryck:
(follows_RedSox || follows_Cardinals) && location_Boston
Tagguttryck kan innehålla alla booleska operatorer, till exempel AND (&&), OR (||) och NOT (!). De kan också innehålla parenteser. Tagguttryck är begränsade till 20 taggar om de bara innehåller ORs. annars är de begränsade till 6 taggar.
Du kan skicka meddelanden till tagguttryck med hjälp av skicka meddelanden metoder för klassen Microsoft.ServiceBus.Notifications.NotificationHubClient i SDK:t. Du kan också använda rest-API:erna för Node.jseller PUSH-meddelanden. Observera följande exempel:
await hub.SendWindowsNativeNotificationAsync(wnsToast, "(tagA && !tagB)");
notificationHubService.wns.sendToastText01('(tagA && !tagB)', {
text1: 'Hello World!'
}, callback);
Se även
Andra resurser
API-referenser
Breaking News-självstudie
självstudiekursen Skicka meddelanden till användare