Tutoriel : Envoyer des notifications à des applications de plateforme Windows universelle avec Azure Notification Hubs

Dans ce didacticiel, vous créez un hub de notification pour envoyer des notifications Push à une application de plateforme Windows universelle (UWP). Vous créez une application Windows Store vide qui reçoit des notifications Push au moyen du Service de notifications Windows Push (WNS). Vous utilisez ensuite votre hub de notification pour diffuser des notifications Push sur tous les appareils exécutant votre application.

Notes

Vous pouvez trouver le code complet de ce didacticiel sur GitHub.

Procédez comme suit :

  • Créer une application dans Windows Store
  • Création d’un hub de notifications
  • Créer un exemple d’application Windows
  • Envoyer des notifications de test

Prérequis

  • Abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte Azure gratuit avant de commencer.
  • Microsoft Visual Studio 2017 ou version ultérieure. L’exemple de ce tutoriel utilise Visual Studio 2019.
  • Outils de développement d’applications UWP installés
  • Un compte Windows Store actif
  • Vérifiez que le paramètre Obtenir les notifications des applications et des autres expéditeurs est activé.
    • Lancez la fenêtre Paramètres sur votre ordinateur.
    • Sélectionnez la vignette Système.
    • Sélectionnez Notifications et actions dans le menu de gauche.
    • Vérifiez que le paramètre Obtenir les notifications des applications et des autres expéditeurs est activé. Activez-le s’il ne l’est pas.

Vous devez terminer ce didacticiel avant de pouvoir suivre tous les autres didacticiels Notification Hubs pour les applications UWP.

Créer une application dans Windows Store

Notes

Le Service de notifications Push Microsoft (MPNS, Microsoft Push Notification Service) est déconseillé et n’est plus pris en charge.

Pour envoyer des notifications Push à des applications UWP, associez votre application au Windows Store. Ensuite, configurez votre Notification Hub pour l’intégrer à WNS.

  1. Accédez à la page Centre de développement Windows, connectez-vous avec votre compte Microsoft, puis sélectionnez Créer une application.

    New app button

  2. Saisissez un nom pour votre application et sélectionnez Réserver le nom de produit. La nouvelle inscription au Windows Store pour votre application est alors créée.

    Store app name

  3. Développez Gestion des produits, puis sélectionnez Identité du produit. Notez les valeurs Package SID, Package/Identity/Name, Package/Identity/Publisheret Package/Properties/PublisherDisplayName.

    Partner center apps

  4. Sous Gestion des produits, sélectionnez WNS/MPNS, puis sélectionnez Portail d’inscription des applications. vous connecter à votre compte Microsoft ; La page d’inscription des applications s’ouvre dans un nouvel onglet.

    WNS page

  5. Sous Essentials, sélectionnez Informations d’identification du client : ajouter un certificat ou une clé secrète.

    Notification Hub settings on Azure portal

  6. Dans la page Certificats et secrets, sous Secrets clients, sélectionnez + Nouveau secret client. Après avoir créé une clé secrète client (également appelée secret de l’application), notez-la avant de fermer la page.

    Avertissement

    Vous pouvez uniquement afficher les valeurs de secret client (secret de l’application) immédiatement après les avoir créées. Veillez à enregistrer la clé secrète avant de quitter la page.

    Client secret on portal

    Avertissement

    Le secret d’application et le SID du package sont des informations d'identification de sécurité importantes. Ne partagez pas ces valeurs avec quiconque et ne les distribuez pas avec votre application.

Création d’un concentrateur de notification

  1. Connectez-vous au portail Azure.

  2. Sélectionnez Tous les services dans le menu de gauche. A screenshot showing select All Services for an existing namespace.

  3. Saisissez Notification Hubs dans la zone de texte Services de filtre. Sélectionnez l’icône d’étoile en regard du nom du service pour l’ajouter à la section FAVORIS dans le menu de gauche. Sélectionnez Notification Hubs.

    A screenshot showing how to filter for notification hubs.

  4. Dans la page Notification Hubs, sélectionnez Créer dans la barre d’outils.

    A screenshot showing how to create a new notification hub.

  5. Sous l’onglet Informations de base de la page Notification Hub, effectuez les étapes suivantes :

    1. Dans Abonnement, sélectionnez le nom de l’abonnement Azure que vous souhaitez utiliser, puis sélectionnez un groupe de ressources existant ou créez-en un.

    2. Entrez un nom unique pour le nouvel espace de noms dans Détails de l’espace de noms.

    3. Un espace de noms contient un ou plusieurs hubs de notification, donc tapez un nom pour le hub dans Détails du hub de notification.

    4. Sélectionnez une valeur dans la zone de liste déroulante Emplacement. Cette valeur spécifie l’emplacement où vous voulez créer le hub.

      Screenshot showing notification hub details.

    5. Examinez l’option Zones de disponibilité. Si vous avez choisi une région contenant des zones de disponibilité, la case à cocher est sélectionnée par défaut. Les zones de disponibilité étant une fonctionnalité payante, des frais supplémentaires sont ajoutés à votre niveau.

    6. Choisissez une option de Récupération d’urgence : Aucune, Région de récupération jumelée ou Région de récupération flexible. Si vous choisissez Région de récupération jumelée, la région de basculement s’affiche. Si vous sélectionnez Région de récupération flexible, utilisez la liste déroulante pour choisir parmi une liste de régions de récupération.

      Screenshot showing availability zone details.

    7. Sélectionnez Create (Créer).

  6. Une fois le déploiement terminé, sélectionnez Accéder à la ressource.

