这一直是一个长期存在的问题,现在和我开始之前是我尝试过的,我在哪里寻找解决方案。
我试过的几件事
我确保我的群集对于我正在使用的应用程序是正确的:https://laracasts.com/discuss/channels/laravel/pusher-is-not-receiving-my-message?page=1
我的集群是eu
我尝试了所有名称空间的变体:
https://laracasts.com/discuss/channels/laravel/echo-broadcast-event-listener-not-being-triggered .App.Events.DefaultPusherEvent
,App\Events\DefaultPusherEvent
,.DefaultPusherEvent
等...
我的情景
因此,我正在尝试使用Laravel和Pusher来处理实时更新,因此最终我可以实现实时通知+未来我们需要的任何其他内容。
在Laravel文档之后我能够向我的推送应用程序广播。
所以那里没有问题,我唯一的问题就是尝试使用Laravel的echo甚至Pusher的vanilla代码来消耗这个事件。
我之前遇到过这个问题,我的解决方案是不使用私人频道(因为它们对我来说根本不起作用)。但现在我需要这个功能。
进展
在发布这个问题之前,我重新制作了Laravel的全新装置并再次进行了检查,但结果是一样的。我甚至建立了一个登录系统,以确保它不是因为我的用户不是因为我的用户没有登录到应用程序。
ListenForPusherEvents(){
Echo.private(`datalev`)
.listen('DefaultPusherEvent', (e) => {
console.log(e);
console.log('Something');
});
}
此外,我没有控制台错误,因为我已经使用pusxswpoi目录验证了用户
这是为私人频道验证用户的代码。
'broadcasting/auth'
确保您的broadcast / auth路由正确返回带有auth密钥的JSON对象。 Pusher使用它来验证您对频道的订阅。
过程如下: