Skip to content
密信 IM · 开发文档

嵌入标准 UIKit ​

UIKit 负责标准 IM 界面与交互,SDK 负责通信和数据。先由宿主完成认证、创建并连接 SDK,再将同一个实例交给界面组件。

接入前确认 ​

  1. 已取得平台对应的授权组件,SDK 与 UIKit 版本配套。
  2. 已完成业务账号与 Session,当前 SDK 连接属于当前登录用户。
  3. 宿主准备用户可展示资料、页面导航与实际功能需要的权限处理。
  4. 如需通话,另外接入同账号的 Call SDK/UIKit。

Flutter 最小嵌入 ​

依赖授权的 mixinim_uikit,从其公共入口导入,它同时导出 IM SDK API。下面方法构建会话列表,并把会话点击交给宿主导航:

dart
import 'package:flutter/material.dart';
import 'package:mixinim_uikit/mixinim_uikit.dart';

Widget buildConversations(
  BuildContext context,
  MixinImSdk sdk,
  MixinImUser currentUser,
) {
  final config = MixinImUIKitConfig(currentUser: currentUser);
  return MixinImConversationList(
    controller: sdk.conversationController,
    currentUserId: sdk.currentSession?.userId,
    onConversationTap: (conversation) {
      Navigator.of(context).push(MaterialPageRoute<void>(
        builder: (_) => MixinImChatPage.sdk(
          sdk: sdk,
          conversation: conversation,
          config: config,
        ),
      ));
    },
  );
}

这段代码不创建新的账号和连接。sdk 已由宿主初始化登录,currentUser 来自当前用户资料;宿主提供 Material 页面与足够布局空间,并在登录或切号后更新配置。

MixinImChatPage.sdk(...) 负责为该页面建立聊天控制器、绑定事件、标记活动会话并在页面结束时释放自己的控制器。宿主继续拥有 SDK,不应在每次关闭聊天页时注销整个应用。

其他平台如何嵌入 ​

平台标准接入点宿主负责
AndroidMixinImUIKitHost、会话/聊天 Fragment 或 ViewSDK、当前用户、页面栈、系统栏与媒体权限
iOSMixinImConversationListViewController、MixinImChatViewController导航控制器、SDK、用户资料与平台回调
Web / ElectronVue 3 ImChat、ImConversationList、ImContacts已连接客户端、业务导航;Electron 另保留受限主进程桥
uni-appmixinim-chat 等标准组件应用级账号生命周期、页面路由和目标平台配置
微信WXML/WXSS 组件及 bindClient(im)应用持有 SDK,页面只绑定可展示数据

入口名称与可扩展范围按各平台文档区分,不将 Flutter 的 Builder 参数直接复制到其他平台。

连接现有业务页面 ​

客户原有的登录、注册、账号安全、个人中心、订单或业务工作台可以保留。UIKit 通过回调进入这些页面;IM 范围内的会话、联系人和群操作继续走公开 SDK。

收藏、举报、位置服务和业务卡片按对应接入说明配置业务接口、权限与宿主回调。按产品所启用的功能组织入口,账号和业务导航继续由宿主管理。

接入后的检查 ​

验证会话进入/返回、消息与历史、键盘、深色模式、切号以及权限拒绝。页面卸载后取消本页异步操作和订阅,避免旧账号结果写回新页面;收到服务端权限拒绝时显示真实失败,不只依赖前端按钮的可见性。

下一步:主题与品牌样式 · 消息与交互扩展 · Call 接入

开始构建你的通讯体验

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

LET’S BUILD TOGETHER

聊聊你的通讯需求

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

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

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