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 中出现两次吗?
有一个简单的解决方案;添加活动时发送 time
和 foreign_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。
我不确定如何最好地处理 activity 适用于多个供稿后跟另一个供稿的情况。看来我可能会重复。
以这个例子为例,其中有一个带有用户源和播放列表源的音乐应用程序。
用户供稿 - 用于用户相关活动 播放列表提要 - 用于播放列表相关活动
假设我对用户 A 和他的播放列表 playlistA 感兴趣,所以我创建了一个提要来关注用户 A 和播放列表 A。让我们称之为 myFeed。
现在假设用户 A 在他的播放列表 A 中添加了一首新歌。因为这个 activity 与 userA 和 playlistA 相关,所以我是否将 activity 添加到 userA 和 playlistA 两次?这会在 myFeed 中出现两次吗?
有一个简单的解决方案;添加活动时发送 time
和 foreign_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。