VENTES: 1-800-867-1389

Didacticiel relatif au concentrateur de notification Service Bus (applications iOS)

noteRemarque
Les concentrateurs de notification sont uniquement disponibles dans Windows Azure Service Bus sous la forme d’une fonctionnalité préliminaire depuis janvier 2013. Sa disponibilité devrait être généralisée en milieu d’année 2013.

noteRemarque
Compte tenu des améliorations apportées aux concentrateurs de notification, le SDK que vous téléchargez avant le mois d'avril 2013 ne sera pas compatible avec les nouveaux concentrateurs de notification. Inversement, le SDK actuel n'est pas compatible avec les concentrateurs de notification créés avant avril 2013. Utilisez les nouveaux concentrateurs avec le nouveau SDK pour tirer parti des nouvelles fonctionnalités, notamment le modèle de concurrence optimiste. La prise en charge des concentrateurs de notification créés avant avril 2013 s'achève lors des transitions des concentrateurs vers GA (General Availability).

Les concentrateurs de notification Service Bus sont des entités Service Bus qui permettent à un utilisateur d’envoyer des notifications Push d’appareils via des plateformes d’applications tierces, notamment :

  • les Services de notifications Push Windows (WNS) pour Windows 8 ;

  • le service de notifications Push Apple (APN).

  • Google Cloud Messaging Service (GCM).

La prise en charge des Services de notification Push Microsoft (MPNS) pour Windows Phone sera bientôt disponible.

Ce didacticiel explique comment configurer une application iOS et une application .NET simple diffusant une notification via le service de notifications Push Apple.

La procédure à suivre est la suivante :

  1. Générez la requête de signature de certificat pour activer APN pour votre application.

  2. Inscrivez vos applications iOS sur le Portail d’approvisionnement iOS pour activer les notifications Push et obtenir les informations d’identification et le profil d’approvisionnement.

  3. Créez un profil d’approvisionnement pour l’application.

  4. création et configuration d’un concentrateur de notification ;

  5. Configurez votre application iOS de manière à recevoir les notifications Push en provenance d’un concentrateur de notification.

  6. Créez un programme de serveur principal permettant de diffuser une notification Push.

Une rubrique approfondie Procédure relative aux concentrateurs de notification Service Bus (applications iOS) et une rubrique de présentation Concentrateurs de notification Windows Azure Service Bus sont également disponibles.

Conditions préalables

Pour réaliser les tâches décrites dans ce didacticiel, vous devez disposer des éléments suivants :

  • un compte de développeur Apple ;

  • la version préliminaire du Kit de développement logiciel (SDK) Service Bus .NET. Le Kit de développement logiciel (SDK) est un package NuGet contenant la version préliminaire des fonctionnalités de Service Bus que vous pouvez télécharger ici. Le package est ServiceBus preview features, et il contient une nouvelle bibliothèque Service Bus intitulée Microsoft.ServiceBus.Preview.dll. Pour utiliser les concentrateurs de notification, veuillez utiliser cette bibliothèque au lieu de la version de production (Microsoft.ServiceBus.dll) ;

  • l’infrastructure du Kit de développement logiciel (SDK) Service Bus iOS. Vous pouvez la télécharger ici.

Création de la requête de signature de certificat

  1. Tout d’abord, générez le fichier de demande de signature de certificat (CSR), qu’Apple utilise pour générer un certificat signé.

  2. Dans le dossier Outils, exécutez l’outil Trousseau d’accès.

  3. Cliquez sur Trousseau d’accès, développez Certificate Assistant (Assistant Certificat), puis cliquez sur Request a Certificate from a Certificate Authority... (Demander un certificat auprès d’une autorité de certification...).

    demande de signature de certificat
  4. Cliquez sur User Email Address (Adresse de messagerie de l’utilisateur), entrez les valeurs Common Name (Nom commun) et CA Email Address (Adresse de messagerie de l’autorité de certification), vérifiez que l’option Saved to disk (Enregistrer sur le disque) est sélectionnée, puis cliquez sur Continue (Continuer).

    informations sur les certificats
  5. Entrez un nom pour le fichier de demande de signature de certificat (CSR) dans Save As (Enregistrer sous), sélectionnez un emplacement dans Where (Emplacement), puis cliquez sur Save (Enregistrer). Cette opération enregistre le fichier CSR dans l’emplacement sélectionné : l’emplacement par défaut est le Bureau. Notez l’emplacement sélectionné pour ce fichier.

    demande de signature de certificat
  6. Ensuite, inscrivez votre application auprès d’Apple, activez les notifications Push, puis téléchargez ce fichier CSR exporté pour créer un certificat Push.

