Fonte de dados: Pushover


1Apresentação

Pushover oferece um aplicativo móvel para enviar notificações push sem a necessidade de desenvolver um aplicativo específico.

Se você configurou corretamente os parâmetros de conexão do Pushover, o Temma cria automaticamente um objeto do tipo \Temma\Datasources\Pushover, com o qual você pode enviar notificações push. Por convenção, vamos supor que você nomeou essa conexão push no arquivo etc/temma.php (veja documentação de configuração).

Nos controladores, a conexão ao Pushover fica então disponível da seguinte forma:

$push = $this->push;

Nos demais objetos gerenciados pelo componente de injeção de dependências, a conexão ao Pushover é acessível da seguinte forma:

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

2Configuração

No arquivo etc/temma.php (veja a documentação de configuração), você declara o DSN (Data Source Name) usado para se conectar ao Pushover.

O DSN de conexão ao Pushover é escrito como: pushover://APP_TOKEN
APP_TOKEN é fornecido quando um "aplicativo" é criado no espaço do usuário.


3Chamadas unificadas

3.1Acesso tipo array

// envia notificação
$push['USER_KEY'] = "Message to send";

3.2Gerenciamento de dados brutos

// envia notificação
$push->write('USER_KEY', "Message");

// envia notificação com parâmetros adicionais
$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',
]);

Os parâmetros opcionais do método write() são:

  • title: Título da notificação.
  • html: Por padrão, as mensagens podem conter tags HTML básicas. Defina este parâmetro como false para impedir a interpretação de HTML.
  • monospace: Defina este parâmetro como true para exibir a mensagem com uma fonte monoespaçada. Isso desativa a interpretação de HTML.
  • device: Permite enviar a notificação para um único dispositivo do usuário, em vez de todos os dispositivos (comportamento padrão).
  • image: Conteúdo binário da imagem que acompanha a notificação. Também requer o parâmetro mimetype.
  • mimetype: Tipo MIME da imagem fornecida no parâmetro image.
  • priority: Prioridade da notificação.
    • -2: Sem notificação. A mensagem pode ser vista no aplicativo.
    • -1: Sem som ou vibração. A notificação aparece na tela.
    • 0: Valor padrão. Som, vibração e mensagem de alerta.
    • 1: Notificação mesmo durante o horário silencioso do usuário.
    • 2: A notificação se repete até ser reconhecida pelo usuário.
  • ttl: Número de segundos após os quais a mensagem desaparecerá.
  • url: URL exibida abaixo da mensagem.
  • urlTitle: Título da URL. Se não for definido, a URL é exibida como está.

3.3Sintaxe HTML

Por padrão, as seguintes tags HTML são interpretadas nas mensagens:

  • <b>: Texto em negrito.
  • <i>: Texto em itálico.
  • <u>: Texto sublinhado.
  • <font color="#rrvvbb">: Texto colorido.
  • <a href="link">: Link de hipertexto.