activity 影响多个提要时如何避免重复

How to avoid duplicates when an activity affects multiple feeds

我不确定如何最好地处理 activity 适用于多个供稿后跟另一个供稿的情况。看来我可能会重复。

以这个例子为例,其中有一个带有用户源和播放列表源的音乐应用程序。

用户供稿 - 用于用户相关活动 播放列表提要 - 用于播放列表相关活动

假设我对用户 A 和他的播放列表 playlistA 感兴趣,所以我创建了一个提要来关注用户 A 和播放列表 A。让我们称之为 myFeed。

现在假设用户 A 在他的播放列表 A 中添加了一首新歌。因为这个 activity 与 userA 和 playlistA 相关,所以我是否将 activity 添加到 userA 和 playlistA 两次?这会在 myFeed 中出现两次吗?

有一个简单的解决方案;添加活动时发送 timeforeign_id 值。

在这两个字段上强制执行唯一性并解决了您描述的问题(只需确保始终为相同的唯一性发送相同的值 activity)

您可以在官方文档中找到更多相关信息:https://getstream.io/docs/#uniqueness

在这种情况下,可以在添加activity时使用to参数。 它基本上是这样的:

const feed = await client.feed('user', 'A', token);
activity = {
    'actor': 'User:A',
    ....
    'to': 'Playlist:A',
};
feed.addActivity(activity)

以上代码将添加一个 activity,但是当从 User:A 提要和 Playlist:A 获取活动时,return 您添加的 activity。