Weiterleitung und Tagausdrücke
Tagausdrücke ermöglichen Ihnen, bestimmte Sammlungen von Geräten oder speziell Registrierungen beim Senden einer Pushbenachrichtigung über Notification Hubs als Ziele anzugeben.
Verwenden bestimmter Registrierungen als Ziel
Die einzige Methode zum Verwenden von bestimmten Registrierungen als Ziel besteht darin, diese einem Tag zuzuordnen und dann dieses Tag als Ziel zu verwenden. Wie in Registrierungsverwaltungerläutert, muss eine App ein Gerätehandle auf einem Notification Hub registrieren, um Pushbenachrichtigungen empfangen zu können. Sobald eine Registrierung auf einem Notification Hub erstellt wurde, kann das Anwendungs-Back-End Pushbenachrichtigungen an diese senden.
Das Anwendungs-Back-End kann folgendermaßen auswählen, an welche Registrierungen eine bestimmte Benachrichtigung gesendet werden soll:
Broadcast:Alle Registrierungen im Notification Hub empfangen die Benachrichtigung.
Tag:Alle Registrierungen, die das angegebene Tag enthalten, empfangen die Benachrichtigung.
Tagausdruck:Alle Registrierungen, deren Satz von Tags mit dem angegebenen Ausdruck übereinstimmt, empfangen die Benachrichtigung.
Hinweis
Wenn eine plattformspezifische Nutzlast gesendet wird (z. B. eine für Windows Store spezifische Benachrichtigung), empfangen nur Registrierungen für diese bestimmte Plattform die Benachrichtigung. Wenn eine Vorlagenbenachrichtigung gesendet wird, werden nur Registrierungen, die eine Vorlage angeben, als Ziel verwendet. Weitere Informationen finden Sie unter Registrierungsverwaltung.
Tags
Ein Tag kann eine beliebige bis zu 120 Zeichen umfassende Zeichenfolge mit alphanumerischen und den folgenden nicht-alphanumerischen Zeichen sein: „_“, „@“ „#“, „.“, „:“, „-“. Das folgende Beispiel zeigt eine Anwendung, von der Sie Popupbenachrichtigungen zu bestimmten Musikgruppen empfangen können. In diesem Szenario besteht eine einfache Möglichkeit zum Weiterleiten von Benachrichtigungen im Kennzeichnen von Registrierungen mit Tags, die die verschiedenen Gruppen angeben. Dies ist in der folgenden Abbildung dargestellt.
In dieser Abbildung erreicht die Nachricht mit dem Tag Beatles nur den Tablet PC, der mit dem Tag Beatles registriert ist.
Weitere Informationen zum Erstellen von Registrierungen für Tags finden Sie unter Registrierungsverwaltung.
Sie können Benachrichtigungen an Tags senden, indem Sie die Sendenbenachrichtigungsmethoden der Microsoft.ServiceBus.Notifications.NotificationHubClient-Klasse im SDK verwenden. Sie können auch Node.js oder die REST-APIs für Pushbenachrichtigungen verwenden.
Beachten Sie die folgenden Beispiele:
await hub.SendWindowsNativeNotificationAsync(wnsToast, "tag");
notificationHubService.wns.sendToastText01('tag', {
text1: 'Hello World!'
}, callback);
Tags müssen nicht vorab bereitgestellt werden und können sich auf mehrere App-spezifische Konzepte beziehen. Beispielsweise können Benutzer dieser Beispielanwendung Musikgruppen kommentieren und Popups erhalten. Dies gilt nicht nur für die Kommentare zu ihren Lieblingsgruppen, sondern für alle Kommentare von ihren Freunden, unabhängig von den Gruppen, die diese bewerteten. Die folgende Abbildung zeigt ein Beispiel für dieses Szenario:
In dieser Abbildung ist Alice an Nachrichten über die Beatles interessiert, und Bob ist an Nachrichten über die Wailers interessiert. Bob ist außerdem an Charlies Kommentaren interessiert, und Charlie ist an den Wailers interessiert. Wenn eine Benachrichtigung für Charlies Kommentar zu den Beatles gesendet wird, empfangen Alice und Bob diese.
Wichtig
Sie können mehrere Begriffe in Tags codieren (beispielsweise "band_Beatles" oder "folgt_Charlie"). Tags sind jedoch nur einfache Zeichenfolgen und keine Eigenschaften mit Werten. Eine Registrierung wird nur auf das Vorhandensein oder Fehlen eines bestimmten Tags überprüft.
Ein vollständiges schrittweises Tutorial zur Verwendung von Tags zum Senden an Interessengruppen finden Sie unter Aktuelle Nachrichten.
Hinweis
Im Beispiel oben sollten Sie eine einzige Benachrichtigung an zwei Tags senden (durch Bereitstellen eines Tagarrays oder durch Verwenden eines Tagausdrucks mit ODER), nicht zwei Benachrichtigungen. Das Senden von zwei Benachrichtigungen an einzelne Tags führt zu Duplikaten bei Registrierungen, die beide Tags aufweisen. Bei Tagausdrücken ist dies nicht der Fall.
Verwenden von Tags, um Benutzer als Ziel zu verwenden
Eine weitere Möglichkeit zur Verwendung von Tags ist das Identifizieren aller Geräte eines bestimmten Benutzers. Registrierungen können mit einem Tag gekennzeichnet werden, das eine Benutzer-ID enthält. Dies ist in der folgenden Abbildung dargestellt:
In dieser Abbildung erreicht die Nachricht mit dem Tag uid:Alice alle Registrierungen, die mit dem Tag uid:Alice gekennzeichnet sind, also alle Geräte von Alice.
Markieren von Ausdrücken
In einigen Fällen hat eine Benachrichtigung eine Gruppe von Registrierungen zum Ziel, die nicht durch ein einzelnes Tag, sondern durch einen booleschen Ausdruck für Tags identifiziert wird.
Beispiel: Eine Sportanwendung sendet eine Erinnerung an alle Benutzer in Boston zu einem Spiel zwischen den Red Sox und den Cardinals. Wenn die Client-App Tags zu einem Interesse an Mannschaften und Orten registriert, sollte die Benachrichtigung alle Benutzer in Boston als Ziel verwenden, die an den Red Sox oder den Cardinals interessiert ist. Diese Bedingung kann mit dem folgenden booleschen Ausdruck ausgedrückt werden:
(follows_RedSox || follows_Cardinals) && location_Boston
Tagausdrücke können alle booleschen Operatoren wie AND (), OR (||) und NOT (&&!) enthalten. Sie können auch Klammern enthalten. Tagausdrücke sind auf 20 Tags beschränkt, wenn sie nur OR enthalten. Andernfalls sind sie auf 6 Tags beschränkt.
Sie können Benachrichtigungen an Tagausdrücke mithilfe der Sendenbenachrichtigungsmethoden der Microsoft.ServiceBus.Notifications.NotificationHubClient-Klasse im SDK senden. Sie können auch Node.js oder die REST-APIs für Pushbenachrichtigungen verwenden. Beachten Sie die folgenden Beispiele:
await hub.SendWindowsNativeNotificationAsync(wnsToast, "(tagA && !tagB)");
notificationHubService.wns.sendToastText01('(tagA && !tagB)', {
text1: 'Hello World!'
}, callback);
Weitere Informationen
Weitere Ressourcen
API-Verweise
Lernprogramm zum Übermitteln aktueller Nachrichten
Senden von Benachrichtigungen an Das Lernprogramm für Benutzer