SDK 总览

imcore 提供覆盖同一套 WebSocket 协议的官方类型化客户端 SDK,并为 React Native、微信小程序与 Electron 提供平台适配入口,让你无需手写底层协议即可接入。

平台 安装 文档
JavaScript / TypeScript @imcore/sdk npm i <下载的 .tgz>(也支持直接装 URL) JS/TS
React Native @imcore/sdk/react-native 同一 JS/TS 包 + AsyncStorage/NetInfo React Native
微信小程序 @imcore/sdk/wechat-miniprogram 同一 JS/TS 包 + 微信开发者工具构建 npm 微信小程序
PC / Electron @imcore/sdk/electron/* 与 JS/TS 使用同一安装包 Electron
Dart / Flutter imcore_sdk 解压后 pubspec path 依赖 Dart
Swift / iOS ImcoreSDK 解压后 SPM 本地 package 引用 Swift
Kotlin / Android imcore-sdk 解压后 gradle 源码工程引入 Kotlin

React Native 与微信小程序适配已随客户端 SDK 1.13.0 开放下载,两个入口均包含在下载页提供的同一份版本化 JS/TS 安装包中。

SDK 以版本化下载包分发(暂未上架 npm / pub.dev / SPM / Maven 公共仓库),与免费基础版服务端一起从下载页获取。

如何选型

  • Web / Node:用 JS/TS SDK(浏览器使用原生 WebSocket,Node 传入 ws)。
  • React Native:移动端入口增加 AsyncStorage 持久化与 AppState/NetInfo 重连管理,直接使用 React Native 全局 WebSocket。
  • 微信小程序:小程序入口适配 wx.connectSocket、异步存储、前后台与网络重连,以及 wx.uploadFile
  • PC / Electron:用 Electron 适配层,连接和凭据留在主进程,通过受限 preload transport 向 renderer 暴露 typed facade。
  • Flutter / Dart:用 Dart SDK(iOS、Android、桌面、Web 通用)。
  • 原生 iOS / macOS:用 Swift SDK(基于 URLSessionWebSocketTask,零依赖)。
  • Android / JVM:用 Kotlin SDK(协程 + Flow,默认 OkHttp)。

各 SDK API 形态一致:connect() 登录确认门控、im.dm/group/room 类型化收发与历史、以及面向未封装命令的 request()/send() 逃生通道。

成熟度

当前 SDK 已覆盖传输内核、seq 关联请求/响应、类型化的 DM/群/聊天室/社区能力,以及消息缓存、离线队列、媒体上传和推送注册等常用集成能力;不同运行时的具体边界见各平台页。集成测试经环境变量开关启用,接入生产前仍应对自己的部署做端到端验证。E2EE 不在当前能力范围内。

未被 SDK 覆盖的平台,或需要直接操作协议时,参见客户端接入指南(原始 WebSocket 协议)。