Source de données : Pushover


1Présentation

Pushover propose une application mobile permettant d'envoyer des notifications push sans avoir besoin de développer une application spécifique.

Si vous avez correctement configuré les paramètres de connexion au service Pushover, Temma crée automatiquement un objet de type \Temma\Datasources\Pushover, avec lequel vous pourrez envoyer des notifications push. Par convention, nous partirons du principe que vous avez nommé cette connexion push dans le fichier etc/temma.php (voir la documentation de la configuration).

Dans les contrôleurs, la connexion à Pushover est alors disponible en écrivant :

$this->push

Dans les autres objets gérés par le le composant d'injection de dépendances, la connexion à Pushover est accessible en écrivant :

$this->_loader->dataSources['push']

2Configuration

Dans le fichier etc/temma.php (voir la documentation de la configuration), vous déclarez le DSN (Data Source Name) qui permet de se connecter à Pushover.

Le DSN de connexion à Pushover s'écrit de la forme : pushover://APP_TOKEN
APP_TOKEN est fourni lors de la création d'une "application" dans l'espace utilisateur.


3Appels unifiés

3.1Accès de type tableau

// envoi de notification
$this->push['USER_KEY'] = "Message à envoyer";

3.2Gestion de données brutes

// envoi de notification
$this->push->write('USER_KEY', "Message");

// envoi de notifications avec paramètres supplémentaires
$this->push->write('USER_KEY', "Message", [
    'title'     => 'Message title',
    'html'      => false,
    'monospace' => true,
    'device'    => 'DEVICE_ID',
    'image'     => file_get_contents('picture.jpg'),
    'mimetype'  => 'image/jpeg',
    'priority'  => -1,
    'ttl'       =>  86400,
    'url'       => 'https://www.temma.net/',
    'urlTitle'  => 'Temma website',
]);

Les paramètres optionnels de la méthode write() sont :

  • title : Titre de la notification.
  • html : Par défaut, les messages peuvent contenir des balises HTML basiques. Mettre ce paramètre à false pour empêcher l'interprétation HTML.
  • monospace : Mettre ce paramètre à true pour afficher le message avec une police monospace. Cela désactive l'interprétation HTML.
  • device : Permet d'envoyer la notification sur un seul appareil de l'utiliateur, plutôt que sur tous ses appareils (ce qui est le comportement par défaut).
  • image : Contenu binaire de l'image qui doit accompagner la notification. Nécessite de fournir aussi le paramètre mimetype.
  • mimetype : Type MIME de l'image qui est fournie dans le paramètre image.
  • priority : Priorité de la notification.
    • -2 : Aucune notification. Le message est consultable dans l'application.
    • -1 : Aucun son ni vibration. Une notification apparaît à l'écran.
    • 0 : Valeur par défaut. Son, vibration et message d'alerte.
    • 1 : Notification même pendant les heures calmes de l'utilisateur.
    • 2 : La notification se répète jusqu'à ce que l'utilsiateur en accuse réception.
  • ttl : Nombre de secondes au bout duquel le message va disparaître.
  • url : URL affichée en dessous du message.
  • urlTitle : Titre de l'URL. S'il n'est pas défini, l'URL est affichée telle quelle.

3.3Syntaxe HTML

Par défaut, les balises HTML suivantes sont interprétées dans les messages :

  • <b> : Texte mis en gras.
  • <i> : Texte mis en italique.
  • <u> : Texte souligné.
  • <font color="#rrvvbb"> : Texte mis en couleur.
  • <a href="lien"> : Lien hypertexte.