Skip to content

XHIM Flutter SDK

标准 Flutter plugin,Dart 页面只依赖 XHIMFlutterClient;iOS、macOS 和 Android 桥分别调用对应原生 XHIM SDK,消息同步、Outbox、数据库和重连仍由同一 C++ Core 负责。

yaml
dependencies:
  xhim_flutter:
    git:
      url: git@git.xihansoftware.com:laowang/xhimsdk.git
      path: platforms/flutter/xhim_flutter
      ref: <购买方锁定的版本标签>
dart
final client = await XHIMFlutterClient.connect(
  server: 'https://im.example.com',
  userId: currentUserId,
  credentialProvider: accountService.fetchXHIMCredential,
);

final conversationId = await client.directConversation('bob');
await client.sendText(
  conversationId: conversationId,
  text: 'Hello from Flutter',
);

仓库中的 example/ 是可运行的最小 App:只需要修改 Server URL、当前 User ID 和对端 User ID。Flutter SDK 安装完成后执行:

bash
cd example
flutter pub get
flutter run

Development Server 开启免密测试登录时省略 credentialProvider。Production Provider 只在账号层实现;页面不保存 Token,SDK 收到凭证续期事件后会自动再次 调用 Provider。

原生依赖

  • iOS:私有 CocoaPods Specs 中的 XHIM iOS 包;
  • macOS:包含 macOS slice 的 XHIM 包;
  • Android:私有 Maven 中的 com.xihansoftware.xhim:xhim-sdk

购买方只配置一次私有包源,不需要编译 C++。发布人员必须让三处版本与 pubspec.yaml 完全一致。

当前适配面

首个包覆盖连接/续期、事件、单聊、文字/自定义消息、会话与消息分页、已读、 未读数、登出和关闭。附件、社交/群组、离线 Reader 及 UI Kit 将按同一平台 接口继续映射;在这些方法进入 Dart API 和三端消费者测试前,不应宣传为完整 Flutter Core parity。

XHIM 客户端 SDK 与服务端文档