A PHP library to send push notification with Firebase Cloud Messaging
Note
Version 3.x
of this library is a full rewrite using PSR-18 HTTP Client interface,
which means that no HTTP Client, like Guzzle or httplug,
are provided within. If you already have one in your project, the package will automatically discover it and use it.
Otherwise You will need to require one separately.
Warning
Version 3.2
introduce a BC break.
The signature of the __construct()
method of the Kerox\Fcm\Model\Message
class has changed, with the $notification
parameter becoming the third argument and being optional.
You can install Fcm using Composer:
composer require kerox/fcm
You will then need to:
- run
composer install
to get these dependencies added to your vendor directory - add the autoloader to your application with this line:
require('vendor/autoload.php');
use Kerox\Fcm\Fcm;
use Kerox\Fcm\Model\Message;
use Kerox\Fcm\Model\Notification\Notification;
use Kerox\Fcm\Model\Target;
$fcm = new Fcm('<oauth_token>', '<project_id>');
// Create the message
$message = new Message(
target: new Token('TopicA'),
data: [
'story_id' => 'story_12345',
],
notification: new Notification(
title: 'Hello World',
body: 'My awesome Hello World!'
),
)
// Send the message and get the response
$response = $fcm->send()->message($message);
The documentation is available here
To live test the package, you must first generate an OAuth token.
Go to https://developers.google.com/oauthplayground/ and select Firebase Cloud Messaging API v1 from the list of APIs.
Then select https://www.googleapis.com/auth/firebase.messaging and generate the OAuth token.
Finally, define an environment variable named FCM_OAUTH_TOKEN
and assign it the value of the access token.