Подтвердить что ты не робот

Уведомление Pusher, полученное отправителем и работающее только в Chrome. Laravel 5.4 и JQuery

Я использую 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;
});
4b9b3361

Ответ 1

Я нашел это при поиске, если вопрос все еще открыт:

ваше событие транслирует все на userID 1

 return new PrivateChannel('user-channel.1');

но ваши другие пользователи подключаются к собственному каналу со своим собственным идентификатором пользователя. Перейдите на общедоступный канал и снова проверьте свой код, остальное кажется правильным.