Sommaire

Le package Puhover permet d’envoyer des notifications sur vos appareils Android, iOS (iPhone/iPad) ou Deskop (Chrome, Safari et Firefox).

pushover

Le code source du package est disponible sur : https://github.com/myconstellation/constellation-packages/tree/master/Pushover

Installation

Prérequis : création du compte Pushover

Tout d’abord vous devez vous inscrire sur https://pushover.net/

image

Ensuite installez les clients sur vos appareils (Desktop, Android et/ou iOS).

image

Vous pourrez alors enregistrer vos différents appareils. Le client coute 4,99$ (en une fois, pas d’abonnement) par type de plateforme que vous pouvez installer sur tous vos appareils.

Sur le Dashboard, notez votre ID d’utilisateur en haut à droite :

image

Pour finir, vous devez déclarer une application dans Pushover. Pour cela sur le dashboard, cliquez sur “Register an Application/Create an API Token” :

image

Vous pourrez alors spécifier le nom de votre application, le logo (qui sera utilisé sur vos appareils), etc..

image

Sur la page de detail vous pourrez suivre la consommation/stat de votre application et surtout récupérer l’API Token indispensable pour la configuration du package Constellation :

image

Installation du package dans Constellation

Depuis le “Online Package Repository” de votre Console Constellation, déployez le package Puhover :

image

Une fois le package télécharger votre repository local, sélectionnez la sentinelle sur laquelle déployer le package.

Pour finir, sur la page de Settings, vous devez obligatoirement définir le votre l’API Token délivré par Pushover et l’ID de votre utilisateur Pushover qui sera le destinataire par défaut des notifications envoyés par le package.

image

Vous pouvez également déployer ce package manuellement dans la configuration de votre Constellation :

Détails du package

Les Settings

Nom Type Détail Description
Token ConfigurationSection(XML) Obligatoire API Token délivré par Pushover
UserId Int32 Obligatoire ID de votre utilisateur Pushover destinataire par défaut des notifications envoyés par le package
DefaultEmergencyRetry Int32 Optionnel
Par défaut : 60
Intervalle de temps en seconde où Pushover vous renverra les notifications “urgentes” tant qu’une confirmation de lecture (un acquittement) n’est pas envoyée. Par défaut les notifications “urgentes” sont renvoyées toutes les minutes.
DefaultEmergencyExpiration Int32 Optionnel
Par défaut : 3600
Intervalle de temps où Pushover considéra la notification “urgente” expirée si aucune confirmation de lecture (un acquittement) n’est envoyée. Par défaut, au bout d’une heure, Pushover arrêtera de vous notifier.

Les StateObjects

Vous retrouverez autant de StateObject que de compteur de performance enregistrés dans la configuration de votre package.

Nom Type Description
RateLimits Pushover.RateLimit Objet indiquant les limites liées à votre abonnement. Par défaut, vous disposez de 7500 notifications gratuitement par mois.

image

Les MessageCallbacks

Le package expose 2 MessageCallbacks :

Nom Réponse (saga) Description
CheckUserOrGroup Boolean Vérifie l’ID d’un utilisateur ou d’un groupe Pushover.
GetNotificationStatus Pushover.PushoverReceipt Vérifie le statuts d’une notification “urgente”. L’objet “PushoverReceipt” vous indiquera entre autre la date d’acquittement de la notification, l’utilisateur qui l’a acquitté et sur quel appareil, etc..
PushNotification Pushover.PushoverResponse Permet d’envoyer une notification Pushover. Vous pourrez spécifier le titre, le son de la notification, sa priorité, l’utilisateur ou l’appareil ciblé, ou encore la date de la notification.

image

Quelques tests depuis la Console Constellation

Envoyer une notification

Pour tester son bon fonctionnement, depuis le MessageCallbacks Explorer de la Console Console, recherchez le MC “PushNotification” :

image

Ce MessageCallback prend plusieurs paramètres dont beaucoup optionnels. Le seul obligatoire étant le “message”.

Par exemple écrivons comme message “Hello world” et cliquons sur “Invoke” :

image

Comme le message est envoyé dans une saga, la Console vous affichera la réponse du package dans la barre de notification du haut :

image

Le message de retour de cette saga vous indiquera le statuts de la notification. Vous avez donc la possibilité dans vos applications/objets de savoir si la notification a bien été envoyée :

image

Ici sur mon smartphone Android, la notification est bien réceptionnée :

image

Envoyer une notification “urgente” avec acquittement

Testons maintenant une notification “urgente”, c’est à dire que la notification sera retransmise à intervalle régulier tant qu’un l’utilisateur ne l’acquitte pas.

Pour cela sélectionnez “Emergency” pour le paramètre “priority”. Vous pouvez également définir les champs retry/expire autrement ceux sont les valeurs de la configuration du package qui seront utilisées.

image

Dans le message de retour de la saga vous obtiendrez l’ID du reçu.

image

Sur un Android, la notification est accompagnée d’un bouton pour acquitter la notification.

image

Toujours dans le MessageCallbacks Explorer de la Console Constellation, vous pouvez invoquer le MC “GetNotificationStatus” en spécifiant l’ID du reçu :

image

Le message de retour nous indique que la notification a bien été délivrée (Status = 1) mais n’est pas encore acquittée.

image

Acquittez ensuite la notificaiton sur votre appareil Android ou iOS et invoquez de nouveau le MC “GetNotificationStatus”  :

image

Cette fois ci on constate bien que la notification a bien été acquitté (a telle heure, par tel utilisateur et sur tel appareil, ici le XperiaZ5).

Quelques exemples

  • Envoyer une notification urgente si votre site Web est offline avec un package C#
Pushover : push de notifications sur Android, iOS et navigateurs
Étiqueté avec :                

Démarrez la discussion sur le forum Constellation