Android IMKit
Android 端 IMKit 在 IMLib 之上提供 10 个可组合 UI 组件(会话列表、会话页、气泡、输入区、头像、未读角标、时间分割、发送状态、主题与门面):组件语义跨端一致,只有 UI 框架与挂载方式不同。本端形态:View 体系:Fragment + RecyclerView + XML;Provider 注册表驱动消息气泡渲染。
平台状态
契约 IDL v1.0.0(frozen,冻结修订 35);组件数 10;绑定状态:in-progress。IMKit -> IMLib(公开接口)only;IMKit 禁止 import 内部传输层/REST 实现/服务端类型。
IMKit 是什么
| 层 | 职责 | 不做什么 |
|---|---|---|
| IMLib | 连接、消息、会话、群组、好友、聊天室、上传(62 个语义 op) | 不提供 UI |
| IMKit | 10 个 UI 组件与门面/主题/格式化 | 不直连网络 / 数据库;只调用 IMLib 公开接口 |
| 宿主应用 | 页面导航、业务数据装配、权限与通知 | 不需要重复实现气泡/角标/时间分割 |
IMKit -> IMLib(公开接口)only;IMKit 禁止 import 内部传输层/REST 实现/服务端类型。
跨端验收口径(IDL crossPlatformAcceptance)
每个平台 IMKit 必须覆盖上述组件语义;无 UI 的平台(Native C ABI)以实现 view-model/格式化/角标/状态计算层交付,并提供可运行示例
IMKit 所有对外行为必须能仅通过 IMLib 公开接口复现(契约校验器静态扫描 import 面)
Web 与 Flutter Demo 必须只通过 IMKit/IMLib 公开接口实现页面,不得直接 fetch/WebSocket/数据库
组件总览
| 组件 | 职责 | Props | 事件 | 数据源 | 文档 |
|---|---|---|---|---|---|
ConversationListView | 会话列表 | 4 | 3 | IMLib.getConversationList / CONVERSATION 事件增量更新 | 会话列表 |
ChatView | 会话详情(消息流 + 输入区) | 8 | 12 | — | 会话详情(消息流 + 输入区) |
MessageBubble | 消息气泡(按内容类型渲染) | 9 | 8 | — | 消息气泡(按内容类型渲染) |
MessageInput | 输入区 | 5 | 7 | — | 输入区 |
Avatar | 头像 | 4 | 0 | — | 头像 |
UnreadBadge | 未读/提及角标 | 3 | 0 | — | 未读/提及角标 |
TimeSeparator | 时间分隔/格式化 | 2 | 0 | — | 时间分隔/格式化 |
MessageStatusIndicator | 发送状态 | 3 | 0 | — | 发送状态 |
Theme | 主题令牌 | 2 | 0 | — | 主题令牌 |
IMKitFacade | 组件门面/挂载入口 | 1 | 2 | — | 组件门面/挂载入口 |
包与门面
| 项 | 值 |
|---|---|
| 包 / 模块 | io.nipaas.imkit |
| 模块路径 | imkit |
| 门面 | IMKit |
| 挂载方式 | IMKit.routeToConversationList(context) / IMKit.routeToConversation(context, conversationIdentifier);宿主用 FragmentManager 挂载 ChatFragment / ConversationListFragment,或用内置 ChatActivity / ConversationListActivity |
| UI 框架 | View 体系:Fragment + RecyclerView + XML;Provider 注册表驱动消息气泡渲染 |
| 导出符号(11) | IMKit、ConversationListFragment、ChatFragment、MessageItemProvider、MessageInputBar、AvatarView、UnreadBadgeView、TimeSeparatorView、MessageStatusView、IMKitTheme、IMKitConfigCenter |
| 约束 | 只依赖 io.nipaas.imlib 公开 API;禁止依赖 OkHttp / 协议层 / SQLite 实现 / 服务端类型 |
快速链接
- 快速开始:挂载会话列表与聊天页
- 导入 SDK:包、制品与依赖约束
- 初始化:门面挂载与幂等
- 功能列表:10 个组件能力矩阵
- 组件 API:props / events / behaviors
- 主题定制、多语言
- 状态码、更新日志
相关文档
- Android IMLib:通信核心(IMKit 的唯一依赖)
- IMKit 集成指南
- SDK 体系 · IMKit