Routage et expressions de balise

Les expressions de balise vous permettent de cibler des ensembles spécifiques d'appareils, ou plus précisément d'inscriptions, lors de l'envoi d'une notification push via Notification Hubs.

Ciblage d'inscriptions spécifiques

La seule façon de cibler des inscriptions spécifiques est de les associer à une balise, puis de cibler cette balise. Comme indiqué dans la rubrique Gestion des inscriptions, pour recevoir des notifications push, une application doit inscrire un appareil sur un concentrateur de notification. Lorsqu’une inscription est créée sur un concentrateur de notification, le serveur principal d'application peut envoyer des notifications push.

Le serveur principal d'application peut choisir les inscriptions à cibler avec une notification spécifique en procédant ainsi :

  1. Diffusion: toutes les inscriptions dans le concentrateur de notification reçoivent la notification.

  2. Balise: toutes les inscriptions qui contiennent la balise spécifiée reçoivent la notification.

  3. Expression de balise: toutes les inscriptions dont le jeu de balises correspond à l'expression spécifiée reçoivent la notification.

Notes

Lors de l'envoi d'une charge utile spécifique à une plate-forme (par exemple, une notification spécifique à Windows Store), seules les inscriptions pour cette plate-forme spécifique reçoivent la notification. Lors de l'envoi d'une notification de modèle, seules les inscriptions spécifiant un modèle sont visées. Pour plus d’informations, consultez Gestion des inscriptions.

Étiquettes

Une balise est une chaîne de 120 caractères maximum, contenant des caractères alphanumériques ainsi que les caractères non alphanumériques suivants : « _ », « @ », « # », « . », « : » et « - ». L'exemple suivant montre une application à partir de laquelle vous pouvez recevoir des notifications toast concernant des groupes musicaux spécifiques. Dans ce scénario, une méthode simple pour acheminer des notifications consiste à étiqueter les inscriptions avec des balises représentant les différents groupes de musique, comme dans l'image suivante.

Tag Expressions

Dans cette image, le message marqué par le mot-clé Beatles atteint uniquement la tablette enregistrée avec le mot-clé Beatles.

Pour plus d'informations sur la création d’inscriptions pour des balises, consultez Gestion des inscriptions.

Vous pouvez envoyer des notifications à des étiquettes à l’aide des méthodes d’envoi de notifications de la classe Microsoft.ServiceBus.Notifications.NotificationHubClient dans le Kit de développement logiciel (SDK). Vous pouvez également utiliser Node.js ou les API REST notifications Push.

Notez les exemples qui suivent :

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

Les balises n'ont pas besoin d'être provisionnées et peuvent référencer plusieurs concepts propres à l'application. Par exemple, les utilisateurs de cet exemple d'application peuvent publier des commentaires sur les groupes et recevoir des notifications toast non seulement concernant les commentaires sur leurs groupes favoris, mais également pour tous les commentaires de leurs amis, quel que soit le groupe qu’ils commentent. L'illustration suivante montre un exemple de ce scénario :

Tag Expressions

Dans cette image, Alice s'intéresse à l’actualité des Beatles, et Bob à celle des Wailers. Bob est également intéressée par les commentaires de Charlie, et Charlie s'intéresse aux Wailers. Lorsqu'une notification est envoyée concernant un commentaire de Charlie sur les Beatles, Alice et Bob la reçoivent.

Important

Si vous pouvez encoder plusieurs éléments en balises (par exemple, « band_Beatles » ou « follows_Chanrlie »), les balises sont de simples chaînes et non des propriétés avec des valeurs. Un enregistrement est mis en correspondance uniquement en présence ou en absence d'une balise spécifique.

Pour obtenir un didacticiel complet et détaillé sur la façon d'utiliser des balises pour l'envoi à des groupes d'intérêt, consultez la rubrique Dernières nouvelles.

Notes

Dans l'exemple précédent, vous devez envoyer une seule notification pour deux balises (en fournissant un tableau de balises, ou en utilisant une expression de balise avec OR), au lieu de deux notifications. L'envoi de deux notifications à des balises individuelles se traduit par des doublons pour les inscriptions qui ont les deux balises, ce qui n'est pas le cas avec l'utilisation d'expressions de balise.

Utilisation de balises pour cibler des utilisateurs

Une autre façon d'utiliser des balises consiste à identifier tous les appareils d'un utilisateur particulier. Les inscriptions peuvent être étiquetées avec une balise contenant un ID utilisateur, comme dans l'illustration suivante :

Tag Expressions

Dans cette image, le message avec la balise uid:Alice atteint toutes les inscriptions possédant la balise uid:Alice, donc tous les appareils d’Alice.

Expressions de balise

Dans certains cas, une notification doit cibler un jeu d'inscriptions identifié non pas par une balise unique, mais par une expression booléenne sur des balises.

Examinons une application de sports qui envoie un rappel à tous les abonnés habitant Boston qu’un match opposera les Red Sox aux Cardinals. Si l'application cliente inscrit des balises spécifiques à ces équipes et à ce lieu, la notification doit être ciblée pour tous les abonnés de Boston qui s’intéressent aux Red Sox ou aux Cardinals. Cette condition peut être exprimée avec l'expression booléenne suivante :

(follows_RedSox || follows_Cardinals) && location_Boston

Tag Expressions

Les expressions de balise peuvent contenir tous les opérateurs booléens, tels que AND (&&), OR (||) et NOT (!). Elles peuvent également contenir des parenthèses. Les expressions de balise sont limitées à 20 balises si elles contiennent uniquement des opérateurs OR ; sinon, elles sont limitées à 6 balises.

Vous pouvez envoyer des notifications à des expressions de balise à l’aide des méthodes d’envoi de notifications de la classe Microsoft.ServiceBus.Notifications.NotificationHubClient dans le Kit de développement logiciel (SDK). Vous pouvez également utiliser Node.js ou les API REST notifications Push. Notez les exemples qui suivent :

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

Voir aussi

Autres ressources

Références d’API
didacticiel Nouvelles de dernière minute
Tutoriel Envoyer des notifications aux utilisateurs