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

安装、初始化与 SDK 信息

安装 UTS 插件,初始化唯一 OpenIM Core,并查询 SDK 版本和数据目录。

复制

项目安装 uni_modules/unix-openim-sdk 后,在应用级 service 中初始化一次。插件导出扁平函数,不需要也不允许创建第二个 SDK 实例。

初始化

import {
  OpenIMLogLevelInfo,
  OpenIMPlatformAndroid,
  initSDK,
  type OpenIMInitConfig,
} from '@/uni_modules/unix-openim-sdk'

const config : OpenIMInitConfig = {
  platformID: OpenIMPlatformAndroid,
  apiAddr: 'https://im-api.example.com',
  wsAddr: 'wss://im-ws.example.com',
  logLevel: OpenIMLogLevelInfo,
  isLogStandardOutput: true,
  systemType: 'android',
}

const initialized = await initSDK(config)
if (!initialized) {
  throw new Error('OpenIM SDK initialization was not accepted')
}

iOS 改用 OpenIMPlatformIOSsystemType: 'ios';HarmonyOS 改用 OpenIMPlatformHarmonysystemType: 'harmony'。生产环境建议关闭标准输出或降低日志级别,并按合规要求配置 logFilePath

OpenIMInitConfig

字段类型说明
platformIDOpenIMPlatform使用插件导出的平台常量。
apiAddrstringOpenIMServer HTTP API 地址。
wsAddrstringOpenIMServer WebSocket 地址。
dataDirstringnull(可选)Core 数据目录;通常让插件使用平台默认值。
logFilePathstringnull(可选)日志目录或文件路径,按平台产物约定配置。
logLevelOpenIMLogLevel使用 OpenIMLogLevelErrorOpenIMLogLevelInfo 等常量。
isLogStandardOutputboolean是否把 SDK 日志输出到系统控制台。
systemTypestring必填的系统说明,初始化示例不得省略。

同一进程不要用不同服务地址并发初始化。切换环境应先退出账号、清理业务状态并反初始化,再用新配置启动。

查询版本与数据路径

getSdkVersion()getOpenIMDataPath() 是同步本地操作:

import {
  getOpenIMDataPath,
  getSdkVersion,
} from '@/uni_modules/unix-openim-sdk'

const version = getSdkVersion()
const dataPath = getOpenIMDataPath()

数据路径仅用于诊断、备份策略和空间排查。不要直接打开、迁移或修改其中的数据库文件,也不要把完整沙盒路径作为公开日志字段。

反初始化

import { unInitSDK } from '@/uni_modules/unix-openim-sdk'

unInitSDK()

unInitSDK() 返回 void。调用前先停止新的业务请求、退出当前账号并释放全部订阅。普通页面卸载、AV Runtime 关闭或暂时进入后台都不应反初始化 IM SDK。

初始化完成后,进入认证与管理登录会话