Android IMLib
Android 端以 Kotlin 绑定交付:IMLib 为无 UI 通信库,覆盖连接、消息、会话、用户、好友、群组、聊天室、系统通知与文件上传 9 个能力域;IMKit 在其上提供 View 体系 UI 组件。方法名与 IDL 语义 op 同名(规则 A:名字零漂移),唯一形态差异是 init 需要 Context 与 callback-last。
平台状态
契约 IDL v1.0.0(frozen,冻结修订 35);本平台绑定状态:in-progress。实现仍在推进中,接口以冻结 IDL 为准。
事件:16 类(来自 IDL eventPayloads),详见 连接监听。
环境与制品
| 项 | 值 |
|---|---|
| 语言 / 运行时 | Kotlin (JVM/Android) |
| 包 / 模块名 | io.nipaas.imlib / io.nipaas.imkit |
| IMLib 制品 | imlib |
| IMKit 制品 | imkit |
| 类型 / 契约声明 | api-surface.json |
| Demo / 示例 | demo/android |
| 绑定状态 | in-progress |
API 风格
| 项 | 内容 |
|---|---|
| 客户端类 | IMClient |
| 工厂 / 初始化 | IMClient.init(context, options) |
| 命名规则 | camelCase;方法名与 IDL 语义 op 同名(规则 A:名字零漂移);唯一例外 init 因 Android 必须携带 Context 而落在伴生对象上。形态按 Android 惯例做 callback-last,语义不变。 |
| 异步风格 | 回调式(callback-last):有返回数据用 ResultCallback<T>{onSuccess(T), onError(IMError)},无返回数据用 OperationCallback{onSuccess(), onError(IMError)};所有回调在主线程投递;可选 imlib-coroutines 适配层提供 suspend 版本(不计入 62 op) |
| 事件 API | addEventListener(event: IMClientEvent, handler: EventHandler) / removeEventListener(event: IMClientEvent, handler: EventHandler);同一 handler 重复注册只生效一次 |
| 事件对象 | IMClientEvent |
常量
| 常量 / 枚举 | 说明 |
|---|---|
IMClientEvent | 绑定常量集(取值以绑定实现为准) |
ConnectionStatus | CONNECTED=0,CONNECTING=1,DISCONNECTED=2,SUSPEND=3 |
ConversationType | PRIVATE=1,GROUP=2,CHATROOM=3,SYSTEM=4,SUPER_GROUP=10 |
NotificationLevel | ALL=0,MENTION=1,MUTED=2 |
ContentType | text / image / file / voice / location / custom / recall / system / combine |
Direction | SEND=1,RECEIVE=2 |
GroupType | NORMAL=normal,SUPER=super |
GroupRole | OWNER=owner,ADMIN=admin,MEMBER=member |
ErrorCode | 绑定常量集(取值以绑定实现为准) |
CONTENT_TYPE_COMBINE | 绑定常量集(取值以绑定实现为准) |
能力总览
| 能力域 | 操作数 | 功能页 |
|---|---|---|
| 连接与监听 | 7 | 建立连接、连接监听 |
| 消息 | 26 | 发送消息、接收消息、消息管理、已读回执、输入状态、消息进阶 |
| 会话 | 22 | 历史消息、会话列表、未读数、草稿、置顶与免打扰、会话标签与分组、会话删除与类型免打扰 |
| 用户 | 10 | 用户资料、在线状态、在线状态订阅与推送令牌 |
| 好友与黑名单 | 11 | 好友列表、好友请求、黑名单 |
| 群组 | 20 | 创建群组、群成员、群管理、超级群频道与用户组 |
| 聊天室 | 5 | 加入与退出、聊天室信息 |
| 系统通知 | 1 | 系统通知 |
| 文件上传 | 1 | 文件上传 |
共 103 个语义操作、9 个能力域、29 个功能页;方法名与签名逐项来自 sdk-bindings.json。
快速链接
- 快速开始:5 步完成接入
- 导入 SDK:依赖与制品说明
- 初始化:选项、工厂与幂等语义
- 功能列表:103 个操作分组表
- API 参考:类、枚举与成员签名
- 状态码:客户端与 SDK 错误码
- 更新日志:IDL 冻结修订历史
相关文档
- Android IMKit:UI 组件层(只依赖 IMLib 公开接口)
- 客户端集成总览:IMLib / IMKit 两条路径
- 服务端 API:用户、Token、群组与消息管理
- SDK 体系总览