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数据绑定