You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在getStream.io平台上隐藏用户Feed流中的特定类型活动?

GetStream.io 实现用户隐藏特定类型活动动态方案

这个需求属于GetStream原生支持的个性化配置范畴,不需要额外做复杂的定制开发,按照以下步骤落地即可:

  • 首先给所有活动动态统一新增activity_type字段,发布动态时给该字段赋值为你预设的类型枚举值,比如post、comment、system_notice、repost等,后续过滤逻辑全部基于该字段匹配。
  • 在用户维度维护屏蔽类型清单,你可以选择存在自有业务库,也可以直接存储在GetStream提供的用户自定义扩展属性中,格式为数组即可,例如blocked_activity_types: ["system_notice", "repost"]即代表该用户需要屏蔽系统通知、转发两类动态。
  • 调用Feed流查询接口时传入过滤条件即可实现动态过滤,以JS SDK为例的参考代码如下:
// 获取当前登录用户的屏蔽类型清单
const currentUserId = 'user_123';
const userBlockedTypes = await queryUserBlockedTypes(currentUserId);
// 初始化Feed实例并调用带过滤的查询接口
const userTimelineFeed = client.feed('timeline', currentUserId);
const filteredActivities = await userTimelineFeed.get({
  filter: `activity_type:not_in[${userBlockedTypes.join(',')}]`,
  limit: 20
});
  • 如果你不需要每次查询都手动传过滤参数,也可以直接在GetStream后台给对应用户的Feed流配置全局过滤规则,配置完成后平台会自动完成过滤,返回结果默认排除用户屏蔽的类型。

注意:如果后续有新增的动态类型,只需要同步更新类型枚举和用户端屏蔽可选选项即可,原有过滤逻辑不需要调整,GetStream原生过滤的性能不受数据量影响,不会出现查询延迟升高的问题。

内容的提问来源于stack exchange,提问作者Komal Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 07:45:04