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.