如何设置laravel-notification-channels / webpush

时间:2017-10-11 19:11:35

标签: php laravel laravel-5 laravel-5.5 laravel-notification

我已安装https://github.com/laravel-notification-channels/webpush 在我的项目中,但发送通知时什么也没有。它不起作用 这是laravel通知文档:https://laravel.com/docs/5.5/notifications

这是我的代码 - 我已经创建了一个通知:

class AccountApproved extends Notification {
use Queueable;

public function __construct()
{
    //
}

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

public function toArray($notifiable)
{
    return [
        'title' => 'Hello from Laravel!',
        'body' => 'Thank you for using our application.',
        'action_url' => 'https://laravel.com',
        'created' => Carbon::now()->toIso8601String()
    ];
}

public function toWebPush($notifiable, $notification)
{
    return WebPushMessage::create()
        ->title('Hello from Laravel!')
        ->icon('/notification-icon.png')
        ->body('Thank you for using our application.')
        ->action('View app', 'view_app');
}}

我在我的控制器中调用通知:

     $when = Carbon::now();

    $request->user()->notify((new AccountApproved)->delay($when));

但是我的Webpush不起作用。怎么了?

2 个答案:

答案 0 :(得分:1)

确保您正在运行这样的队列工作者:

php artisan queue:work

在命令行中。否则,不会发送排队通知。

如果它没有帮助查看您的错误日志并验证其中是否有任何错误

答案 1 :(得分:0)

要使方法delay()起作用,必须将其添加到通知implements ShouldQueue

class AccountApproved extends Notification implements ShouldQueue { ... }

和上课前的use Illuminate\Contracts\Queue\ShouldQueue; off