OpenIM uni-app / uni-app x SDK 概览
在 uni-app 和 uni-app x 的 Android、iOS 与 HarmonyOS App 中接入 OpenIMClientSDK。
OpenIM uni-app / uni-app x SDK 以 UTS 原生插件形式提供,可在传统 uni-app(Vue 2 / Vue 3)和 uni-app x 工程中调用 OpenIMClientSDK。SDK 为 Android、iOS 和 HarmonyOS App 提供用户、关系链、会话、群组、消息、音视频通话信令、实时事件与本地数据能力。
适用场景
当项目使用 HBuilderX 开发原生 App,并希望在 uni-app 与 uni-app x 中复用同一套 OpenIM 业务模型时,可以使用本 SDK。插件直接集成各平台的 OpenIM 原生 SDK,适合需要本地会话、消息历史、离线同步和完整客户端能力的应用。
本 SDK 当前不支持 Web 与小程序。Web 应使用 JavaScript SDK WASM,小程序和不依赖本地消息存储的轻量 Web 场景应使用小程序 SDK。
支持范围
| 工程与平台 | 支持情况 | 最低系统版本 |
|---|---|---|
| uni-app App Android(Vue 2 / Vue 3) | 支持 | Android 5.0 / API 21 |
| uni-app App iOS(Vue 2 / Vue 3) | 支持 | iOS 14 |
| uni-app App HarmonyOS(Vue 2 / Vue 3) | 商业版支持 | HarmonyOS API 24 |
| uni-app x App Android | 支持 | Android 5.0 / API 21 |
| uni-app x App iOS | 支持 | iOS 14 |
| uni-app x App HarmonyOS | 商业版支持 | HarmonyOS API 24 |
| Web / 小程序 | 不支持 | — |
HarmonyOS 支持范围和商业版能力以实际取得的 SDK 发行包及商业协议为准。业务使用相册、相机、麦克风或文件功能时,还需要由宿主 App 按实际功能声明并申请系统权限。
接入方式
SDK 以 uni_modules/unix-openim-sdk 插件目录交付。将完整插件放入工程后,从插件根路径导入 API:
import {
initSDK,
login,
createTextMessage,
sendMessage,
} from '@/uni_modules/unix-openim-sdk'原生依赖不会包含在 HBuilderX 标准基座中。调试 SDK 初始化、登录、消息收发和事件回调前,需要制作包含本插件的自定义基座,或安装正式构建的应用包。
API 使用模型
- API 以 Promise 返回业务结果;失败时抛出包含
errCode和errMsg的错误。 onXxx事件注册方法返回OpenIMSDKEventSubscription,销毁页面、退出账号或重建 SDK 作用域时使用off(subscription)精确取消。- 查询 API 用于取得当前数据,事件用于提供后续变化。Promise 成功、事件到达和重新查询最新数据是不同阶段。
- 文件和媒体 API 可以使用 App 可读的 POSIX 绝对路径,或基于
uni.env.USER_DATA_PATH生成的unifile://路径。
开始接入
- 阅读开始之前,准备 OpenIMServer、用户登录信息、插件和原生构建环境。
- 按工程与平台接入安装插件并完成三端初始化配置。
- 按认证与管理登录会话注册连接事件、初始化 SDK 并登录当前用户。
- 按发送第一条消息验证单聊或群聊消息的收发流程。
后续 API 文档按用户、关系链、会话、群组、消息、文件上传、音视频通话与事件组织,并以 uni-app / uni-app x 插件公开的 UTS 类型和方法为准。
这个页面有帮助吗?