我已安装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不起作用。怎么了?
答案 0 :(得分:1)
确保您正在运行这样的队列工作者:
php artisan queue:work
在命令行中。否则,不会发送排队通知。
如果它没有帮助查看您的错误日志并验证其中是否有任何错误
答案 1 :(得分:0)
要使方法delay()
起作用,必须将其添加到通知implements ShouldQueue
class AccountApproved extends Notification implements ShouldQueue { ... }
和上课前的use Illuminate\Contracts\Queue\ShouldQueue;
off