IM 尊享版和 IM 旗舰版功能

本页介绍 IM PaaS 的高级与扩展能力。与融云不同,本项目为自托管模式,下列能力默认可用,无需额外开通套餐;仅受部署配置与限频约束。

超级群​

超级群(SuperGroup)面向大规模社区,成员上限 100,000,支持频道(Channel)语义与成员分组。

能力说明接口
创建超级群指定群主与默认频道POST /supergroup/create
频道管理创建/查询/删除频道POST /supergroup/channel/create
频道消息按频道发送与拉取POST /supergroup/chat
修改消息超级群独有POST /supergroup/message/modify

已读回执​

单聊与群聊支持已读回执:接收方调用 sendReadReceipt 上报已读消息;发送方查询已读人数与已读用户列表。

// 接收方:进入会话后上报已读
await client.sendReadReceipt(ConversationType.PRIVATE, 'user2', [messageId]);

// 发送方:查询已读人数与已读用户
const count = await client.getMessageReadCount(messageId);
const users = await client.getMessageReadUsers(messageId, { limit: 50 });
await engine.sendReadReceipt(1, 'user2', [messageId]);
final count = await engine.getMessageReadCount(messageId);
final users = await engine.getMessageReadUsers(messageId, limit: 50);
client.sendReadReceipt(ConversationType.PRIVATE, "user2", listOf(messageId), object : OperationCallback {
    override fun onSuccess() { /* 上报成功 */ }
    override fun onError(error: IMError) { /* 处理错误 */ }
})

消息撤回​

发送方可在 120 秒内撤回消息;撤回后双方会话内消息变为“已撤回”占位。

await client.recallMessage(messageId);
await engine.recallMessage(messageId);
client.recallMessage(messageId, object : OperationCallback { /* ... */ })

输入状态​

发送“正在输入”状态,默认 5 秒过期;上报频率上限 60 次/分钟。

消息扩展与自定义消息​

  • 消息扩展:为已发送消息追加业务字段(如翻译、审核结果),不改变原消息体;
  • 自定义消息:注册自定义 objectName 与 JSON 载荷,IM 服务透传不解析;
  • 消息搜索:本地全文搜索,支持按关键字返回会话内消息。

全量消息路由(回调)​

通过服务端回调把消息实时同步到你的业务服务器,用于归档、审核、数据大屏等。支持消息路由、离线事件、成员变更、封禁等事件。

在线状态与用户管理​

  • 查询单个/批量用户在线状态(批量上限 100);
  • 用户封禁、白名单、标签、Token 状态管理;
  • 好友关系、黑名单、备注;

内容审核​

敏感词列表支持过滤、替换与命中回调;结合 message.routed 回调可以做到先审后发。

推送​

服务端推送接口支持按用户、标签、全量用户推送;推送内容与消息解耦,可配置厂商通道。

能力对比​

能力单聊群组超级群聊天室
已读回执✅✅✅—
撤回✅✅✅—
输入状态✅✅✅✅
消息扩展✅✅✅—
修改消息——✅—
离线补发✅✅——
历史漫游✅✅✅—