跳到主要内容

OpenIM SDK

使用此 SDK,您可以为您的应用添加即时通讯功能。连接到自托管的OpenIM Server服务器后,仅需几行代码,即可将即时通讯功能轻松集成到您的应用。

OpenIM SDK 的核心功能是基于open-im-sdk-core 来实现的。以下是其在不同平台上的详情:

iOS 集成

  • 工具: gomobile
  • 输出文件: XCFramework
  • 交互: iOS 通过 JSON 与 SDK 进行交互
  • API: SDK 提供了重新封装的 API 以便于集成
  • 数据存储: iOS 使用 SDK 内部提供的 SQLite 层

Android 集成

  • 工具: gomobile
  • 输出文件: AAR
  • 交互: Android 通过 JSON 与 SDK 进行交互
  • API: SDK 提供了重新封装的 API 以便于集成
  • 数据存储: Android 使用 SDK 内部提供的 SQLite 层

Web 集成

  • 语言: Go
  • 特性: 使用 Go 语言提供的 WebAssembly 支持编译为 wasm
  • 交互: 网页通过 JSON 与 SDK 进行交互
  • API: SDK 提供了重新封装的 API 以便于集成
  • 数据存储: JavaScript 使用sql.js虚拟化 SQLite 并存储在 IndexedDB 中来处理 SQL 逻辑

Electron 集成

  • 语言: Go
  • 特性: 使用 cgo 将核心导出为 C 接口,并提供如 DLL、SO、DYLIB 等动态库供其他语言使用
  • 交互: 通过 JSON 使用 FFI (外部函数接口) 与 C 接口通信
  • API: SDK 提供了重新封装的 API 以便于使用
  • 数据存储: 使用 SDK 内部提供的 SQLite 层进行数据存储

Unity 集成

  • 链接库: go编译生成C动态链接库
  • 输出文件: 对应平台生成openimsdk.dll或libopenimsdk.so
  • 交互: C#(PInvoke)绑定导出的C函数
  • API: C#数据结构定义与Json数据绑定

客户端 SDK 及 demo