Wallogit.com
2017 © Pedro Peláez
Class PHP para o uso do Firebase Cloud Message
Classe facilitar o uso do Firebase Cloud Message através de um Webservice com PHP, (*1)
Essa biblioteca PHP será útil para quem já usa o FCM para o uso Push Notification em seus Smartphones, porém necessita que o envio da notificação seja feito por um servidor em PHP., (*2)
Esse tutorial está levando em considerção que já tenha criado um projeto no Firebase e configurado no seu aplicativo, ou seja, apenas será demonstrado como usar essa biblioteca no servidor PHP para o envio do Push Notification e não o recebimento no Smartphone., (*3)
Caso tenha dúvidas de como receber a notificação, basta olhar a documentação do Google para o recebimento de notificações, (*4)
Documentação de como Receber Notificações no Aplicativo, (*5)
Inicialmelnte entre no seu Console do Firebase e escolha o projeto que deseja trabalhar:
, (*6)
Após acessar o seu projeto, clique na engrenagem para acessar as configurações do projeto:
, (*7)
Na tela de configurações, basta clicar na aba Cloud Message e já poderá ver a Chave do Servidor (Inclusive adicionar novas chaves)
, (*8)
Para usar esse projeto, basta baixar esse repositório em seu projeto e importar a classe em src/FCM.php ou usar o composer que é o mais indicado:, (*9)
composer require carloswgama/php-fcm
Caso seu projeto já possua um arquivo composer.json, você pode também adiciona-lo nas dependências require e rodar um composer install:, (*10)
{
"require": {
"carloswgama/php-fcm"
}
}
Abaixo segue alguns exemplos de como usar a classe, (*11)
``` php <?php require_once(dirname(FILE).'/vendor/autoload.php'); use CWG\Firebase\FCM;, (*12)
//Chave do Servidor para o envio de Push Notificação $chaveServidor = 'AAAAgRytSgU:APA91bHeexGgSTjr6imnXCqxnP_k_tZ6VqPOZQ1QQ4Ck3-ozyNq5BP3fULtu-YGTZgZMF27QOfYQFqM8szV0t_nxNSCeu7dO1mWMMTOR7L_onWZLb8CC3ZIG-OQxUgiBNqNwV5HtGqw';, (*13)
//Token do Dispositivo $tokenDispositivo = 'ePQ_mDC90Hs:APA91bF-nz_jkGunC3eGU5hz2EhXGXute9AI2XlYLgC3XlY6MLDSw-GE5jhF7X77FFKLqFyW_S15RPx4qmAiqEl9I7V8n9N7QHc2OUP70ML14FK5KFMBrfKjtUVU0jcE0B9ropjIOmk';, (*14)
//Classe para o envio $fcm = new FCM($chaveServidor);, (*15)
try { $resultado = $fcm->setTitulo('Título - Dispositívo') ->setTexto('Textoo - Dispositívo') ->enviarPara($tokenDispositivo);, (*16)
echo "Enviado com sucesso!<br/>"; print_r($resultado);
} catch(Exception $e) { echo "Erro: " . $e->getMessage(); }, (*17)
### Enviando para um tópico ``` php <?php require_once(dirname(__FILE__).'/vendor/autoload.php'); use CWG\Firebase\FCM; //Chave do Servidor para o envio de Push Notificação $chaveServidor = 'AAAAgRytSgU:APA91bHeexGgSTjr6imnXCqxnP_k_tZ6VqPOZQ1QQ4Ck3-ozyNq5BP3fULtu-YGTZgZMF27QOfYQFqM8szV0t_nxNSCeu7dO1mWMMTOR7L_onWZLb8CC3ZIG-OQxUgiBNqNwV5HtGqw'; //Classe para enviar $fcm = new FCM($chaveServidor); try { $resultado = $fcm->setTitulo('Título - Dispositívo') ->setTexto('Textoo - Dispositívo') ->enviarTopico('literatura'); echo "Enviado com sucesso!<br/>"; print_r($resultado); } catch(Exception $e) { echo "Erro: " . $e->getMessage(); }
``` php <?php require_once(dirname(FILE).'/vendor/autoload.php'); use CWG\Firebase\FCM;, (*18)
//Chave do Servidor para o envio de Push Notificação $chaveServidor = 'AAAAgRytSgU:APA91bHeexGgSTjr6imnXCqxnP_k_tZ6VqPOZQ1QQ4Ck3-ozyNq5BP3fULtu-YGTZgZMF27QOfYQFqM8szV0t_nxNSCeu7dO1mWMMTOR7L_onWZLb8CC3ZIG-OQxUgiBNqNwV5HtGqw';, (*19)
//Classe para enviar $fcm = new FCM($chaveServidor);, (*20)
$dadosExtras = ['nome' => 'Carlos', 'cargo' => 'programador'];, (*21)
try { $resultado = $fcm->setTitulo('Título - Dispositívo') ->setTexto('Textoo - Dispositívo') ->setExtras($dadosExtras) ->enviarTopico('literatura');, (*22)
echo "Enviado com sucesso!<br/>"; print_r($resultado);
} catch(Exception $e) { echo "Erro: " . $e->getMessage(); } ```, (*23)
Nos links acima você poderá ver diversos exemples para criar plano, assinatura, compra, notificações..., (*24)
Autor: Carlos W. Gama (carloswgama@gmail.com) Licença: MIT, (*25)
Livre para usar, modificar como desejar e destribuir como quiser, (*26)