开发指导
欢迎使用融云即时通讯。本页面简单介绍了融云即时通讯架构、服务能力和 SDK 产品。
架构与服务
融云提供的即时通讯服务,不需要在 App 之外建立并行的用户体系,不用同步 App 下用户信息到融云,不影响 App 现有的系统架构与帐号体系,与现有业务体系能够实现完美融合。
融云的架构设计特点:
- 无需改变现有 App 的架构,直接嵌入现有代码框架中;
- 无需改变现有 App Server 的架构,独立部署一份用于用户授权的 Service 即可;
- 专注于提供通讯能力,使用私有的二进制通信协议,消息轻量、有序、不丢消息;
- 安全的身份认证和授权方式,无需担心 SDK 能力滥用(盗用身份的垃圾消息、垃圾群发)问题 。
融云即时通讯产品支持单聊、群聊、超级群、聊天室多种业务形态,提供丰富的客户端和服务端接口,大部分能力支持开箱即用。
业务类型介绍
单聊(Private)业务即一对一聊天。普通群组(Group)业务类似微信的群组。超级群与聊天室业务均不设用户总数上限。超级群(UltraGroup)1 类似 Discord,提供了一种新的群组业务形态,在超级群中提供公有/私有频道、用户组等功能,适用于构建超级社区。聊天室(Chatroom)只有在线用户可接收消息,广泛适用于直播、社区、游戏、广场交友、兴趣讨论等场景。融云的 IMKit 为 Android/iOS/Web 平台的单聊、普通群组业务提供了开箱即用的 UI 组件,其他情况下可以使用 IMLib SDK 构建您的业务体验。
单聊、群组、超级群、聊天室的主要差异如下:
功能 | 单聊(Private) | 普通群组(Group) | 超级群(UltraGroup)1 | 聊天室(Chatroom) |
---|---|---|---|---|
场景类比 | 类似微信私聊 | 类似微信群组 | 类似 Discord | 聊天室 |
特性/优势 | 支持离线消息推送和历史消息记录漫游 | 支持离线消息推送和历史消息记录漫游,可用于兴趣群、办公群、客服服务沟通等 | 不限成员数量;支持修改已发消息;提供公有/私有频道、用户组等社群功能 | 不限成员数量;只有在线用户可接收消息,退出时清除本地历史消息 |
开通服务 | 不需要 | 不需要 | 需要 | 不需要 |
UI 组件 | IMKit2 | IMKit2 | 不提供 | 不提供 |
创建方式 | 无需创建 | 服务端 API | 服务端 API | 服务端 API;客户端加入时可自动创建 |
销毁/解散方式 | 不适用 | 服务端 API | 服务端 API | 服务端 API;具有自动销毁机制3 |
成员数量限制 | 不适用 | 群成员数上限 3000 | 不限 | 不限 |
用户加入限制 | 不适用 | 不限 | 最多加 入 100 个群,每个群中可加入 50 个频道 | 默认仅可加入 1 个聊天室,可自行关闭限制4 |
获取加入前的消息 | 不适用 | 默认不允许,可关闭限制 | 默认不允许,可关闭限制 | 客户端加入聊天室即可获取最新消息,最多 50 条 |
客户端发送消息频率 | 每个客户端 5 条/秒5 | 每个客户端 5 条/秒5 | 每个客户端 5 条/秒5 | 每个客户端 5 条/秒5 |
服务端发送消息频率 | 6000 条/分钟6 | 20 条/秒6 | 100 条/秒6 | 100 条/秒6 |
扩展消息 | 支持 | 支持 | 支持 | 不支持 |
修改消息 | 不支持 | 不支持 | 支持 | 不支持 |
消息可靠度 | 100% 可靠 | 100% 可靠 | 100% 可靠 | 超出服务端消费上限的消息将被主动抛弃7 |
消息本地存储 | 移动端、PC 端支持 | 移动端、PC 端支持 | 移动端、PC 端支持 | 不支持 |
消息云端存储 | 需开通,可存储 6 - 36 个月8 | 需开通,可存储 6 - 36 个月8 | 默认存储 7 天,提供 3 - 36 个月存储服务8 | 需开通,可存储 2 - 36 个月8 |
离线缓存消息 | 默认 7 天离线消息缓存 | 默认 7 天离线消息缓存 | 不支持 | 不支持 |
消息本地搜索 | 支持 | 支持 | 支持 | 不支持 |
离线推送通知 | 支持 | 支持 | 支持,可调整推送频率 | 不支持 |
脚注:
- 超级群业务仅限 IM 尊享版使用。
- IMKit 已支持 Android/iOS/Web 端。
- 聊天室具有自动销毁机制。默认情况下,如果聊天室在指定时间内(默认 1 个小时)没有人说话,且没有人加入聊天室时,会把聊天室内所有成员踢出聊天室并销毁聊天室。您可以灵活调整聊天室的存活条件与存活时间。
- 可允许单个用户加入多个聊天室,参考知识库文档:开通单个用户加入多个聊天室。
- 客户端不区分业务类型整体限制 5 条消 息/秒,可付费上调。
- 此处为服务端 API 默认频率,可付费上调。详细限频信息参见 API 接口列表。
- 聊天室消息量较大时,超出服务端消费上限的消息将被主动抛弃。您可通过用户白名单、消息白名单、自定义消息级别等服务,改变消息抛弃策略。如果用户在聊天室的用户白名单内,该用户所发送的消息在消息量大时也不会被抛弃。如需了解服务端消费上限与如何改变消息抛弃策略,可参见服务端文档消息优先级服务、聊天室白名单服务。
- 参考知识库文档:单聊、群聊、聊天室、超级群在融云端历史消息存储时间分别是多长?。
高级与扩展功能
IM 服务支持的高级与扩展功能,包括但不限于以下项目:
- 用户管理:例如用户封禁、用户黑名单(拉黑)、用户白名单,群组及聊天室禁言、聊天室成员封禁等。
- 在线状态订阅:将用户每一个终端在线、离线或登出后的状态,同步给应用开发者指定的服务器地址。
- 多设备在线消息同步:同时支持桌面端、移动端、以及多个 Web 端之间的消息在线同步。
- 全量消息路由:支持将单聊、群组、聊天室、超级群等的消息数据同步到应用开发者指定的服务器地址。