Я использую API Pusher для отправки уведомлений в Laravel 5.4 с помощью JQuery. Я узнал, что всякий раз, когда я отправляю уведомление от Firefox или Safari... он успешно запускает Chrome-браузер, но не наоборот. Другая проблема заключается в том, что когда я отправляю сообщение, он принимается мной!!! Хотя я использовал метод toOthers()
Мой код ниже. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
Код контроллера
broadcast(new SendMessageEvent("hi", \Auth::user()))->toOthers();
Клинок
$(function() {
Pusher.logToConsole = true;
var pusher = new Pusher('Pusher API key', {
authEndpoint: 'broadcasting/auth',
auth: {headers: {'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')}}
});
var channel = pusher.subscribe('private-user-channel.{!! \Auth::user()->UserID !!}');
channel.bind('App\\Events\\SendMessageEvent', function(data) {
console.log(data);
});
});
Событие
class SendMessageEvent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $msg;
public $user;
public $userid;
public function __construct($msg, $user) {
$this->msg = $msg;
$this->user = $user;
$this->userid = $this->user->UserID;
}
public function broadcastOn()
{
return new PrivateChannel('user-channel.1');
}
}
Канал
Broadcast::channel('user-channel.{userid}', function ($user, $userid) {
return (int) $user->UserID === (int) $userid;
});