推手不回电

pusher gives no call back

我正在尝试测试一个基本的推送器触发事件​​,它会给我一个简单的警报和一个控制台日志,但它不起作用。从推送器控制台调试收到响应,但没有警报。我正在使用 laravel 5.3 及其路线和视图。下面是我的代码。我已经审查了敏感信息。

路由文件web.php

Route::get('/bridge', function() {

    error_reporting(E_ALL);

    $options = array(
        'cluster' => 'ap1',
        'encrypted' => true
    );
    $pusher = new Pusher(
        'key censored',
        'secret censored',
        'app id censore',
        $options
    );

    $data['message'] = 'hello world';
    $pusher->trigger('test_channel', 'my_event', $data);

    return view('pusher');
});

并查看 pusher.blade.php

<!DOCTYPE html>
<head>
    <title>Pusher Test</title>
    <script src="https://js.pusher.com/3.2/pusher.min.js"></script>
    <script>

        // Enable pusher logging - don't include this in production
        Pusher.logToConsole = true;

        var pusher = new Pusher('e5bbf707214a6223d044', {
            cluster: 'ap1',
            encrypted: true
        });

        var channel = pusher.subscribe('test_channel');
        channel.bind('my_event', function(data) {
           alert(data);
            console.log(data);
        });
    </script>
</head>

chrome 控制台给我以下日志。

Pusher : State changed : initialized -> connecting
Pusher : Connecting : {"transport":"ws","url":"wss://ws-ap1.pusher.com:443/app/censored key?protocol=7&client=js&version=3.2.2&flash=false"}
Pusher : State changed : connecting -> connected with new socket ID 5034.8700909
Pusher : Event sent : {"event":"pusher:subscribe","data":{"channel":"test_channel"}}
Pusher : Event recd : {"event":"pusher_internal:subscription_succeeded","data":{},"channel":"test_channel"}
Pusher : No callbacks on test_channel for pusher:subscription_succeeded

您为 my_event 事件创建了绑定。此错误是抱怨您没有 pusher:subscription_succeeded 事件的回调。如果你想捕捉并处理它,你需要创建一个绑定。

https://pusher.com/docs/client_api_guide/client_presence_channels#pusher-subscription-succeeded

channel.bind('pusher:subscription_succeeded', function(members) {
    alert('successfully subscribed!');
});

这对我有用

channel.bind('pusher:subscription_succeeded', function(members) {
    // alert('successfully subscribed!');
 });

 channel.bind("App\Events\NewMessage", function(data) {
     console.log(data);
 });