Мое уведомление RealtimeNotification.php имеет:
public function via($notifiable)
{
return ['broadcast'];
}
public function toBroadcast($notifiable){
return new BroadcastMessage([
'name' => 'John Snow'
]);
}
На мой взгляд, у меня есть объект-отправитель, который связан с моей учетной записью-отправителем:
var channel = pusher.subscribe('private-App.User.1');
channel.bind('App\\Notifications\\RealtimeNotification', function(data) {
console.log(data);
});
Так что, если я так использую, Pusher выдаст мне эту ошибку в консоли, возможно, потому что это частный канал, я не настроил аутентификацию для Pusher
Failed to load resource: the server responded with a status of 404 (Not Found)
Pusher : Couldn't get auth info from your webapp : 404
У меня вопрос, как я могу транслировать на общедоступный канал?
В документации Laravel 5.4 говорится:
«Уведомления будут транслироваться на частном канале, отформатированном с использованием соглашения {notifiable}. {Id}».
Я думаю, что есть способ для этого, но я все еще не могу найти его, и любая помощь приветствуется.
Каналы должны быть экземплярами Channel, PrivateChannel или PresenceChannel. Экземпляры Channel представляют публичные каналы, на которые может подписаться любой пользователь, в то время как PrivateChannels и PresenceChannels представляют частные каналы, которые требуют авторизации канала …… Как объяснено в официальном документе laravel
Других решений пока нет …