Configurer les paramètres WNS le hub

  1. Dans la catégorie PARAMÈTRES DE NOTIFICATION, sélectionnez Windows (WNS) .

  2. Entrez les valeurs pour SID de package (comme « ms-app://<Your Package SID> ») et Clé de sécurité (secret de l’application) notées à la section précédente.

  3. Cliquez sur Save dans la barre d'outils.

    The Package SID and Security Key boxes

Votre Notification Hub est désormais configuré pour fonctionner avec WNS. Vous disposez des chaînes de connexion pour inscrire votre application et envoyer des notifications.

Créer un exemple d’application Windows

  1. Dans Visual Studio, ouvrez le menu Fichier, sélectionnez Nouveau, puis Projet.

  2. Dans la boîte de dialogue Créer un projet, effectuez les étapes suivantes :

    1. Dans la zone de recherche située en haut, tapez Windows universel.

    2. Dans les résultats de la recherche, sélectionnez Application vide (Windows universel) , puis Suivant.

      New Project dialog

    3. Dans la boîte de dialogue Configurer votre nouveau projet, entrez un Nom de projet et un Emplacement pour les fichiers projet.

    4. Sélectionnez Create (Créer).

  3. Acceptez les valeurs par défaut pour les versions de plateforme cible et minimale puis sélectionnez OK.

  4. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet d’application Windows Store, sélectionnez Publier, puis Associer l’application au Windows Store. L'Assistant Associer votre application au Windows Store s'affiche.

  5. Dans l’Assistant, connectez-vous avec votre compte Microsoft.

  6. Sélectionnez l’application inscrite à l’étape 2, puis sélectionnez Suivant et Associer. Cela ajoute les informations d’inscription Windows Store requises au manifeste de l’application.

  7. Dans Visual Studio, cliquez avec le bouton droit sur la solution, puis sélectionnez Gérer les packages NuGet. La fenêtre Gérer les packages NuGet s’ouvre.

  8. Dans la zone de recherche, saisissez WindowsAzure.Messaging.Managed, sélectionnez Installeret acceptez les conditions d’utilisation.

    The Manage NuGet Packages window

    Cette action télécharge, installe et ajoute une référence à la bibliothèque Azure Notification Hubs pour Windows à l’aide du package NuGet Microsoft.Azure.NotificationHubs.

  9. Ouvrez le fichier App.xaml.cs du projet et ajoutez les instructions qui suivent :

    using Windows.Networking.PushNotifications;
    using Microsoft.WindowsAzure.Messaging;
    using Windows.UI.Popups;
    
  10. Dans le fichier App.xaml.cs du projet, recherchez la classe App et ajoutez la définition de méthode InitNotificationsAsync suivante. Remplacez <your hub name> par le nom du hub de notification que vous avez créé dans le portail Azure et remplacez <Your DefaultListenSharedAccessSignature connection string> par la chaîne de connexion DefaultListenSharedAccessSignature de la page Stratégies d’accès de votre hub de notification :

    private async void InitNotificationsAsync()
    {
        var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
    
        var hub = new NotificationHub("<your hub name>", "<Your DefaultListenSharedAccessSignature connection string>");
        var result = await hub.RegisterNativeAsync(channel.Uri);
    
        // Displays the registration ID so you know it was successful
        if (result.RegistrationId != null)
        {
            var dialog = new MessageDialog("Registration successful: " + result.RegistrationId);
            dialog.Commands.Add(new UICommand("OK"));
            await dialog.ShowAsync();
        }
    }
    

    Ce code récupère l’URI de canal pour l’application dans WNS et l’inscrit avec votre Notification Hub.

    Notes

    Remplacez l’espace réservé hub name par le nom du hub de notification affiché dans le portail Azure. Remplacez également l’espace réservé de la chaîne de connexion par la chaîne de connexion DefaultListenSharedAccessSignature que vous avez obtenue à la page Stratégies d’accès de votre hub de notification dans une section précédente.

  11. En haut du gestionnaire d’événements OnLaunched dans App.xaml.cs, ajoutez l’appel suivant vers la nouvelle méthode InitNotificationsAsync :

    InitNotificationsAsync();
    

    Cette action garantit l’inscription de l’URI de canal dans votre hub de notification chaque fois que l’application se lance.

  12. Cliquez avec le bouton droit sur Package.appxmanifest, puis sélectionnez Afficher le code (F7). Recherchez <Identity .../> et remplacez la valeur Name par le package/identité/nom, puis remplacez sa valeur Publisher par la valeur Package/Identity/Publisher de l’application que vous avez créée précédemment.

  13. Pour exécuter l’application, appuyez sur la touche F5 du clavier. Une boîte de dialogue contenant la clé d’inscription s’affiche. Pour fermer la boîte de dialogue, cliquez sur OK.

    Registration successful

Votre application est maintenant prête à recevoir des notifications toast.

Envoyer des notifications de test

Vous pouvez tester rapidement la réception de notifications dans votre application en envoyant des notifications dans le Portail Azure.

  1. Dans le portail Azure, basculez vers l’onglet Vue d’ensemble, puis sélectionnez Test d’envoi sur la barre d’outils.

    Test Send button

  2. Dans la fenêtre Test d’envoi, effectuez les actions suivantes :

    1. Pour Plateformes, sélectionnez Windows.

    2. Pour Type de Notification, sélectionnez Toast.

    3. Sélectionnez Envoyer.

      The Test Send pane

  3. Examinez le résultat de l’opération d’envoi dans la liste Résultat au bas de la fenêtre. Vous voyez également un message d’alerte.

    Result of Send operation

  4. Vous voyez le message de notification : message de test sur votre bureau.

    Notification message

Étapes suivantes

Vous avez envoyé des notifications de diffusion à tous vos appareils Windows en utilisant le portail ou une application console. Pour savoir comment envoyer des notifications Push à des appareils spécifiques, passez au didacticiel suivant :