【问题标题】:Send notification to group user with Pusher + Laravel使用 Pusher + Laravel 向群组用户发送通知
【发布时间】:2017-11-09 01:48:42
【问题描述】:

我正在使用 Laravel 构建一个应用程序,并使用 Pusher 向用户发送通知。当有人进行活动时,通知将发送给用户。

例如:点赞事件、评论事件……

我已经用 Pusher 完成了发送通知,但它发送给所有用户。所以我想在事件触发时向用户组发送通知。

例如:当有人对您的帖子发表评论时,我只想让应用程序向您(所有者)发送通知,并且所有用户都已经对该帖子发表了评论。

我的代码调用 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:我已经研究过私人和存在渠道,但在我的情况下并非如此。

【问题讨论】:

  • 为什么不为每个组制作单独的频道
  • 你是指每组用户吗?不,因为应用程序有很多事件。每个事件在触​​发时都会有不同的组用户,因此无法为组用户创建永久频道。
  • 你关注docs了吗?
  • 是的,当然!我不知道如何向组用户发送通知,并且触发的另一个事件将发送给另一个组用户。

标签: php laravel events pusher


【解决方案1】:

首先让我们回顾一下:

频道是用户可以订阅的东西。他们不必这样做,他们只是可以。 事件是通过 Channel 传递给用户的东西。只有订阅了该频道的用户才会收到该事件。

用户可以订阅一个或多个频道。因此,就您而言,听起来好像当前您的所有用户都订阅了一个频道。为什么不同时为每个用户订阅他们自己的频道呢?没有限制,也没有必要限制您可以拥有的频道数量,所以这很好。然后,如果您希望通知所有用户,您可以推送到他们都订阅的频道,但如果您只想通知特定用户,您可以将事件推送到他们订阅的频道到。

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

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

【讨论】:

  • 好的,感谢您的建议。我通过 id 创建了用户的频道,效果很好。但似乎向许多频道(许多用户)发送通知非常慢。
  • 例如:当用户评论时,我会在返回视图之前运行 $push->trigger(...) ,但它很慢并且动作评论也很慢。有什么提高速度的想法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-19
  • 2018-07-16
  • 2014-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多