SDK Overview
imcore ships official typed client SDKs over the same WebSocket protocol, with platform adapters for React Native, WeChat Mini Programs 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 |
| 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 |
React Native and WeChat Mini Program support is available in Client SDK 1.13.0. Both 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. - 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).
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).