在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):benwilkins/laravel-fcm-notification开源软件地址(OpenSource Url):https://github.com/benwilkins/laravel-fcm-notification开源编程语言(OpenSource Language):PHP 100.0%开源软件介绍(OpenSource Introduction):Laravel FCM NotificationLaravel FCM (Firebase Cloud Messaging) Notification Channel Use this package to send push notifications via Laravel to Firebase Cloud Messaging. Laravel 5.5+ required. This package works only with Legacy HTTP Server Protocol InstallThis package can be installed through Composer. composer require benwilkins/laravel-fcm-notification If installing on < Laravel 5.5 then add the service provider: // config/app.php
'providers' => [
...
Benwilkins\FCM\FcmNotificationServiceProvider::class,
...
]; Add your Firebase API Key in return [
...
...
/*
* Add the Firebase API key
*/
'fcm' => [
'key' => env('FCM_SECRET_KEY')
]
]; Example UsageUse Artisan to create a notification: php artisan make:notification SomeNotification Return public function via($notifiable)
{
return ['fcm'];
} Add the method use Benwilkins\FCM\FcmMessage;
...
public function toFcm($notifiable)
{
$message = new FcmMessage();
$message->content([
'title' => 'Foo',
'body' => 'Bar',
'sound' => '', // Optional
'icon' => '', // Optional
'click_action' => '' // Optional
])->data([
'param1' => 'baz' // Optional
])->priority(FcmMessage::PRIORITY_HIGH); // Optional - Default is 'normal'.
return $message;
} When sending to specific device, make sure your notifiable entity has /**
* Route notifications for the FCM channel.
*
* @param \Illuminate\Notifications\Notification $notification
* @return string
*/
public function routeNotificationForFcm($notification)
{
return $this->device_token;
} When sending to a topic, you may define so within the use Benwilkins\FCM\FcmMessage;
...
public function toFcm($notifiable)
{
$message = new FcmMessage();
$message->to('the-topic', $recipientIsTopic = true)
->content([...])
->data([...]);
return $message;
} Or when sending with a condition: use Benwilkins\FCM\FcmMessage;
...
public function toFcm($notifiable)
{
$message = new FcmMessage();
$message->contentAvailable(true)
->priority('high')
->condition("'user_".$notifiable->id."' in topics")
->data([...]);
return $message;
} You may provide optional headers or override the request headers using use Benwilkins\FCM\FcmMessage;
...
public function toFcm($notifiable)
{
$message = new FcmMessage();
$message->setHeaders([
'project_id' => "48542497347" // FCM sender_id
])->content([
'title' => 'Foo',
'body' => 'Bar',
'sound' => '', // Optional
'icon' => '', // Optional
'click_action' => '' // Optional
])->data([
'param1' => 'baz' // Optional
])->priority(FcmMessage::PRIORITY_HIGH); // Optional - Default is 'normal'.
return $message;
} Interpreting a ResponseTo process any laravel notification channel response check Laravel Notification Events This channel return a json array response: {
"multicast_id": "number",
"success": "number",
"failure": "number",
"canonical_ids": "number",
"results": "array"
} Check FCM Legacy HTTP Server Protocol for response interpreting documentation. LicenseThe MIT License (MIT). Please see License File for more information. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论