私はlisten to an event in a private channelにできません。しかし、私はパブリックチャンネルを聞くことができます。Laravel EchoはPusherプライベートチャンネルに登録できません
問題が
これは動作します:
Echo.channel('Foo.Bar')
.listen('MyEvent', (e) => {
console.log('It worked!');
});
私は三つの連続するイベントがあることをプッシャーデバッグコンソールで見ることができます
:
- CONNECTION
- 加入
- O CCUPIED
さらに、Channel: Foo.Bar; Event: App\Events\MyEvent
を送信すると、ブラウザのコンソールに出力が表示されます。
しかし、これは動作しません:
Echo.private('Foo.Bar')
.listen('MyEvent', (e) => {
console.log('It privately worked!');
});
私はプッシャーデバッグコンソールでのサブスクリプションが表示されません。明らかに、私がChannel: private-Foo.Bar; Event: App\Events\MyEvent
を送った場合、ブラウザのコンソールに出力が表示されません。私はBroadcastServiceProvider
のboot()
方法でBroadcastServiceProvider
追加Broadcast::channel('Foo.Bar', function ($user, $FooBarId) {return true;});
のboot()
方法で追加Broadcast::routes();
- をやった
はqueue working with supervisorを持っています。
config\broadcasting
は、アプリ、キー、シークレット、ドライバ、クラスタ、暗号化で正しく設定してください。 (私はプッシャーに私のアプリからイベントを送信することができます)
サイドノート
私は私のアプリで公共イベントに送信して聴くことができます。チャンネルがプライベートになって私がを聞くことができないときだけです。(私のアプリはPusherにプライベートチャンネルのイベントを送ることができます)。
BroadcastServiceProvider
のBroadcast::channel('Foo.Bar', callback)
が実行されていないため、おそらく認証に関係している可能性があります。
私はここで何が欠けていますか? config\app
で
を参照してください。次の行に
のコメントを解除する必要があります。あなたは何かを見つけましたか? – Derek
@Derek回答を見る – Wistar