Share via


Routerings- en tagexpressies

Met tagexpressies kunt u specifieke sets apparaten, of specifiekere registraties, richten wanneer u een pushmelding verzendt via Notification Hubs.

Specifieke registraties instellen

De enige manier om specifieke registraties te richten, is door ze te koppelen aan een tag en vervolgens op die tag te richten. Zoals besproken in Registratiebeheer, moet een app een apparaatgreep registreren op een Notification Hub om pushmeldingen te ontvangen. Zodra een registratie is gemaakt op een Notification Hub, kan de back-end van de toepassing pushmeldingen verzenden.

De back-end van de toepassing kan op de volgende manieren de registraties kiezen die moeten worden gericht op een specifieke melding:

  1. Uitzending: alle registraties in de Notification Hub ontvangen de melding.

  2. Tag: alle registraties die de opgegeven tag bevatten, ontvangen de melding.

  3. Tagexpressie: alle registraties waarvan de set tags overeenkomt met de opgegeven expressie, ontvangen de melding.

Notitie

Wanneer u een platformspecifieke nettolading verzendt (bijvoorbeeld een Windows Store-specifieke melding), ontvangen alleen registraties voor dat specifieke platform de melding. Bij het verzenden van een sjabloonmelding zijn alleen registraties die een sjabloon opgeven, gericht. Zie Registratiebeheer voor meer informatie.

Tags

Een tag kan elke tekenreeks zijn, maximaal 120 tekens, met alfanumeriek en de volgende niet-alfanumerieke tekens: '_', '@', '#', '.', ':', '-'. In het volgende voorbeeld ziet u een toepassing waaruit u pop-upmeldingen kunt ontvangen over specifieke muziekgroepen. In dit scenario kunt u eenvoudig meldingen routeren door registraties te labelen met tags die de verschillende banden vertegenwoordigen, zoals in de volgende afbeelding.

Tag Expressions

In deze afbeelding bereikt het bericht met de tag Tenant alleen de tablet die is geregistreerd met de tag Tenant.

Zie Registratiebeheer voor meer informatie over het maken van registraties voor tags.

U kunt meldingen verzenden naar tags met behulp van de methoden voor het verzenden van meldingen van de klasse Microsoft.ServiceBus.Notifications.NotificationHubClient in de SDK. U kunt ook Node.js of de REST API's voor pushmeldingen gebruiken.

Let op de volgende voorbeelden:

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

Tags hoeven niet vooraf te worden ingericht en kunnen verwijzen naar meerdere app-specifieke concepten. Gebruikers van deze voorbeeldtoepassing kunnen bijvoorbeeld opmerkingen maken over banden en pop-ups ontvangen, niet alleen voor de opmerkingen over hun favoriete banden, maar ook voor alle opmerkingen van hun vrienden, ongeacht de band waarop ze opmerkingen plaatsen. In de volgende afbeelding ziet u een voorbeeld van dit scenario:

Tag Expressions

In deze afbeelding is Alice geïnteresseerd in updates voor de Tenant en Bob is geïnteresseerd in updates voor de Wailers. Bob is ook geïnteresseerd in Charlie's opmerkingen en Charlie is geïnteresseerd in de Wailers. Wanneer een melding wordt verzonden voor Charlie's opmerking over de Beat, ontvangen zowel Alice als Bob deze.

Belangrijk

Hoewel u meerdere problemen in tags kunt coderen (bijvoorbeeld 'band_Beatles' of 'follows_Chanrlie'),zijn tags eenvoudige tekenreeksen en geen eigenschappen met waarden. Een registratie wordt alleen vergeleken met de aanwezigheid of afwezigheid van een specifieke tag.

Zie Het laatste nieuws voor een volledige stapsgewijze zelfstudie over het gebruik van tags voor het verzenden naar interessegroepen.

Notitie

In het vorige voorbeeld moet u één melding verzenden naar twee tags (waarbij u een matrix met tags opgeeft of een tagexpressie met OR gebruikt), in plaats van twee meldingen. Het verzenden van twee meldingen naar afzonderlijke tags resulteert in duplicaten voor registraties met beide tags, terwijl het gebruik van tag-expressies niet.

Tags gebruiken voor doelgebruikers

Een andere manier om tags te gebruiken, is om alle apparaten van een bepaalde gebruiker te identificeren. Registraties kunnen worden gelabeld met een tag die een gebruikers-id bevat, zoals in de volgende afbeelding:

Tag Expressions

In deze afbeelding bereikt het bericht met de tag uid:Alice alle registraties met de tag uid:Alice; daarom zijn alle apparaten van Alice.

Tagexpressies

Er zijn gevallen waarin een melding moet zijn gericht op een set registraties die niet door één tag worden geïdentificeerd, maar door een Booleaanse expressie op tags.

Overweeg een sporttoepassing die een herinnering naar iedereen in Boston stuurt over een wedstrijd tussen de Red Sox en Cardinals. Als de client-app tags registreert over interesse in teams en locatie, moet de melding worden gericht op iedereen in Boston die geïnteresseerd is in de Red Sox of de Cardinals. Deze voorwaarde kan worden uitgedrukt met de volgende Booleaanse expressie:

(follows_RedSox || follows_Cardinals) && location_Boston

Tag Expressions

Tagexpressies kunnen alle Booleaanse operatoren bevatten, zoals AND (&&EN), OR (||) en NOT (!). Ze kunnen ook haakjes bevatten. Tagexpressies zijn beperkt tot 20 tags als ze alleen OR's bevatten; Anders zijn ze beperkt tot 6 tags.

U kunt meldingen verzenden naar tagexpressies met behulp van de methoden voor het verzenden van meldingen van de klasse Microsoft.ServiceBus.Notifications.NotificationHubClient in de SDK. U kunt ook Node.js of de REST API's voor pushmeldingen gebruiken. Let op de volgende voorbeelden:

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

Zie ook

Meer informatie

API-verwijzingen
Zelfstudie Over het laatste nieuws
Zelfstudie Meldingen verzenden naar gebruikers