服务介绍
欢迎使用 NI PaaS 即时通讯。本页面介绍 IM PaaS 的整体架构、四种会话形态与关键能力,帮助你在 10 分钟内判断接入方式。
架构设计特点
IM PaaS 的架构设计围绕“可私有化、可嵌入、可观测”三个目标:
- 无需改变现有 App 架构:IMLib 以 SDK 形式嵌入,业务数据仍由你的系统维护;
- 无需改变现有 App Server:服务端提供标准 REST Open API,独立部署一套 IM 服务即可;
- 私有二进制/JSON 长连接:消息轻量、有序、可补发,单帧上限 65,536 字节;
- 签名鉴权:App-Key + Nonce + Timestamp + Signature,防止能力滥用与重放;
- 全链路可观测:连接、消息、回调投递均有请求 ID 与投递日志。
IM 服务不要求你把用户体系迁移过来:用户资料由你的应用维护,IM 侧以 userId 作为稳定标识,可按需同步昵称/头像。
功能特性
IM PaaS 提供单聊、群组、超级群与聊天室四种会话形态,分别对应不同的业务场景。它们的差异如下:
| 功能 | 单聊(Private) | 群组(Group) | 超级群(SuperGroup) | 聊天室(Chatroom) |
|---|---|---|---|---|
| 场景类比 | 类似微信私聊 | 类似工作群 / 兴趣群 | 类似 Discord 社区 | 直播互动 / 广场 |
| 特性 / 优势 | 支持离线消息与历史漫游 | 支持离线消息与历史漫游;可管理成员与权限 | 不限成员数量;支持频道与用户组语义;rev22 起会话类型为 SUPER_GROUP(10) | 只有在线用户接收消息,退出即清理 |
| 计费套餐 | 自托管,无套餐限制 | 自托管,无套餐限制 | 自托管,无套餐限制 | 自托管,无套餐限制 |
| 开通服务 | 不需要 | 不需要 | 不需要(自托管默认开启) | 不需要 |
| UI 组件 | 提供 IMKit(Android / Web / Electron / Flutter / Native) | 提供 IMKit | 暂不提供 IMKit 组件 | 暂不提供 IMKit 组件 |
| 创建方式 | 无需创建 | 服务端 API | 服务端 API | 服务端 API |
| 销毁 / 解散方式 | 不适用 | 服务端 API | 服务端 API | 服务端 API 或自动销毁 |
| 成员数量限制 | 不适用 | 群成员上限 3,000 | 成员上限 100,000 | 在线人数上限 5,000 |
| 用户加入限制 | 不适用 | 不限 | 按频道组织成员;每群 100 个频道、100 个用户组(服务端校验,超限 1015) | 默认仅可加入 1 个聊天室(可配置) |
| 获取加入前的消息 | 不适用 | 按权限配置拉取历史 | 未加入可按配置拉取历史 | 加入后获取最近 50 条 |
| 客户端发送频率 | 每客户端 120 条/分钟 | 每客户端 120 条/分钟 | 每客户端 120 条/分钟 | 每客户端 120 条/分钟 |
| 服务端发送频率 | 按 API 限频,见「限频与限制」 | 同上 | 同上 | 同上 |
| 扩展消息 | 支持 | 支持 | 支持 | 不支持 |
| 修改消息 | 不支持 | 不支持 | 支持 | 不支持 |
| 消息可靠度 | 100% 可靠(至少一次 + 去重) | 100% 可靠 | 100% 可靠 | 超出消费上限的消息会被主动丢弃 |
| 消息本地存储 | 移动端 / PC 端支持 | 移动端 / PC 端支持 | 移动端 / PC 端支持 | 不支持 |
| 消息云端存储 | 可配置保留周期 | 可配置保留周期 | 默认 7 天,可配置 | 可配置 |
| 离线缓存消息 | 默认 500 条/会话 | 默认 500 条/会话 | 不支持 | 不支持 |
| 消息本地搜索 | 支持 | 支持 | 支持 | 不支持 |
| 离线消息推送 | 支持(可选推送通道) | 支持 | 支持 | 不支持 |
* 离线消息推送需要接入厂商推送通道;IM PaaS 提供服务端推送接口与投递日志,不绑定具体厂商。
高级与扩展功能
IM 服务支持的高级与扩展功能包括但不限于:
- 用户管理:用户封禁、黑名单、白名单、群组/聊天室禁言、聊天室成员封禁;
- 在线状态订阅:查询用户在线/离线/登出状态,支持批量查询;
- 多设备在线消息同步:桌面端、移动端与多个 Web 端同时在线,消息多端同步;
- 全量消息路由:将消息实时回调到你的业务服务器,用于归档、审核与业务路由;
- 内容审核:敏感词列表、过滤/替换策略;结合消息回调实现先审后发;
- 服务端推送通知:按用户、标签或全量用户推送通知;
- 消息扩展能力:撤回、已读回执、输入状态、消息扩展字段、会话标签、置顶、免打扰、草稿。
提示
部分高级能力依赖控制台配置或服务端回调;生产环境接入前请阅读「安全与隐私」与「限频与限制」。
服务端
你的后端可以通过 Server API 完成用户、群组、消息、聊天室等管理动作,例如:
完整接口见 API 接口列表;每个接口都提供参数、返回示例与错误码。
客户端
客户端按平台提供 IMLib(核心能力)与 IMKit(开箱即用的 UI 组件):
| 平台 | 语言 / 运行时 | IMLib | IMKit | 文档 |
|---|---|---|---|---|
| Android | Kotlin(JVM / Android) | ✅ 已交付 | ✅ 已交付 | IMLib / IMKit |
| Web | JavaScript(ESM)+ TypeScript | ✅ 已交付 | ✅ 已交付 | IMLib / IMKit |
| Electron | Electron 主进程 + preload 桥 | ✅ 已交付 | ✅ 已交付 | IMLib / IMKit |
| macOS | ArkTS(契约预留) | ✅ 已交付 | ✅ 已交付 | IMLib / IMKit |
| Flutter | Dart(Flutter) | ✅ 已交付 | ✅ 已交付 | IMLib / IMKit |
| Native (C ABI) | C ABI(Rust core) | ✅ 已交付 | ✅ 已交付 | IMLib / IMKit |
| iOS | Swift(契约预留) | ✅ 已交付 | ✅ 已交付 | IMLib / IMKit |
| HarmonyOS | ArkTS(契约预留) | ⏳ 契约预留 | ⏳ 契约预留 | IMLib / IMKit |
控制台
控制台提供应用与 AppKey 管理、用户/群组/聊天室运营、消息查询、回调配置、敏感词、统计分析等能力;运营后台面向平台运营角色。详见 控制台指南。
数据与隐私
- 消息内容由你完全掌控:可配置保留周期,支持全量导出与删除;
- IM 服务不采集通讯录、位置等敏感信息,除非你的业务显式调用相关接口;
- 客户端 SDK 仅在本地存储会话、消息与草稿,可通过 API 清理;
- 私有化部署模式下,数据不离开你的基础设施。详见 数据与隐私。