2016-12-27 9 views
3

私はlisten to an event in a private channelにできません。しかし、私はパブリックチャンネルを聞くことができます。Laravel EchoはPusherプライベートチャンネルに登録できません

問題が

これは動作します:

Echo.channel('Foo.Bar') 
    .listen('MyEvent', (e) => { 
     console.log('It worked!'); 
    }); 
私は三つの連続するイベントがあることをプッシャーデバッグコンソールで見ることができます

  1. CONNECTION
  2. 加入
  3. 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();

    1. をやった

      queue working with supervisorを持っています。

    2. config\broadcastingは、アプリ、キー、シークレット、ドライバ、クラスタ、暗号化で正しく設定してください。 (私はプッシャーに私のアプリからイベントを送信することができます)

    サイドノート

    私は私のアプリで公共イベントに送信して聴くことができます。チャンネルがプライベートになって私がを聞くことができないときだけです。(私のアプリはPusherにプライベートチャンネルのイベントを送ることができます)。

    BroadcastServiceProviderBroadcast::channel('Foo.Bar', callback)が実行されていないため、おそらく認証に関係している可能性があります。

    私はここで何が欠けていますか? config\app

  • +0

    を参照してください。次の行に

    App\Providers\BroadcastServiceProvider::class 

    のコメントを解除する必要があります。あなたは何かを見つけましたか? – Derek

    +0

    @Derek回答を見る – Wistar

    答えて

    関連する問題