Share via


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 specifika registreringar på är att associera dem med en tagg och sedan rikta taggen mot den. Som beskrivs i Registreringshantering må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:

  1. Sändning: alla registreringar i meddelandehubben får meddelandet.

  2. Tagg: alla registreringar som innehåller den angivna taggen får meddelandet.

  3. Tagguttryck: alla registreringar vars uppsättning taggar matchar det angivna uttrycket får meddelandet.

Anteckning

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 är endast registreringar som anger en mall riktade. Mer information finns i Registreringshantering.

Taggar

En tagg kan vara valfri sträng, upp till 120 tecken, som innehåller alfanumeriska 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.

Tag Expressions

I den här bilden når meddelandet som taggats Beatles endast surfplattan som registrerats 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 metoderna för att skicka meddelanden i klassen Microsoft.ServiceBus.Notifications.NotificationHubClient i SDK:t. Du kan också använda Node.js eller REST-API:er för 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. Användare av det här exempelprogrammet kan till exempel 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:

Tag Expressions

I 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.

Viktigt

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 om det finns eller inte finns någon specifik tagg.

En fullständig stegvis självstudie om hur du använder taggar för att skicka till intressegrupper finns i Senaste nytt.

Anteckning

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:

Tag Expressions

I den här bilden når meddelandet uid:Alice alla registreringar som har taggats uid:Alice; därav alla Alices 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 för taggar.

Överväg ett sportprogram som skickar en påminnelse till alla i Boston om en match 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 Kardinalerna. Det här villkoret kan uttryckas med följande booleska uttryck:

(follows_RedSox || follows_Cardinals) && location_Boston

Tag Expressions

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 metoderna för att skicka meddelanden i klassen Microsoft.ServiceBus.Notifications.NotificationHubClient i SDK:t. Du kan också använda Node.js eller REST-API:er för 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
Självstudie om senaste nytt
Självstudiekurs om att skicka meddelanden till användare