Laravel FCM (Firebase Cloud Messaging) Notification Channel
liliom/laravel-firebase is a Laravel package for laravel fcm (firebase cloud messaging) notification channel.
It currently has 23 GitHub stars and 26.289 downloads on Packagist (latest version v1.0.1).
Install it with composer require liliom/laravel-firebase.
Discover more Laravel packages by liliom
or browse all Laravel packages to compare alternatives.
Last updated
This package makes it easy to send notifications using Firebase Cloud Messaging (FCM) with Laravel Notification Channel.
This package can be installed through Composer.
composer require liliom/laravel-firebase
If you don't use Laravel 5.5+ you have to add the service provider manually
// config/app.php
'providers' => [
...
Liliom\Firebase\FirebaseServiceProvider::class,
...
];
Now add you Firebase API Key in config/services.php.
return [
....
'firebase' => [
'key' => ''
],
....
];
Les's create a notification using artisan commend:
php artisan make:notification FirebaseNotification
Now you can use firebase channel in your vie() mothod.
public function via($notifiable)
{
return ['firebase'];
}
Add a pubilc method toFirebase($notifiable) to your notification class, and return an instance of FirebaseMessage:
public function toFirebase($notifiable)
{
return (new \Liliom\Firebase\FirebaseMessage)
->notification([
'title' => 'Notification title',
'body' => 'Notification body',
'sound' => '', // Optional
'icon' => '', // Optional
'click_action' => '' // Optional
])
->setData([
'param' => 'zxy' // Optional
])
->setPriority('high'); // Default is 'normal'
}
setData: To Set data.setPriority: To Set priority.setTimeToLive: To Set time_to_live.setCollapseKey: To Set collapse_key.setNotification: To Set notification.setCondition: To Set condition.setContentAvailable: To Set content_available.setMutableContent: To Set mutable_content.setPackageName: To Set restricted_package_name.When sending to specific device(s), make sure your notifiable entity has routeNotificationForFirebase method defined:
Note: You can send to many devices by return an array of tokens.
/**
* Route notifications for Firebase channel.
*
* @return string|array
*/
public function routeNotificationForFirebase()
{
return $this->device_tokens;
}
The MIT License (MIT). Please see License File for more information.