Sommaire
Le package Puhover permet d’envoyer des notifications sur vos appareils Android, iOS (iPhone/iPad) ou Deskop (Chrome, Safari et Firefox).
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/
Ensuite installez les clients sur vos appareils (Desktop, Android et/ou iOS).
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 :
Pour finir, vous devez déclarer une application dans Pushover. Pour cela sur le dashboard, cliquez sur “Register an Application/Create an API Token” :
Vous pourrez alors spécifier le nom de votre application, le logo (qui sera utilisé sur vos appareils), etc..
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 :
Installation du package dans Constellation
Depuis le “Online Package Repository” de votre Console Constellation, déployez le package Puhover :
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.
Vous pouvez également déployer ce package manuellement dans la configuration de votre Constellation :
1 2 3 4 5 6 |
<package name="Pushover"> <settings> <setting key="Token" value="<< Pushover API token >>" /> <setting key="UserId" value="<< Pushover User Id >>" /> </settings> </package> |
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. |
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. |
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” :
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” :
Comme le message est envoyé dans une saga, la Console vous affichera la réponse du package dans la barre de notification du haut :
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 :
Ici sur mon smartphone Android, la notification est bien réceptionnée :
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.
Dans le message de retour de la saga vous obtiendrez l’ID du reçu.
Sur un Android, la notification est accompagnée d’un bouton pour acquitter la notification.
Toujours dans le MessageCallbacks Explorer de la Console Constellation, vous pouvez invoquer le MC “GetNotificationStatus” en spécifiant l’ID du reçu :
Le message de retour nous indique que la notification a bien été délivrée (Status = 1) mais n’est pas encore acquittée.
Acquittez ensuite la notificaiton sur votre appareil Android ou iOS et invoquez de nouveau le MC “GetNotificationStatus” :
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#
Démarrez la discussion sur le forum Constellation