Partager via


Les notifications sous WP7

Ce chapitre aborde le système de notifications de Windows Phone et particulièrement l’utilisation du composant du toolkit azure qui permet de créer facilement un backend qui enverra des notifications aux utilisateurs. Ce composant du toolkit est par ailleurs disponible en package nuget, ce qui le rend indépendant du reste du coach !

L'une des fonctionnalités les plus intéressantes sur Windows Phone est le système de notifications push. Ce système permet entre autres aux applications d'interagir avec les utilisateurs sans que ceux-ci n'aient quoi que ce soit à faire. Le grand intérêt est de pouvoir transmettre des informations à l'utilisateur sans qu'il n'ait à ouvrir l'application.

Ce système fait intervenir trois entités:

  • Le terminal Windows Phone.
  • Le service push Microsoft Push Notification Service, généralement noté PNS.
  • Et enfin le service push du développeur de l'application.

Dans le cas de WAT, le service push du développeur est pris en charge par le proxy (cool non ?).

Chaque terminal a un identifiant unique. Chaque fois que l’application doit être connectée au service de push, l'application envoie une requête au service push de l'éditeur en précisant l'identifiant du téléphone. Le terminal est désormais inscrit au système de notifications push.

Lorsque l'application souhaite transmettre des informations à l'utilisateur, elle se connecte au service de push du PNS et transmet son message. Les serveurs PNS se chargent ensuite d'envoyer les messages aux différents téléphones spécifiés par le service de l'éditeur. Enfin, les utilisateurs reçoivent la notification sur leurs terminaux.

Sous Windows Phone il existe 3 types différents de notification :

  • Tile qui permet de modifier l’image d’arrière-plan de l’application sur l’écran principal ainsi que d’ajouter un message et un nombre de notifications (dans ce cas l’application n’est pas en cours d’utilisation),
  • Raw (ou http) qui permet d’afficher un message au sein de l’application,
  • Toast qui permet d’afficher une notification peu importe la page sur laquelle l’utilisateur se trouve (dans ce cas l’application peut ne pas être en cours d’utilisation).

Pour approfondir tous ces mécanismes, je vous renvoie à cette adresse : https://msdn.microsoft.com/fr-fr/library/ff402537(v=vs.92).aspx

En ce qui nous concerne, nous n’avons qu’à gérer la partie propre à Windows Phone.

Comme la partie Windows Phone peut être gérée de plein de manières différentes, le toolkit ne propose pas de bibliothèque tout prête pour cette tâche. Il propose par contre toute la partie « service push du développeur » via le proxy.

Une implémentation est fournie dans le code d’exemple Windows Phone fourni avec le toolkit. Comme le but de ce tutoriel n’est pas d’expliquer l’implémentation des notifications push coté Windows Phone, nous allons reprendre l’implémentation proposée dans le code d’exemple. Vous pourrez à loisir le décortiquer pour voir comment il est construit (vous allez sans doute apprendre pas mal de chose en faisant ça sur l’implémentation des notifications push).

Préparation de la démo

Fidèles à notre habitude, nous allons repartir du projet du tutoriel précédent (les Tables) pour mettre en scène les notifications. Comme pour les tables, il faut être correctement authentifié auprès du proxy WAT pour être en mesure de les utiliser.

Nous allons ajouter à la page des exemples un bouton « Notifications » :

Création de la page « NotificationsPage.xaml »

Vous allez créer une nouvelle page qui se compose juste d’une ListBox qui permettra d’afficher toutes les notifications reçues. Nous allons l’appeler « LstNotifications ».

Votre page devrait avoir en gros l’aspect suivant :

Avant d’oublier, nous allons tout de suite ajouter le code de navigation vers cette nouvelle page en réponse au clic sur le bouton « Notifications » de notre page « menu » :

private void BouNotifications_Click(object sender, RoutedEventArgs e) { this.NavigationService.Navigate( new Uri("/NotificationsPage.xaml", UriKind.Relative)); }

... Pour consulter la suite de l'article, veuillez le télécharger ci-dessous...

Télécharger l'article complet

> > N'oubliez pas de télécharger également les sources < <

Offrez du Cloud à vos applications mobiles

Azure Toolkit pour Windows Phone

Azure Toolkit pour iOS

Azure Toolkit pour Android

 

Découvrez nos autres coachs