Routerings- en tagexpressies
Met tagexpressies kunt u specifieke sets apparaten of specifiekere registraties instellen bij het verzenden van een pushmelding via Notification Hubs.
Specifieke registraties instellen
De enige manier om specifieke registraties te targeten, is door ze te koppelen aan een tag en die tag vervolgens te targeten. Zoals besproken in Registratiebeheer, moet een app een apparaathandgreep 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 naar deze hub verzenden.
De back-end van de toepassing kan op de volgende manieren de registraties kiezen die moeten worden gericht op een specifieke melding:
Broadcast-: alle registraties in de Notification Hub ontvangen de melding.
Tag: alle registraties die de opgegeven tag bevatten, ontvangen de melding.
Tagexpressie: alle registraties waarvan de set tags overeenkomt met de opgegeven expressie, ontvangen de melding.
Notitie
Wanneer u een platformspecifieke nettolading verzendt (bijvoorbeeld een specifieke Windows Store-melding), ontvangen alleen registraties voor dat specifieke platform de melding. Wanneer u een sjabloonmelding verzendt, zijn alleen registraties waarop een sjabloon is opgegeven, gericht. Zie Registratiebeheervoor meer informatie.
Tags
Een tag kan elke tekenreeks zijn, maximaal 120 tekens, die alfanumeriek en de volgende niet-alfanumerieke tekens bevatten: '_', '@', '#', '.', ':', '-'. In het volgende voorbeeld ziet u een toepassing waaruit u pop-upmeldingen over specifieke muziekgroepen kunt ontvangen. In dit scenario kunt u meldingen eenvoudig routeren door registraties te labelen met tags die de verschillende banden vertegenwoordigen, zoals in de volgende afbeelding.
In deze afbeelding bereikt het bericht alleen de tablet bereikt die is geregistreerd bij de tag Resource.
Zie Registratiebeheervoor meer informatie over het maken van registraties voor tags.
U kunt meldingen verzenden naar tags met behulp van de meldingen verzenden methoden van de Microsoft.ServiceBus.Notifications.NotificationHubClient klasse in de SDK. U kunt ook Node.jsof 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 plaatsen bij bands en pop-ups ontvangen, niet alleen voor de opmerkingen over hun favoriete bands, 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:
In deze afbeelding is Alice geïnteresseerd in updates voor deUpdates 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 er een melding wordt verzonden voor Charlie's opmerking over de Linkerkant, 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 Breaking Newsvoor een volledige stapsgewijze zelfstudie over het gebruik van tags voor het verzenden naar belangengroepen.
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 door 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:
In deze afbeelding bereikt het bericht met de tag uid:Alice alle registraties met de tag uid:Alice; vandaar dat alle apparaten van Alice zijn.
Tagexpressies
Er zijn gevallen waarin een melding moet zijn gericht op een set registraties die niet door één tag wordt geïdentificeerd, maar door een Boole-expressie op tags.
Overweeg een sporttoepassing die een herinnering naar iedereen in Boston stuurt over een spel 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
Tagexpressies kunnen alle Booleaanse operatoren bevatten, zoals AND (&&), 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 meldingen verzenden methoden van de Microsoft.ServiceBus.Notifications.NotificationHubClient klasse in de SDK. U kunt ook Node.jsof 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
Andere resources
API-verwijzingen
zelfstudie Voor belangrijk nieuws
zelfstudie