我正在使用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:我已经研究了私人和在线频道,但在我的情况下并非如此。
答案 0 :(得分:1)
首先让我们回顾一下:
频道是用户可以订阅的内容。他们不必,他们只是可以。 事件是通过Channel传递给用户的事物。只有订阅了该频道的用户才能收到该频道。
用户可以订阅一个或多个频道。因此,在您的情况下,听起来好像目前您的所有用户都订阅了一个频道。为什么不订阅每个用户自己的频道?没有限制也没有必要限制你可以拥有的频道数量,所以这很好。然后,如果您希望通知所有用户,您可以推送到他们所有订阅的频道,但如果您只希望通知特定用户,则可以将该活动推送到他们所需的频道# 39;重新订阅。
在跟踪方面 - 我的建议是使用用户ID命名频道。
请记住,任意数量的用户都可以订阅任意数量的频道。希望这有帮助!