SDK 平台总览与能力矩阵
14 端 SDK 的接口规模、支持情况、跨端能力对照、Token 提供链与迁移建议。
ni-meet 客户端 SDK 覆盖 16 个平台,所有平台共用一套产品语义和与声网 4.x 对齐的 API。API 参考中的类名、方法、参数、重载、事件与错误码由公开接口定义在构建时生成,文档与 SDK 包保持一致。
怎么选端
- 按你的技术栈选择平台,接口规模与可用性见下方「平台与接口规模」。
- 点平台名进入「快速开始与功能指南」,那里有前置条件、安装命令、获取 Token、入会链路、事件、错误处理与排障。
- 需要精确签名时进入同端「API 参考」,那是完整的方法、重载、属性、事件与枚举。
一致的接入模型
所有端遵循相同的接入模型:
- 统一 API:类名、方法名、事件与错误码在各端保持一致,跨端迁移成本低。
- 语义一致:连接状态机、事件顺序、重连退避、Token 续期、统计口径、错误映射、设备枚举、角色切换与数据通道语义。
- 明确失败:当前版本不支持的能力返回明确错误码,不会返回假成功。
- API 与媒体实现解耦:业务代码只依赖公开 API,不依赖底层媒体引擎。
Token 提供链(各端一致)
所有端都接受同三种 Token 来源,可组合成回退链:
| 形态 | 用法 | 适用场景 |
|---|---|---|
endpoint | 调你的后端(最终落到 POST /v1/tokens) | 大多数应用 |
callback | 委托给宿主应用 / IM 的 getRTCTokenInfo | 已有 IM 体系的场景 |
static | 预签发 Token | 测试、离线 Demo |
永远不要把 customerSecret / appCertificate 打进客户端包:客户端只拿 { appId, rtcToken, rtcUid }。语义细节见 AccessToken2 语义。
公共语义清单
不管哪一端,下面这些语义保持一致:
- 事件顺序:
connection-state-change→user-joined→user-published→user-unpublished→user-left; - 断线:
CONNECTION_STATE.RECONNECTING期间不断流、不销毁轨道;-112才需要重新入会; - 静音用
setEnabled(false),不是setMuted; - 角色切换:
setClientRole('audience')会自动停止本地发布; - 统计:
getRTCStats()的字段口径与 水晶球指标 一致。
能力边界
- 内容审核(Content Inspect)、E2EE、频道媒体中继、客户端直推 CDN 当前版本暂不提供;相关方法调用返回错误码
-4(ERR_NOT_SUPPORTED)。 - 各端运行时能力以实际发布的 SDK 包为准;API 参考中的接口定义不代表该端运行时已全部可用。
- Cocos Creator:提供接口定义与绑定说明;运行时能力以实际发布的 SDK 包为准。
平台与接口规模
接口规模在构建时从公开接口定义统计,供选型参考。可用性以实际发布的 SDK 包为准。
| 平台 | 语言 | 接口版本 | 接口/类 | 方法 | 重载 | 枚举 | 错误码 | 可用性 | 参考 |
|---|---|---|---|---|---|---|---|---|---|
| Web(浏览器) | TypeScript | 4.24.9 | 63 | 157 | 168 | 0 | 96 | ✅ 正式可用 | API 参考 |
| Electron(桌面) | TypeScript | 4.6.2 | 137 | 578 | 578 | 146 | 48 | ✅ 正式可用 | API 参考 |
| Android | Kotlin | 4.7.0 | 143 | 654 | 709 | 52 | 6 | ✅ 正式可用 | API 参考 |
| iOS | Swift / Objective-C | 4.7.0 | 132 | 649 | 649 | 151 | 70 | ✅ 正式可用 | API 参考 |
| macOS | Swift / Objective-C | 4.7.0 | 121 | 612 | 612 | 144 | 70 | ✅ 正式可用 | API 参考 |
| Windows(C++) | C++ | 4.7.0 | 149 | 688 | 719 | 158 | 49 | ✅ 正式可用 | API 参考 |
| Flutter | Dart | 6.6.4 | 150 | 618 | 618 | 150 | 48 | ✅ 正式可用 | API 参考 |
| React Native | TypeScript / Java / Objective-C | 4.6.4 | 141 | 577 | 577 | 148 | 48 | ✅ 正式可用 | API 参考 |
| Unity(C#) | C# | 4.6.2 | 140 | 588 | 617 | 148 | 48 | ✅ 正式可用 | API 参考 |
| Unreal Engine(C++) | C++ | 4.5.1 | 140 | 603 | 629 | 145 | 46 | ✅ 正式可用 | API 参考 |
| Unreal Engine(Blueprint) | Blueprint / C++ | 4.5.1 | 90 | 458 | 458 | 103 | 6 | ✅ 正式可用 | API 参考 |
| Cocos Creator | TypeScript | 4.5.3 | 2 | 63 | 63 | 5 | 4 | ✅ 正式可用 | API 参考 |
| 小程序(微信) | TypeScript | 2.6.5 | 4 | 32 | 45 | 4 | 0 | ✅ 正式可用 | API 参考 |
| Cocos2d-x(C++ 绑定) | C++ | 4.7.0 | 2 | 43 | 48 | 0 | 0 | ✅ 正式可用 | API 参考 |
| C#(.NET) | C# | unknown | 121 | 519 | 525 | 144 | 46 | ✅ 正式可用 | API 参考 |
| HarmonyOS(ArkTS) | ArkTS | 4.6.3 | 88 | 317 | 317 | 86 | 40 | ✅ 正式可用 | API 参考 |
合计 1623 个接口/类、7156 个方法 (7332 个重载)、1584 个枚举。