使用Pusher + Laravel向组用户发送通知

时间:2017-11-09 01:48:42

标签: php laravel events pusher

我正在使用Laravel构建应用程序,并使用Pusher向用户发送通知。当有人举办活动时,通知会发送给用户。

例如:喜欢活动,评论活动,......

我已经完成了与Pusher的发送noti,但它发送给所有用户。所以我想在事件被解雇时将noti发送给用户组。

例如:当有人对您的帖子发表评论时,我只想让app发送给您(所有者)并且所有用户都已对该帖子发表了评论。

我的代码叫Pusher:

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

// Comment event channel
var channel = pusher.subscribe('private-commented-event');
channel.bind('App\\Events\\PostWasCommented', function(data) {
    alert('Post was commented!');
});

与Pusher有什么想法?

p / s:我已经研究了私人和在线频道,但在我的情况下并非如此。

1 个答案:

答案 0 :(得分:1)

首先让我们回顾一下:

频道是用户可以订阅的内容。他们不必,他们只是可以。 事件是通过Channel传递给用户的事物。只有订阅了该频道的用户才能收到该频道。

用户可以订阅一个或多个频道。因此,在您的情况下,听起来好像目前您的所有用户都订阅了一个频道。为什么不订阅每个用户自己的频道?没有限制也没有必要限制你可以拥有的频道数量,所以这很好。然后,如果您希望通知所有用户,您可以推送到他们所有订阅的频道,但如果您只希望通知特定用户,则可以将该活动推送到他们所需的频道# 39;重新订阅。

在跟踪方面 - 我的建议是使用用户ID命名频道。

请记住,任意数量的用户都可以订阅任意数量的频道。希望这有帮助!