PHP application server for google firebase cloud messaging (FCM)

PHP application server for google firebase cloud messaging (FCM)

README

Build Status
Coverage Status
Latest Stable Version
Total Downloads
License

PHP application server implementation for Firebase Cloud Messaging.

#Setup
The recommended way of installing is using Composer.

command line

composer require paragraph1/php-fcm

composer.json

"require": {
    "paragraph1/php-fcm": "*"
}

#Send to Device
also see https://firebase.google.com/docs/cloud-messaging/downstream

use paragraph1phpFCMClient;
use paragraph1phpFCMMessage;
use paragraph1phpFCMRecipientDevice;
use paragraph1phpFCMNotification;

require_once 'vendor/autoload.php';

$apiKey = 'YOUR SERVER KEY';
$client = new Client();
$client->setApiKey($apiKey);
$client->injectHttpClient(new GuzzleHttpClient());

$note = new Notification('test title', 'testing body');
$note->setIcon('notification_icon_resource_name')
    ->setColor('#ffffff')
    ->setBadge(1);

$message = new Message();
$message->addRecipient(new Device('your-device-token'));
$message->setNotification($note)
    ->setData(array('someId' => 111));

$response = $client->send($message);
var_dump($response->getStatusCode());

#Send to topic
also see https://firebase.google.com/docs/cloud-messaging/topic-messaging

use paragraph1phpFCMClient;
use paragraph1phpFCMMessage;
use paragraph1phpFCMRecipientTopic;
use paragraph1phpFCMNotification;

require_once 'vendor/autoload.php';


$apiKey = 'YOUR SERVER KEY';
$client = new Client();
$client->setApiKey($apiKey);
$client->injectHttpClient(new GuzzleHttpClient());

$message = new Message();
$message->addRecipient(new Topic('your-topic'));
//select devices where has 'your-topic1' && 'your-topic2' topics
$message->addRecipient(new Topic(['your-topic1', 'your-topic2']));
$message->setNotification(new Notification('test title', 'testing body'))
    ->setData(array('someId' => 111));

$response = $client->send($message);
var_dump($response->getStatusCode());

Source

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *