浏览 SDKs · uni-app / uni-app x
平台
SDKsuni-app / uni-app x

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 返回业务结果;失败时抛出包含 errCodeerrMsg 的错误。
  • onXxx 事件注册方法返回 OpenIMSDKEventSubscription,销毁页面、退出账号或重建 SDK 作用域时使用 off(subscription) 精确取消。
  • 查询 API 用于取得当前数据,事件用于提供后续变化。Promise 成功、事件到达和重新查询最新数据是不同阶段。
  • 文件和媒体 API 可以使用 App 可读的 POSIX 绝对路径,或基于 uni.env.USER_DATA_PATH 生成的 unifile:// 路径。

开始接入

  1. 阅读开始之前,准备 OpenIMServer、用户登录信息、插件和原生构建环境。
  2. 工程与平台接入安装插件并完成三端初始化配置。
  3. 认证与管理登录会话注册连接事件、初始化 SDK 并登录当前用户。
  4. 发送第一条消息验证单聊或群聊消息的收发流程。

后续 API 文档按用户、关系链、会话、群组、消息、文件上传、音视频通话与事件组织,并以 uni-app / uni-app x 插件公开的 UTS 类型和方法为准。