Les notifications push Azure avec Cordova pour IOS et Windows Phone 8

microsoft_azure

Après mon premier post, je vais vous présenter les déclinaisons pour IOS et Windows Phone 8. Cette fois ci, je vais directement cibler les étapes d'intégration avec Cordova spécifiques pour les plateformes IOS et Windows Phone 8.

Pré-requis

Avant de vous lancer dans la mise en oeuvre des notifications, assurez-vous d'avoir :

  • JDK 7
  • Ant
  • Un  compte Microsoft
  • Le gestionnaire de packages npm installé
  • Installez le gestionnaire de librairie Javascript bower
  • Installez l'exécuteur de tâches Javascript grunt

Pour IOS vous aurez également besoin :

  • Un Mac 😉
  • OS X version 10.7 minimum
  • Xcode 4.5 minimum
  • Un compte développeur Apple

Pour Windows Phone 8 vous aurez également besoin :

  • Un PC ou une VM avec Windows 8 Pro 64bits avec HyperV
  • Le SDK Windows Phone 8
  • Avoir au minimum Visual Studio 2012, je vous conseille Visual Studio 2015 dont la prise en charge de projet Cordova est plus étendue

Configuration du hub Azure

Avant de rentrer dans le vif du sujet, il vous faudra passer par toute une phase de configuration de votre hub Azure en fonction de votre plateforme cible. Pour cela je vous oriente vers les tutoriaux "get started "de Microsoft, préférez les versions "English-US" qui sont les plus à jour :

Vous verrez que la configuration pour IOS est beaucoup plus longue que pour Windows Phone 8.

De plus vous pouvez vous référerez au précédent article que j'ai publié sur ce sujet dans la partie "Mise en place du Hub Azure".

Création du projet Cordova

Initialisation du projet

Pour toute l'étape d'initialisation de votre projet Cordova, je vais une nouvelle fois faire référence à mon précédent post sur le sujet dans la rubrique "Création du projet Cordova" : "Initialisation du projet". Que vous choisissiez IOS ou Windows Phone 8, le mode opératoire et le même. Exception faite de la commande d'ajout de la plateforme :

cordova platform add wp8
Ajout de la plateforme Windows Phone 8
cordova platform add ios
Ajout de la plateforme IOS

Test des notifications

Déploiement du projet Cordova IOS

Comme pour la version Android, il vous faut préparer les sources de votre application via la tâche grunt suivante à exécuter à la racine de votre projet :

grunt build

Puis les packager pour être exécutés sur un IPhone ou un IPad. Vous ne pourrez pas faire de tests sur le simulateur IOS puisqu'il ne permet pas de faire des tests de notifications push.

cordova build ios

Vous devriez avoir un fichier "AngularCordova.xcodeproj" de créé dans le répertoire "/platforms/ios", ouvrez ce dernier avec XCode.

Une fois XCode ouvert, vous devriez voir la la structure de votre projet. Avant de pouvoir exécuter votre application sur votre mobile, il vous reste trois formalités à accomplir :

  1. Comme indiqué dans la documentation du plugin "https://github.com/sgrebnov/cordova-plugin-azure-notificationhub#platform-quirks", vous devez modifier votre fichier "AppDelegate.m" pour pouvoir recevoir des notifications émises de la plateforme Azure.
  2. Dans le plugin de notifications azure pour cordova, la version de la librairie "Azure Mobile Services" pour IOS n'est pas compatible 64bits. Vous pouvez la modifier en téléchargeant la version "iOS 2.0 SDK" via cette page github "https://github.com/Azure/azure-mobile-services/blob/master/CHANGELOG.ios.md#sdk-downloads", puis il faut copier le contenu de l'archive dans le dossier "/platforms/ios/AngularCordova/Plugins/msopentech.azure.NotifiationHub" à la racine de votre projet Cordova.
  3. Vous devez permettre à votre application de recevoir des notifications Push. Cliquez à la racine de projet sous XCode, puis sur la catégorie "Capabilities" puis dans la rubrique "Background Modes" et cochez l'option "Remote notifications". Vous pouvez exécuter votre projet en cliquant sur le bouton "Build and Run".

Voilà qui est fait, vous pouvez maintenant vous connecter à votre console Azure et faire des tests de notifications via la page  "DEBOGUER".

notification-hubs-debug-ios

Déploiement du projet Cordova Windows Phone 8

Pour Windows Phone 8, ça va être plus simple. Vous devez dans un premier temps passer par les mêmes étapes de compilations que pour IOS en vous positionnant à la racine de votre projet.

grunt build

Puis les packager pour être exécutés sur un Windows Phone ou sur l'émulateur Windows phone.

cordova build wp8

Une fois votre projet compilé vous devriez avoir un fichier "AngularCordova.sln" sous le répertoire "/platforms/wp8", ouvrez ce dernier avec VisualStudio.

L'exécution se fait en sélectionnant "Windows Phone 8" dans la  combo "platform" et votre mobile dans la combo "target" puis cliquez sur le bouton "run" ou sur la touche "F5".

Voilà qui est fait, vous pouvez maintenant vous connecter à votre console Azure et faire des tests de notifications via la page  "DEBOGUER".

notification_hub_wp_debug

Conclusion

Avec ce deuxième article et quelques petits ajustements par rapport au plugin de départ, nous avons fini de couvrir les trois principales plateformes mobiles avec l'utilisation du hub de notifications Azure dans le cadre d'une application développée avec Cordova.

Comme vous avez pu le constater, les notifications ne sont visibles que si votre application est en arrière plan ou arrêtée. Pour afficher des notifications pendant que vous consultez votre application, je vous donne rendez-vous dans mon prochain article dans cette trilogie sur le Push Azure où je vous parlerai des tags et des paramètres pour dynamiser vos notifications.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.