跳到主要内容

OpenIMSDK

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

OpenIMSDK 的核心功能是基于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 逻辑

Unity 集成

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

客户端 SDK 及 demo

平台/语言SDK 资源链接SDK 描述示例资源链接描述
Golangopen-im-sdk-coreGolang 版本 SDK,使用 Gomobile/wasm/cgo 实现
iOSopen-im-sdk-iosiOS 版本 SDKopen-im-ios-demoiOS 示例
Androidopen-im-sdk-androidAndroid 版本 SDKopen-im-android-demoAndroid 示例
Flutteropen-im-sdk-flutterFlutter 版本 SDKopen-im-flutter-demoFlutter 示例
uni-appopen-im-sdk-uniappuni-app 版本 SDKopen-im-uniapp-demouni-app 示例
JS SDK(Wasm)open-im-sdk-web-wasmwasm 版本 SDKopen-im-pc-web-demoElectron 示例
JS SDK(Mini Program)open-im-sdk-webjssdk 版本 SDK,需要配置 jssdk server 使用暂无Electron 示例
React Nativeopen-im-sdk-reactnativeReact Native SDKopen-im-reactnative-demoReact Native 示例
Unityopen-im-sdk-dotnetUnity SDKopen-im-sdk-unity-demoUnity 示例