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
wson 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 andwx.uploadFile. - uni-app: the cross-platform entry adapts
uni.connectSocket, asynchronous storage, app/network lifecycle reconnects anduni.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/adminclients for the inbound/openapi/v1API (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).