Depuis peu il est possible d’envoyer des notifications push depuis Azure Mobile Center.

Un usage classique des notifications est d’envoyer un rappel à l’utilisateur au bout d’un certain temps afin de l’inciter à réutiliser l’application. Il est bien évident que dans ce cas d’usage on a pas quelqu’un qui va envoyer à la main des notifications via le portail. Il nous faut donc un traitement automatisé. Alors bien qu’il soit possible d’utiliser le portail, le plus souvent ce sont les services web associés à l’application qui envoient automatiquement des notifications.

Configuration de l’application mobile

Pour cet article je présuppose que vous avez déjà des applications mobiles avec le Push configuré. A noter que Azure Mobile Service utilise Firebase (FCM) pour Android, on est donc parfaitement à jour !

Vous trouverez comment configurer vos applications avec ces excellentes documentations :

Les API

API First

Un des gros points forts d’Azure Mobile Center est la façon même avec laquelle le portail est développé. Tout d’abord l’API REST est créée et ensuite l’interface graphique est ajoutée. Cela veut donc dire que tout ce qui est accessible par le portail l’est en REST !

La documentation de ces API est disponible sous forme d’un Swagger sur https://docs.microsoft.com/en-us/appcenter/api-docs/ et on peut les tester directement.

Le seul pré-requis est de créer un token d’accès. Pour cela, rendez-vous sur https://mobile.azure.com/settings/apitokens, créez le token et stockez-le dans un endroit sûr car il ne vous sera jamais remontré.

Azure Mobile Center API token creation

Au moment où j’écris ces lignes l’API Push n’est pas documentée au bon endroit mais dans la partie Analytics. Ne l’ayant pas trouvée sur le moment j’ai utilisé CharlesProxy pour analyser le trafic généré par le portail et mes conclusions sont très positives !

Il est très facile d’envoyer des notifications en REST grâce à Mobile Center et donc de les intégrer dans n’importe quelle plateforme.

Récupération de l’utilisateur

Afin de pouvoir envoyer des push il faut le nom de votre utilisateur. Pour celà il vous suffit d’appeler le service suivant en GET

https://api.mobile.azure.com/v0.1/user

User API response

Récupération de l’application

Afin de pouvoir envoyer des push il faut également le nom de l’application. Pour celà il vous suffit d’appeler le service suivant en GET

https://api.mobile.azure.com/v0.1/apps

Apps API response

Envoi d’un push

Maintenant que l’on a les informations nécessaires, l’envoi d’une notification est aussi simple que de faire un POST sur la bonne url :

https://api.mobile.azure.com/v0.1/apps/[username]/[applicationname]/push/notifications

Le payload de notre push sera sous forme de json, alors on précise le bon header HTTP :

Content-Type: application/json

Ne reste plus qu’à écrire le payload de notre push dans le corps du message HTTP :

{
	"notification_target": null,
	"notification_content": {
		"name": "Test",
		"title": "Coucou Monde !",
		"body": "Test depuis Postman !",
		"custom_data": {}
	}
}

Ne reste plus qu’à envoyer la notification !

Push API response

Conclusion

Dans cet article je vous ai montré comment envoyer une notification push vers tous les utilisateurs de votre application grâce aux API REST de Azure Mobile Center. Il est possible de restreindre les utilisateurs cibles, mais c’est une histoire pour une autre fois.

Aujourd’hui, ma vie de développeur mobile est devenue beaucoup plus simple et tout cela c’est grâce à Azure Mobile Center. N’hésitez pas, comme moi, à surveiller les mises à jour de Azure Mobile Center car parfois ça vaux vraiment le coup :)

Comments