Skip to main content

OpenIMSDK

With this SDK, you can add instant messaging capabilities to your application. By connecting to a self-hosted OpenIM Server server, you can easily integrate instant messaging functions into your app with just a few lines of code.

The core functionality of OpenIMSDK is implemented based on open-im-sdk-core. Here are its details on different platforms:

iOS Integration

  • Tool: gomobile
  • Output File: XCFramework
  • Interaction: iOS interacts with the SDK through JSON
  • API: The SDK offers a re-wrapped API for easier integration
  • Data Storage: iOS utilizes the SQLite layer provided internally by the SDK

Android Integration

  • Tool: gomobile
  • Output File: AAR
  • Interaction: Android interacts with the SDK through JSON
  • API: The SDK offers a re-wrapped API for easier integration
  • Data Storage: Android utilizes the SQLite layer provided internally by the SDK

Web Integration

  • Language: Go
  • Features: Uses Go's WebAssembly support to compile into wasm
  • Interaction: Web pages interact with the SDK via JSON
  • API: The SDK offers a re-wrapped API for easier integration
  • Data Storage: JavaScript employs sql.js to virtualize SQLite and store it in IndexedDB to handle SQL logic

Client SDK and Demos

Platform/LanguageSDK Resource LinkSDK DescriptionDemo Resource LinkDescription
Golangopen-im-sdk-coreGolang version SDK, implemented with Gomobile/wasm/cgo
iOSopen-im-sdk-iosiOS version SDKopen-im-ios-demoiOS Demo
Androidopen-im-sdk-androidAndroid version SDKopen-im-android-demoAndroid Demo
Flutteropen-im-sdk-flutterFlutter version SDKopen-im-flutter-demoFlutter Demo
uni-appopen-im-sdk-uniappuni-app version SDKopen-im-uniapp-demouni-app Demo
JS SDKopen-im-sdk-web-wasmJS SDK versionopen-im-pc-web-demoElectron Demo
React Nativeopen-im-sdk-reactnativeReact Native SDKopen-im-reactnative-demoReact Native Demo
Unityopen-im-sdk-unityUnity SDKopen-im-sdk-unity-demoUnity Demo