FCM notification channel for Laravel 5.8+
This package makes it easy to send notifications using Firebase Cloud Messaging (FCM) with Laravel 5.8 and above. This package is based on brozot/laravel-fcm, so please read that documentation for more information.
Contents
Installation
You can install this package via composer:
composer require nean/laravel-fcm-notification-channel:^2Usage
Now you can use the channel in your via() method inside the notification:
use NotificationChannels\FCM\FCMMessage;
use Illuminate\Notifications\Notification;
class ExampleNotification extends Notification
{
public function via($notifiable)
{
return ['fcm'];
}
public function toFCM($notifiable)
{
return (new FCMMessage())
->notification([
'title' => 'Notification title',
'body' => 'Notification body',
]);
}
}Available message types:
-
FCMMessage: Send notifications to device(s). -
FCMMessageTopic: Send notifications to topic(s). -
FCMMessageGroup: Send notifications to group(s).
In order for your notice to know who to send messages, you must add routeNotificationForFCM method to your notification model.
Available message methods
-
data(): Notification data.array|LaravelFCM\Message\PayloadData|LaravelFCM\Message\PayloadDataBuilder -
options(): Notification options.array|LaravelFCM\Message\Options|LaravelFCM\Message\OptionsBuilder -
notification(): Notification content.array|LaravelFCM\Message\PayloadNotification|LaravelFCM\Message\PayloadNotificationBuilder
Proxy methods. See brozot/laravel-fcm for more information about this methods.
setDryRunsetPrioritysetTimeToLivesetCollapseKeysetDelayWhileIdlesetMutableContentsetContentAvailablesetRestrictedPackageNameisDryRungetPrioritygetTimeToLivegetCollapseKeyisDelayWhileIdleisMutableContentisContentAvailablegetRestrictedPackageNamesetTagsetBodysetIconsetTitlesetSoundsetBadgesetColorsetChannelIdsetClickActionsetBodyLocationKeysetBodyLocationArgssetTitleLocationKeysetTitleLocationArgsgetTaggetBodygetIcongetTitlegetSoundgetBadgegetColorgetChannelIdgetClickActiongetBodyLocationKeygetBodyLocationArgsgetTitleLocationKeygetTitleLocationArgs
Testing
$ composer testCredits
Support
Having trouble? Open an issue!
License
The MIT License (MIT). Please see License File for more information.