Inscription de votre application et activation des notifications Push

  1. Pour pouvoir envoyer des notifications Push à une application iOS, inscrivez votre application auprès d’Apple, puis inscrivez-vous à des notifications Push.

  2. Si vous n’avez pas déjà inscrit votre application, accédez au Portail d’approvisionnement iOS dans le Centre de développement Apple, connectez-vous avec votre ID Apple, cliquez sur App IDs (ID d’applications), puis cliquez sur New App ID (Nouvel ID d’application).

    Portail d'approvisionnement iOS
  3. Dans Description (Description), entrez un nom pour votre application, entrez la valeur ServiceBus.Tutorial dans Bundle Identifier (Identificateur du regroupement), puis cliquez sur Submit (Envoyer).

    noteRemarque
    L’identificateur de regroupement doit être identique à celui que vous avez fourni dans le projet Xcode pour votre application.

  4. Recherchez l’ID d’application que vous avez créée, puis cliquez sur Configure (Configurer).

  5. Activez la case à cocher Enable for Apple Push Notification service (Activer pour Apple Push Notification service), puis cliquez sur Configure (Configurer) pour le certificat SSL de développement Push. L’Apple Push Notification service SSL Certificate Assistant (Assistant Certificat SSL d’Apple Push Notification service) s’affiche.

    noteRemarque
    Le même processus s’applique à un certificat de production.

  6. Cliquez sur Browse (Parcourir), accédez à l’emplacement dans lequel vous avez enregistré le fichier CSR que vous avez créé durant la première tâche, puis cliquez sur Generate (Générer).

  7. Une fois que le portail a créé le certificat, cliquez sur Continue (Continuer), puis, dans l’écran suivant, cliquez sur Download (Télécharger). Le certificat de signature est téléchargé et enregistré sur votre ordinateur dans votre dossier Téléchargements sous aps_development.cer.

  8. Double-cliquez sur le certificat Push téléchargé (aps_development.cer). Le nouveau certificat est téléchargé et installé dans le trousseau.

  9. Dans Keychain Access (Trousseau d’accès), cliquez avec le bouton droit sur le nouveau certificat, cliquez sur Export (Exporter), nommez votre fichier ServiceBusTutorial, sélectionnez le format .p12, puis cliquez sur Save (Enregistrer).

    ImportantImportant
    Si le portail n’accepte pas l’extension .p12, remplacez-la par le type d’extension .pfx.

Création d’un profil d’approvisionnement pour l’application.

  1. Dans le Portail d’approvisionnement iOS, cliquez sur Provisioning (Approvisionnement), puis cliquez sur New Profile (Nouveau profil).

  2. Entrez un nom de profil, cliquez sur les certificats et appareils à utiliser pour le test, sélectionnez l’ID de l’application, puis cliquez sur Submit (Envoyer). Un nouveau profil d’approvisionnement est créé.

  3. Dans la liste des profils d’approvisionnement, cliquez sur Download (Télécharger) pour ce nouveau profil. Le profil est téléchargé sur l’ordinateur local.

  4. Dans Xcode, ouvrez l’Organisateur, sélectionnez la vue Devices (Appareils), cliquez sur Provisioning Profiles (Profils d’approvisionnement) dans la section Library (Bibliothèque) du volet gauche, puis sur le bouton Import (Importer) en bas du volet du milieu.

  5. Recherchez le profil d’approvisionnement téléchargé, puis cliquez sur Open (Ouvrir).

  6. Sous Targets (Cibles), cliquez sur la cible principale de votre application (généralement, le nom de l’application), développez Code Signing Identity (Identité de signature de code), puis sous Debug (Débogage), sélectionnez le nouveau profil. Cette procédure garantit que le projet Xcode utilise le nouveau profil pour la signature de code.

Création d’un concentrateur de notification Service Bus

