SDK Overview

imcore ships official typed client SDKs over the same WebSocket protocol, with platform adapters for React Native, WeChat Mini Programs, uni-app and Electron, so you can integrate without hand-rolling the wire protocol.

Platform Package Install Docs
JavaScript / TypeScript @imcore/sdk npm i <downloaded .tgz> (URL install works too) JS/TS
React Native @imcore/sdk/react-native same JS/TS package + AsyncStorage/NetInfo React Native
WeChat Mini Program @imcore/sdk/wechat-miniprogram same JS/TS package + Build npm in WeChat DevTools WeChat Mini Program
uni-app @imcore/sdk/uni-app same JS/TS package + normal uni-app build uni-app
PC / Electron @imcore/sdk/electron/* same JS/TS package Electron
Dart / Flutter imcore_sdk unpack, then a pubspec path dependency Dart
Swift / iOS ImcoreSDK unpack, then an SPM local package Swift
Kotlin / Android imcore-sdk unpack, then a gradle included build Kotlin
Unity / .NET im.balala.unity-sdk UPM tarball install (Unity 2021.3+) Unity
Server Admin · Go imcoreadmin go.mod replace pointing at the unpacked dir Go
HarmonyOS imcore-sdk DevEco Studio → Import Module HarmonyOS
Server Admin · Node @imcore/admin package.json file: dependency Node/Python
Server Admin · Python imcore-admin pip install local dir Node/Python
Server Admin · Java imcore-admin-java gradle/maven source project Node/Python
Server Admin · PHP imcore/admin composer path repository Node/Python

React Native, WeChat Mini Program and uni-app adapters ship in the same versioned JS/TS package linked from the download page.

SDKs ship as versioned download packages (not yet published to the npm / pub.dev / SPM / Maven public registries); get them together with the free Basic server on the download page.

Which to pick

  • Web / Node: the JS/TS SDK (native WebSocket in the browser; pass ws on Node).
  • React Native: the mobile entry adds AsyncStorage persistence and AppState/NetInfo reconnect handling, using React Native’s global WebSocket.
  • WeChat Mini Program: the mini-program entry adapts wx.connectSocket, asynchronous storage, app/network lifecycle reconnects and wx.uploadFile.
  • uni-app: the cross-platform entry adapts uni.connectSocket, asynchronous storage, app/network lifecycle reconnects and uni.uploadFile.
  • PC / Electron: the Electron adapter keeps credentials and the connection main-side and exposes a typed renderer facade through a restricted preload transport.
  • Flutter / Dart: the Dart SDK (iOS, Android, desktop, web).
  • Native iOS / macOS: the Swift SDK (built on URLSessionWebSocketTask, zero dependencies).
  • Android / JVM: the Kotlin SDK (coroutines + Flow, OkHttp by default).
  • Unity / .NET: the C# SDK (async/await, zero engine references in the core; a Unity adapter marshals callbacks to the main thread).
  • Server Admin (Go/Node/Python/Java/PHP): zero-dependency imcoreadmin / @imcore/admin / imcore-admin / imcore-admin-java / imcore/admin clients for the inbound /openapi/v1 API (profile/friendship sync, call-recording ingest), sharing one behavior matrix.
  • HarmonyOS: the ArkTS SDK (ArkTS-compatible TS core + @ohos webSocket/preferences adapter; callbacks stay on the UI-thread event loop).

All SDKs share the same shape: a login-ack-gated connect(), typed im.dm/group/room send/receive/history, and a request()/send() escape hatch for commands not yet wrapped.

Maturity

The SDKs cover the transport core, seq-correlated request/response, typed DM/group/room/community APIs, and common integration needs such as message caching, offline queues, media uploads and push registration. Exact runtime boundaries are documented on each platform page. Validate against your own deployment before production use; E2EE is not currently included.

For platforms without an SDK, or to work the protocol directly, see the Client Integration Guide (raw WebSocket protocol).