yusefarianpour/the-laravel-fcm-channel

此包已被弃用且不再维护。未建议替代包。

从Laravel向Firebase云消息发送通知

V3.0.1 2022-12-28 14:09 UTC

This package is auto-updated.

Last update: 2022-12-30 14:28:59 UTC


README

Laravel Firebase云消息(FCM)通知通道

使用此包通过Laravel向Firebase云消息发送推送通知。需要Laravel 5.3及以上版本。

安装

此包可以通过Composer安装。

composer require journalctl/laravel-to-fcm

将Firebase API密钥添加到config/services.php

'fcm' => [
    'key' => 'Your Firebase Cloud Messaging token',
],

示例用法

使用Artisan创建通知

php artisan make:notification SomeNotification

在通知的public function via($notifiable)方法中返回[fcm]

public function via($notifiable)
{
    return ['fcm'];
}

或者

use Journalctl\Channels\FirebaseChannel;

...

public function via($notifiable)
{
    return [FirebaseChannel::class];
}

在通知中添加public function toFcm($notifiable)方法,并返回FirebaseMessage的实例

use Journalctl\Channels\FirebaseChannel;
use Journalctl\Channels\FirebaseMessage;

...

public function toFcm($notifiable)
{
    $message = new FirebaseMessage();

    $message
        ->title('Foo')  // Required
        ->body('Bar')   // Required
        ->sound()   // Optional
        ->icon()   // Optional
        ->clickAction();    // Optional

    $message->data([
        'param1' => 'baz' // Optional
    ])->priority(FirebaseMessage::PRIORITY_HIGH); // Optional - Default is 'normal'.

    return $message;
}

在向特定设备发送时,确保你的通知实体定义了routeNotificationForFcm方法

/**
 * Route notifications for the Firebase Cloud Messaging channel.
 *
 * @return string
 */
public function routeNotificationForFcm()
{
    return $this->device_token;
}

许可证

"The Laravel FCM Channel"是开源软件,遵循MIT许可证