Fuente de datos: Pushover


1Presentación

Pushover ofrece una aplicación móvil para enviar notificaciones push sin necesidad de desarrollar una aplicación específica.

Si has configurado correctamente los parámetros de conexión a Pushover, Temma crea automáticamente un objeto de tipo \Temma\Datasources\Pushover, con el que puedes enviar notificaciones push. Por convención, supondremos que has llamado a esta conexión push en el archivo etc/temma.php (consulta la documentación de configuración).

En los controladores, la conexión a Pushover está disponible escribiendo:

$push = $this->push;

En otros objetos gestionados por el componente de inyección de dependencias, la conexión a Pushover es accesible escribiendo:

$push = $loader->dataSources->push;
$push = $loader->dataSources['push'];

2Configuración

En el archivo etc/temma.php (consulta la documentación de configuración), declaras el DSN (Data Source Name) usado para conectarte a Pushover.

El DSN de conexión a Pushover se escribe como: pushover://APP_TOKEN
APP_TOKEN se proporciona al crear una "aplicación" en el espacio de usuario.


3Llamadas unificadas

3.1Acceso tipo array

// enviar notificación
$push['USER_KEY'] = "Mensaje a enviar";

3.2Gestión de datos en bruto

// enviar notificación
$push->write('USER_KEY', "Message");

// enviar notificación con parámetros adicionales
$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',
]);

Los parámetros opcionales del método write() son:

  • title: Título de la notificación.
  • html: Por defecto, los mensajes pueden contener etiquetas HTML básicas. Define este parámetro como false para impedir la interpretación de HTML.
  • monospace: Define este parámetro como true para mostrar el mensaje con una fuente monoespaciada. Esto desactiva la interpretación de HTML.
  • device: Permite enviar la notificación a un único dispositivo del usuario, en lugar de a todos los dispositivos (comportamiento por defecto).
  • image: Contenido binario de la imagen que acompaña a la notificación. También requiere el parámetro mimetype.
  • mimetype: Tipo MIME de la imagen proporcionada en el parámetro image.
  • priority: Prioridad de la notificación.
    • -2: Sin notificación. El mensaje se puede ver en la aplicación.
    • -1: Sin sonido ni vibración. La notificación aparece en pantalla.
    • 0: Valor por defecto. Sonido, vibración y mensaje de alerta.
    • 1: Notificación incluso durante las horas de silencio del usuario.
    • 2: La notificación se repite hasta que el usuario la confirma.
  • ttl: Número de segundos tras los cuales el mensaje desaparecerá.
  • url: URL mostrada debajo del mensaje.
  • urlTitle: Título de la URL. Si no se define, la URL se muestra tal cual.

3.3Sintaxis HTML

Por defecto, las siguientes etiquetas HTML se interpretan en los mensajes:

  • <b>: Texto en negrita.
  • <i>: Texto en cursiva.
  • <u>: Texto subrayado.
  • <font color="#rrvvbb">: Texto coloreado.
  • <a href="link">: Enlace hipertexto.