单群聊选型实践
本文基于融云 IMKit 能力,系统梳理应用接入单群聊社交场景时的常见需求,并提供对应的解决方案与实现指引。同时,本文也对可能遇到的问题及关键细节加以提示,帮助您快速理解业务逻辑,高效完成功能落地。如果您基于 IMLib 实现,可参考 IMLib 单群聊场景实践。
- 本文档主要针对单聊及普通群聊(限制人数 3000 人)场景。
- 其他会话类型的详细介绍与区别,请参考会话类型说明(Android)。
SDK 选型(当前文档基于融云 IMKit 能力)
若您需要在应用内集成融云即时通讯能力,需在 IMLib 与 IMKit 两款 SDK 间做出选择。融云 IM 客户端 SDK 提供丰富的组件与接口,大部分能力开箱即用,您可根据业务需求灵活选型。
融云 IM 支持单聊、群聊、超级群、聊天室等多种业务形态,配合 IM 服务端 API,可满足丰富的业务需求。
业务选型
| 业务需求 | 建议做法 |
|---|---|
| 需要将 IM 核心能力深度集成,基于业务有特定的 UI 展示需求,需要完全自定义 UI | 选择 IMLib:封装了通信核心能力和会话、消息等对象,不含任何 UI 组件,可给予您最大的灵活性。 |
| 希望快速上线,直接使用成熟的会话界面 | 选择 IMKit:集成会话界面(UI),提供开箱即用的单聊、群聊能力,可大幅缩短开发周期。 |
| 需要快速上线,但需要对界面做一定定制 | 选择 IMKit:通过丰富的 API 自定义界面功能,或使用官方插件扩展能力,在成熟 UI 基础上按需调整。 |
两款 SDK 对比
| 特性 | IMLib | IMKit |
|---|---|---|
| 定位 | 即时通讯能力库 | 即时通讯界面库 |
| UI 组件 | 不含任何 UI | 集成会话界面、消息列表、用户托管页面等 |
| 支持业务 | 单聊、群聊、聊天室、超级群 | 单聊、群聊(超级群、聊天室无现成 UI) |
| 灵活性 | 极高,可完全自定义 | 高,可定制或扩展 |
| 开发周期 | IMLib SDK 接入较快,UI 开发周期取决于业务需求 | 较短 |
| 依赖关系 | 独立使用 | 依赖 IMLib |
实现要点
- 业务形态:单聊、群聊功能无需额外开通,创建应用后即可使用。
- 平台支持:IMLib 支持 Android、iOS、Web、HarmonyOS、Flutter、React Native、Unity、uni-app、小程序;IMKit 支持 Android、iOS、Web、HarmonyOS、Flutter、uni-app(Web 端需搭配 IMLib 5.x 使用)。
- 版本建议:各平台 IMLib 建议使用 5.x 系列;IMKit 对应 5.x 系列。HarmonyOS 建议使用当前最新版本 SDK。
- 包体积:集成前可查阅集成 SDK 后包体积增量文档,评估对安装包的影响。
选型 IMLib
适用场景:深度集成 IM 能力、完全自研 UI、需要支持超级群或聊天室的自定义界面、跨平台(React Native / Unity / Flutter / uni-app)且无现成 IMKit 支持的场景。
实现方式:集成 IMLib SDK,自行实现会话列表、聊天界面、消息气泡等全部 UI,调用 IMLib 的会话、消息等 API 完成业务逻辑。可参考官方 Demo和部分 IMkit 开源代码 与客户端 API 文档。
文档:IMLib 开发指导(Android)(iOS / Web / 其他端请查看对应平台 IMLib 文档)
选型 IMKit
适用场景:快速上线单聊、群聊功能;希望直接使用成熟会话 UI;在现有 UI 基础上做定制或扩展。
实现方式:集成 IMKit SDK(会自动引入 IMLib),直接使用会话列表、聊天界面等组件,通过配置和 API 自定义主题、消息展示、扩展功能等,无需从零实现聊天 UI。
文档:IMKit 开发指导(Android)(iOS / Web / 其他端请查看对应平台 IMKit 文档)
源码:源码获取地址
目前融云针对 Android、iOS、Flutter 及 uni-app 平台的 IMKit SDK 均已开源。您可以通过官方渠道获取源码进行集成和二次开发。
若在源码基础上进行修改,后续升级 SDK 版本时将面临较高的合并成本,排查问题也会更加复杂。同时,由于代码经过定制,官方技术支持团队将无法为修改后的源码提供直接的技术保障和问题排查支持。请在集成前综合评估长期维护的投入。