Dans le Portail de gestion Windows Azure, créez un concentrateur de notification et configurez-le de manière à envoyer des notifications Push à une application Windows Store.

  1. Connectez-vous au Portail de gestion Windows Azure (http://manage.windowsazure.com/).

  2. Dans le coin inférieur gauche, cliquez sur Nouveau.

  3. Cliquez sur Services d’application, Service Bus, puis Concentrateur de notification et enfin sur Création rapide.

    Créer un hub de notification Service Bus
  4. Indiquez un nom pour le concentrateur de notification, une région et l’espace de noms dans lequel ce concentrateur de notification sera créé (si aucun espace de noms n’est disponible, un nouveau est configuré avec le nom souhaité).

  5. Cliquez sur la coche.

  6. Sous l’onglet Service Bus, dans le volet de navigation gauche, cliquez sur l’espace de noms créé. Le concentrateur de notification doit apparaître dans la liste.

    Hub de notification Service Bus
  7. Cliquez sur le concentrateur de notification, puis sur l’onglet Configurer en haut.

    Hub de notification Service Bus
  8. Téléchargez le certificat des APN (ServiceBusTutorial.p12), avec son mot de passe. N’oubliez pas de sélectionner l’environnement correspondant pour le certificat, par exemple Production ou Développement.

Création d’une application iOS et inscription aux notifications Push avec Service Bus

Téléchargement et référence à l’infrastructure Service Bus

  1. Téléchargez la version préliminaire du Kit de développement logiciel (SDK) Service Bus iOS.

  2. Faites glisser le dossier WindowsAzureServiceBus.framework depuis le Finder vers votre projet (sélectionnez Copy items into destination group’s folder (Copier des éléments dans le dossier de groupe de destinations) (si nécessaire)).

Accès à un concentrateur de notification

  1. Ajoutez la directive d’importation suivante dans la classe AppDelegate de votre application.

    #import <WindowsAzureMessaging/WindowsAzureMessaging.h>
    
  2. Écrivez le code suivant dans la méthode didFinishLaunchingWithOptions :

    [[UIApplication sharedApplication] registerForRemoteNotificationTypes: UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound];
    
  3. Dans le Portail de gestion Windows Azure, cliquez sur Service Bus dans le volet de navigation gauche, puis cliquez sur votre espace de noms sur la droite. Notez le nom de ce dernier.

  4. Cliquez sur le concentrateur de notification, puis sur Informations de connexion dans la barre d’outils inférieure.

    Hub de notification Service Bus
  5. Copiez la valeur de la chaîne de connexion intitulée DefaultListenSharedAccessSignature.

  6. Dans AppDelegate.m, ajoutez la méthode suivante pour créer une inscription avec modèle pour cet appareil : Faites attention à remplacer la chaîne de connexion par la valeur que vous venez de copier depuis le portail :

    (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *) deviceToken {    
        SBNotificationHub* hub = [[SBNotificationHub alloc] initWithConnectionString:
                                  @"<connection string>" notificationHubPath:@"mynh"];
        
        [hub registerNativeWithDeviceToken:deviceToken tags:nil completion:^(NSError* error) {
            if (error != nil) {
                NSLog(@"Error registering for notifications: %@", error);
            }
        }];
    }
    
  7. Dans AppDelegate.m, ajoutez la méthode suivante pour afficher un UIAlert si une notification est reçue lorsque l’application est en cours d’exécution :

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:
    (NSDictionary *)userInfo {
        NSLog(@"%@", userInfo);
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Notification" message:
        [userInfo objectForKey:@"inAppMessage"] delegate:nil cancelButtonTitle:
        @"OK" otherButtonTitles:nil, nil];
        [alert show];
    }
    

La section Procédure relative aux concentrateurs de notification Service Bus (applications iOS), contient des informations supplémentaires sur le code précédent, ainsi qu’une méthode d’accès aux fonctionnalités les plus avancées des concentrateurs de notification depuis les applications iOS.

