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 描述 | 示例资源链接 | 描述 |
---|---|---|---|---|
Golang | open-im-sdk-core | Golang 版本 SDK,使用 Gomobile/wasm/cgo 实现 | ||
iOS | open-im-sdk-ios | iOS 版本 SDK | open-im-ios-demo | iOS 示例 |
Android | open-im-sdk-android | Android 版本 SDK | open-im-android-demo | Android 示例 |
Flutter | open-im-sdk-flutter | Flutter 版本 SDK | open-im-flutter-demo | Flutter 示例 |
uni-app | open-im-sdk-uniapp | uni-app 版本 SDK | open-im-uniapp-demo | uni-app 示例 |
JS SDK(Wasm) | open-im-sdk-web-wasm | wasm 版本 SDK | open-im-pc-web-demo | Electron 示例 |
JS SDK(Mini Program) | open-im-sdk-web | jssdk 版本 SDK,需要配置 jssdk server 使用 | 暂无 | Electron 示例 |
React Native | open-im-sdk-reactnative | React Native SDK | open-im-reactnative-demo | React Native 示例 |
Unity | open-im-sdk-dotnet | Unity SDK | open-im-sdk-unity-demo | Unity 示例 |