A simple package that help you send a Firebase notification with your Laravel applications
You can pull the package via composer :
$ composer require kawankoding/laravel-fcm "^0.2.0"
You must register the service provider :
// config/app.php
'Providers' => [
// ...
Kawankoding\Fcm\FcmServiceProvider::class,
]
If you want to make use of the facade you must install it as well :
// config/app.php
'aliases' => [
// ...
'Fcm' => Kawankoding\Fcm\FcmFacade::class,
];
Next, You must publish the config file to define your FCM server key :
php artisan vendor:publish --provider="Kawankoding\Fcm\FcmServiceProvider"
This is the contents of the published file :
return [
/**
* Set your FCM Server Key
* Change to yours
*/
'server_key' => env('FCM_SERVER_KEY', ''),
];
Add the following service provider to the bootstrap/app.php
file
$app->register(Kawankoding\Fcm\FcmServiceProvider::class);
Also copy the laravel-fcm.php config file to config/laravel-fcm.php
Add the configuration to the bootstrap/app.php
file
Important: this needs to be before the registration of the service provider
$app->configure('laravel-fcm');
...
$app->register(Kawankoding\Fcm\FcmServiceProvider::class);
Set your FCM Server Key in .env
file :
APP_NAME="Laravel"
# ...
FCM_SERVER_KEY=putYourKeyHere
If You want to send a FCM with just notification parameter, this is an example of usage sending a FCM with only data parameter :
$recipients = [
'clKMv.......',
'GxQQW.......',
];
fcm()
->to($recipients)
->priority('high')
->timeToLive(0)
->data([
'title' => 'Test FCM',
'body' => 'This is a test of FCM',
])
->send();
If You want to send a FCM to topic, use method toTopic($topic) instead to() :
fcm()
->toTopic($topic) // $topic must an string (topic name)
->priority('normal')
->timeToLive(0)
->notification([
'title' => 'Test FCM',
'body' => 'This is a test of FCM',
])
->send();
If You want to send a FCM with just notification parameter, this is an example of usage sending a FCM with only notification parameter :
fcm()
->to($recipients) // $recipients must an array
->priority('high')
->timeToLive(0)
->notification([
'title' => 'Test FCM',
'body' => 'This is a test of FCM',
])
->send();
If You want to send a FCM with both data & notification parameter, this is an example of usage sending a FCM with both data & notification parameter :
fcm()
->to($recipients) // $recipients must an array
->priority('normal')
->timeToLive(0)
->data([
'title' => 'Test FCM',
'body' => 'This is a test of FCM',
])
->notification([
'title' => 'Test FCM',
'body' => 'This is a test of FCM',
])
->send();