Création d’une application de serveur principal pour envoyer des notifications Push

  1. Dans Visual Studio, créez un projet, sélectionnez Visual C#->Windows->Application console.

  2. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur Références, puis cliquez sur Gérer les packages NuGet. Recherchez le package service bus preview features, puis installez-le.

  3. Dans Program.cs, ajoutez le code suivant en haut :

    using Microsoft.ServiceBus;
    using Microsoft.ServiceBus.Messaging;
    using Microsoft.ServiceBus.Notifications;
    
  4. Dans le Portail de gestion Windows Azure, dans le tableau de bord du concentrateur de notification, cliquez sur Informations de connexion dans la barre d’outils inférieure.

    Hub de notification Service Bus
  5. Copiez la valeur de la chaîne de connexion intitulée DefaultFullSharedAccessSignature.

  6. Dans Program.cs, collez le code suivant dans la méthode Main(), en remplaçant l'espace réservé par la chaîne de connexion que vous venez de copier depuis le portail :

    var hubClient = NotificationHubClient.CreateClientFromConnectionString(“<connection string>, "myHub");
    var iosPayload = AppleNotificationJsonBuilder.Create("Hello!");
    iosPayload.CustomFields.Add("inAppMessage", "Hello!");
    hubClient.SendAppleNativeNotification(iosPayload.ToJsonString());
    

Exécution de l’application et envoi d’une notification

  1. Dans Xcode, dans le coin supérieur gauche, cliquez sur iOS Device (Appareil iOS).

ImportantImportant
Les notifications Push ne fonctionnent pas dans le simulateur.

  1. Exécutez l’application sur votre appareil.

  2. Dans Visual Studio, exécutez le programme console.

  3. Une notification devrait apparaître sur l’appareil.

Envoi d’une notification avec Node.js

  1. Installez le module du nœud Azure :

    npm install azure
    
  2. Dans un script de nœud (ou sur une console interactive), tapez la commande suivante :

    var azure = require('azure');
    var hub = azure.createNotificationHubService('<your hub name>', '<your connection string with full access>');
    hub.apns.send(null, '{ alert: "This is my toast message for iOS!"}');
    

Envoi d'une notification à l'aide des services mobiles

Les services mobiles permettent de créer rapidement un serveur principal pour votre application. Vous pouvez utiliser les concentrateurs de notification à partir des services mobiles pour diffuser des notifications à des millions d'appareils ou pour créer facilement des groupes d'intérêts à l'aide de mots-clés.

Ce didacticiel fait appel à une tâche planifiée, mais vous pouvez envoyer des notifications à partir d'un script côté serveur dans votre service mobile.

  1. Créez un service mobile ou connectez-vous au vôtre. Pour plus d'informations sur le sujet suivant les services mobiles, consultez cette page.

  2. Dans la barre supérieure, cliquez sur Planificateur.

    Notifications push
  3. Créez une tâche planifiée, insérez un nom, puis cliquez sur À la demande.

    Notifications push
  4. Une fois la tâche créée, cliquez sur son nom. Dans la barre supérieure, cliquez sur Script.

  5. Insérez le script suivant. Veillez à remplacer les espaces réservés par le nom de votre concentrateur de notification et la chaîne de connexion pour DefaultFullSharedAccessSignature obtenue précédemment. Cliquez sur Enregistrer.

    function PushToNotificationHub() {
        var azure = require('azure');
        
        var notificationHubService = azure.createNotificationHubService('<hub name>',
        '<connection string>');
    
        notificationHubService.hub.apple.send(
            null,
            {
                alert: "Hello from Mobile Services!"
            },
            function (error)
            {
                if (!error) {
                    console.warn("Notification successful");
                }
            }
        );
    }
    
  6. Dans la barre inférieure, cliquez sur Exécuter une fois.

noteRemarque
Les services mobiles font appel au Kit de développement logiciel (SDK) pour Node.js afin d'accéder aux concentrateurs de notification. Pour plus d'informations sur le sujet suivant le Kit de développement logiciel (SDK) de Windows Azure pour Node.js avec les concentrateurs de notification, consultez cette page.

Comme ci-dessus, si 10 000 instances de client sont inscrites, le concentrateur de notification crée et envoie les 10 000 copies de la notification, et procède à la gestion des erreurs et des inscriptions nécessaires.

Étapes suivantes

Les concentrateurs de notification offrent d’autres fonctionnalités utiles. Consultez les rubriques suivantes pour en savoir plus sur les concentrateurs de notification.

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

Afficher:
© 2014 Microsoft