Thin layer for integrate Firebase Messaging as Laravel Notifications
- PHP >= 8.1
- Laravel = 10.x
$ composer require "besanek/laravel-firebase-notifications"
This is all, thanks to the Package Autodiscover.
Please follow configuration guide of kreait/laravel-firebase
Add new method routeNotificationForFirebase
to your notifiable entity, witch returns device id.
/**
* It could be one device
*/
public function routeNotificationForFirebase()
{
return $this->device_id;
}
/**
* Or you can return array for multicast
*/
public function routeNotificationForFirebase()
{
return $this->devices()->get()->pluck('id');
}
In Notification entity you should add firebase to via()
method.
public function via(): array
{
return ['firebase', /* 'email', 'database', 'etc...'*/];
}
And you can construct CloudMessage
into toFirebase()
method.
public function toFirebase(): Messaging\CloudMessage
$notification = Messaging\Notification::create('I <3 laravel', 'It is true');
return Messaging\CloudMessage::new()->withNotification($notificatin);
}
Please look into the official PHP SDK documentation for the full use of all possibilities.