【问题标题】:getstream.io - Is there a way to prevent activities from bouncing back to a user via another feed?getstream.io - 有没有办法防止活动通过另一个提要反弹回用户?
【发布时间】:2016-05-24 08:38:51
【问题描述】:

假设我有一个关注足球队的用户。该用户在该团队论坛上发布消息,从而在团队提要上创建一个活动。由于用户关注团队,因此他还会在自己的提要中获得一个关于他自己帖子的活动。

是否有任何方法(除了在客户端进行过滤)来避免用户在其他提要上发起的活动在他们自己的提要上反弹?

用户有两个供稿,一个是他的活动供稿,其他用户会关注该供稿,另一个是他的通知供稿,用于关注其他供稿,例如足球队。

当他在论坛上发帖时,活动被添加到团队提要和他的活动提要中,但由于用户通知提要也跟随团队提要,因此用户在他的通知提要中获得自己的活动 - 这就是我想要的避免。

【问题讨论】:

    标签: getstream-io


    【解决方案1】:

    解决此问题的最佳方法是使您的活动独一无二,一旦您做对了,即使同一个活动两次出现在 Feed 上,它也只会出现一次。

    为此,您只需在创建活动时传递timeforeign_id 字段。例如,您可以将time 字段设置为活动的创建时间,将foreign_id 设置为活动在数据库中引用的对象的ID。

    您可以在此处的文档中找到有关此功能的更多信息:http://getstream.io/docs/#uniqueness

    请注意,如果您使用任何框架集成(RoR、Django、Laravel 等),您可以直接使用它。

    编辑:流最近引入了可配置的丢弃规则,允许您忽略某些更新(例如,通过关注关系“返回”到其作者供稿的活动)。有关文档的更多信息:我们刚刚添加了一些称为更新丢弃规则的内容,https://getstream.io/docs/#discard-rules

    【讨论】:

    • 不太确定我们是否真的在谈论同一件事。我的问题不是我在同一个提要上获得重复的活动,而是用户从转发到他自己的提要的其他提要中获取自己的活动。我不是在谈论用户自己的活动提要,而是他的“通知提要”。其他人可以看到他在论坛上发布了自己的活动供稿,这很好。当用户查看他自己的通知提要时,它会显示“你在足球 X 论坛上发帖”,因为这是他自己的操作,所以他的兴趣不大。
    • 你说得很好。我认为确实现在实现这一目标的唯一方法是将其过滤掉客户端。这是我们应该为我们的路线图考虑的事情。
    • 谢谢@Thierry - 对我来说不是障碍,因为过滤客户端相当容易,我只是想知道我是否错过了处理这种情况的现有功能。
    • 也许有类似于“to”选项的东西,但意图相反——“notTo”会将扇出限制为列出的任何提要,例如用户通知字段。
    • 这对我来说绝对是一个问题。客户端过滤通知的问题在于,即使您可以过滤掉活动,您也无法从未见/未读计数中过滤掉它们的存在。结果是您必须将自己的活动标记为已查看并在每次遇到时阅读。这非常麻烦。正确的解决方案是,对于 id X 的通知提要,简单地排除所有与作者 X 的活动。我想这应该是可选的,所以这可能只是通知提要组本身的一个标志。我会喜欢看到这个。
    猜你喜欢
    • 2020-10-10
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多