paragraph1/php-fcm

PHP application server for google firebase cloud messaging (FCM)

Installs: 1 186 400

Dependents: 13

Suggesters: 0

Security: 0

Stars: 196

Watchers: 14

Forks: 69

Open Issues: 25

pkg:composer/paragraph1/php-fcm

0.7 2016-08-18 11:47 UTC

This package is not auto-updated.

Last update: 2025-10-22 17:14:04 UTC


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 paragraph1\phpFCM\Client; use paragraph1\phpFCM\Message; use paragraph1\phpFCM\Recipient\Device; use paragraph1\phpFCM\Notification; require_once 'vendor/autoload.php'; $apiKey = 'YOUR SERVER KEY'; $client = new Client(); $client->setApiKey($apiKey); $client->injectHttpClient(new \GuzzleHttp\Client()); $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 paragraph1\phpFCM\Client; use paragraph1\phpFCM\Message; use paragraph1\phpFCM\Recipient\Topic; use paragraph1\phpFCM\Notification; require_once 'vendor/autoload.php'; $apiKey = 'YOUR SERVER KEY'; $client = new Client(); $client->setApiKey($apiKey); $client->injectHttpClient(new \GuzzleHttp\Client()); $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());