Skip to content
密信 IM · 开发文档

uni-app 接入 ​

密信 IM 使用标准 uni-app Vue 3,通过统一模块组织页面与通信能力;App、H5 和微信目标分别使用对应的 SDK 适配。

先选择编译目标 ​

目标IM 路径Call 范围
H5TypeScript + Web 适配Web Call SDK/UIKit
Android AppUTS → 原生 IM SDK原生媒体桥与通话展示
iOS AppUTS → 原生 IM SDK前台媒体桥;不含 CallKit、PushKit、后台/锁屏来电
微信小程序TypeScript + 微信适配不提供 Call SDK/UIKit

密信 IM 开发版 5.0 的四个 uni-app 模块名为 mixinim-sdk、mixinim-uikit、mixinim-call-sdk 和 mixinim-call-uikit,具体模块版本与原生依赖按授权交付清单配套。微信目标只接入前两类。

安装与原生基座 ​

从授权套件取得配套 uni_modules 与目标平台接入资料。App 运行需要包含当前原生 SDK/媒体依赖的自定义基座,普通基座不具备这些原生能力。

更新 UTS、原生内核、Manifest 或媒体依赖后,重新制作包含这些依赖的自定义基座,再构建 App。H5 与微信使用各自的目标构建配置。

创建 SDK ​

授权模块的 client.js 提供统一工厂。宿主账号控制器先执行 const im = createImClient(config) 并保留实例,再调用下面的连接函数。config 和 session 来自本项目的部署与业务登录流程:

js
import { createImClient } from '@/uni_modules/mixinim-sdk/client.js'

export async function connectIm(im, session) {
  await im.connect(session)
}

App 配置的 nativeTarget 必须为真实的 android 或 ios。Session 平台与设备码由后端绑定;uniapp 是框架名称,不能替代 Session 的平台值。H5/微信目标由对应适配器处理环境差异。

连接失败时,宿主仍持有 im,可按错误类型处理;确定放弃该实例或退出账号时执行 await im.dispose(),不要直接丢弃引用并新建实例。页面卸载只清理页面订阅,全应用 SDK 由账号生命周期管理。

使用 UIKit ​

宿主持有 im 后,聊天组件可绑定同一个实例:

vue
<mixinim-chat :client="im" />

组件按授权包的注册方式接入。消息、通讯录、页面导航、业务账号与设置的组合由宿主负责;需要发起通话时,宿主消费聊天组件的 start-call 事件并交给同账号 Call SDK。

H5 Call Host 与 App 原生通话浮层的管理不同。App 最小化后应恢复已有通话,不能因页面重挂载再创建第二个媒体实例。

通知与前后台 ​

实时 Socket 消息可生成本地通知,界面结合免打扰与系统通知权限显示提醒。厂商离线推送是独立通道,需配置应用标识、厂商服务和终端权限。

微信目标使用消息与聊天界面;iOS App 的通话在前台使用,不包含 CallKit、PushKit 与后台来电。

联调重点 ​

确认设备与平台绑定、重连、附件选择/上传/打开、页面返回与键盘、退出切号,以及当前基座和页面版本是否配套。媒体、系统通知和后台行为应使用真实目标设备验证。

下一步:账号与 Session · UIKit 接入 · Call 平台差异

开始构建你的通讯体验

获取授权包、完整接口资料与接入支持。

LET’S BUILD TOGETHER

聊聊你的通讯需求

联系密信团队,获取 SDK 授权、接入资料与私有化方案。

咨询内容:
客服微信mixinim
客服 QQ629900
联系邮箱mixinim@126.com

SDK 与源码按授权范围交付。此处不提供公开下载。