2016-09-03 6 views
0

私はプッシャーとLaravel Echoを初めて習得し、それを段階的に学習します。私は新しいプロジェクトで実装しようとしていますが、どういうわけか、このプッシャーライブラリがLaravel Echoとどのように機能するのか理解できません。PusherはLaravel 5.3にメッセージを表示しません

私がやっていることは、管理者の登録時に、私がやったことが正しいかどうかをチェックしたいだけです。私は、プッシュダッシュボードアカウントのデバッグコンソールで、生成したイベントの出力を確認したいだけです。

私はfollwing内容でイベントAdministratorGeneratedを作成しました:bootstrap.jsファイルで

class AdministratorGenerated implements ShouldBroadcast 
{ 
    use InteractsWithSockets, SerializesModels; 

    public $user; 

    /** 
    * Create a new event instance. 
    * 
    * @return void 
    */ 
    public function __construct(User $user) 
    { 
     $this->user = $user; 
    } 

    /** 
    * Get the channels the event should broadcast on. 
    * 
    * @return Channel|array 
    */ 
    public function broadcastOn() 
    { 
     //return new PrivateChannel('administrator'); 

     // To send it as public channel to pusher 
     return['administrator']; 
    } 
} 

を、私が持っている:

import Echo from "laravel-echo" 

window.Echo = new Echo({ 
    broadcaster: 'pusher', 
    key: 'my-pusher-key', 
    cluster: 'ap1', 
    encrypted: true 
}); 

window.Echo.channel('administrator') 
    .listen('AdministratorGenerated', (e) => { 
     console.log(e); 
    }); 

が正常にフォームを登録するには、私はイベント

を発射しています
event(new AdministratorGenerated($registeredUser)); 

このイベントはウェルカムメールを送信し、def aultアカウント。

しかし、私はプッシャーのダッシュボードにデバッグコンソールに行くとき、私は見ることを得るすべては以下の通りです:

enter image description here


EDIT 1:

ここ.envファイルです:

APP_ENV=local 
APP_KEY=base64:toktfSBbJM0vbylxhT/zHXOi7zVga9jsliB/mtE96HY= 
APP_DEBUG=true 
APP_LOG_LEVEL=debug 
APP_URL=http://localhost 

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=larammerce_v1 
DB_DATABASE_TESTING=larammerce_v1_testing 
DB_USERNAME=root 
DB_PASSWORD=root 

BROADCAST_DRIVER=pusher 
CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=database 

REDIS_HOST=127.0.0.1 
REDIS_PASSWORD=null 
REDIS_PORT=6379 

# All of the below values are correct 
MAIL_DRIVER=smtp 
MAIL_HOST=mailtrap.io 
MAIL_PORT=2525 
MAIL_USERNAME=username 
MAIL_PASSWORD=password 
MAIL_ENCRYPTION=null 

# All of the below values are correct 
PUSHER_APP_ID=id 
PUSHER_KEY=key 
PUSHER_SECRET=secret 

そしてここでは、broadcasting.php設定ファイル

<?php 

return [ 

    /* 
    |-------------------------------------------------------------------------- 
    | Default Broadcaster 
    |-------------------------------------------------------------------------- 
    | 
    | This option controls the default broadcaster that will be used by the 
    | framework when an event needs to be broadcast. You may set this to 
    | any of the connections defined in the "connections" array below. 
    | 
    | Supported: "pusher", "redis", "log", "null" 
    | 
    */ 

    'default' => env('BROADCAST_DRIVER', 'pusher'), 

    /* 
    |-------------------------------------------------------------------------- 
    | Broadcast Connections 
    |-------------------------------------------------------------------------- 
    | 
    | Here you may define all of the broadcast connections that will be used 
    | to broadcast events to other systems or over websockets. Samples of 
    | each available type of connection are provided inside this array. 
    | 
    */ 

    'connections' => [ 

     'pusher' => [ 
      'driver' => 'pusher', 
      'key' => env('PUSHER_KEY'), 
      'secret' => env('PUSHER_SECRET'), 
      'app_id' => env('PUSHER_APP_ID'), 
      'options' => [ 
       'cluster' => 'ap1', 
       'encrypted' => true 
      ], 
     ], 

     'redis' => [ 
      'driver' => 'redis', 
      'connection' => 'default', 
     ], 

     'log' => [ 
      'driver' => 'log', 
     ], 

     'null' => [ 
      'driver' => 'null', 
     ], 

    ], 

]; 

私がやっていることに間違いは何ですか?誰もがこれで私を助けることができますか?

ありがとうございます。

答えて

3

イベントがプッシャーに正しく届いていないようです。おそらく、あなたのブロードキャスト設定に誤りがあります。

まずチェックconfig/broadcasting.phpとあなたのプッシャー接続用のクラスタ定義:あなたの.envファイルにBROADCAST_DRIVER=pusher

'options' => [ 
    'cluster' => 'your_cluster', 
] 

設定のデフォルトを。

AdministratorGeneratedイベントを再試行して、プッシャーデバッグコンソールにログインしているかどうかを確認してください。

あなたはPrivateChannelも使用していますので、window.Echo.channel('administrator')window.Echo.private('administrator')である必要があります。もう一度gulpを実行してください。

+0

画像に表示されているものと同じことが再び私に与えられました...あなたが私に求めた変更を行った後でさえ... –

+0

どのキュードライバを使用していて、 "プッシャー/プッシャー-php-サーバー "作曲家と? –

+0

質問を編集しました。親切にそれを見て... –

関連する問題