# RTC SDK 上线前逐端验收 源码存在、编译成功、模拟器播放成功和目标真机可用是不同结果。每一种要交付的运行端都记录服务版本、SDK 构建、安装包版本、设备/系统、网络、测试日期与实际证据;没有做过的项写“未验证”。 ![命令 ACK 与真正状态结果是两件事](../../media/docs-media/sdk/result-flow.svg) ## 最短验收路线 1. **只看入会**:在本端加入测试会议,不申请本地采集;确认能接收另一端的画面和声音。 2. **分别发布**:先开摄像头,再开麦克风;由另一台设备确认收到真实视频帧和声音,不只看本地预览或系统指示灯。 3. **治理与协作**:验证普通成员权限、等候准入、主持移交、禁麦与恢复、聊天附件、白板和屏幕共享。 4. **故障恢复**:短暂断网、切后台/前台、锁屏或系统来电后核对媒体和成员状态;离会再入会时获取新票据。 5. **录制与回放**:在允许录制的房间启停,等任务收尾后查成员画面、设备身份、声音、白板、聊天、发言事件和附件;验证无权用户无法下载。 ## 每一步怎样算通过 | 检查点 | 页面之外还要核对的证据 | |---|---| | 只看入会 | 服务器有当前 `participantId/deviceSessionId`;第二端视频帧数增加、音频有包 | | 打开麦克风 | 第二端实际听到说话;发布端发送音频包持续增长 | | 打开摄像头 | 第二端持续解码新画面;本地预览单独记录,不能代替远端 | | 静音与关相机 | 目标媒体停止或状态按策略变化,另一路健康媒体不被连带释放 | | 主持移交 | 新主持能执行录制控制,旧主持请求返回权限拒绝 | | 断线恢复 | 会话、发布、订阅和成员人数收敛,没有重复设备或一直保留的旧绿框 | | 会后回放 | 录制任务 Stopped、分片有文件、媒体能解码,聊天/白板按当时时间显示 | 一项失败时先保存它的时间、所在端与错误,不要继续点后面的按钮把现场覆盖。例如“有画面没声音”只说明视频收发成功,先查麦克风权限、发送音频包和接收音频包;不需要重新创建整个房间。 | 目标 | 额外要核对 | |---|---| | Web/H5 Demo | Chrome/Safari/Edge 的系统采集授权、自动播放、HTTPS、浏览器返回 | | Android 原生与 WebView | 真机 USB/网络、权限确认、前台服务、后台限制、测试 CA 与正式 CA 区别 | | iOS 原生与 WKWebView | 开发者信任、证书链、摄像头/麦克风权限、ReplayKit 签名、系统音频路由 | | UniApp/uni-app x | 自定义基座确实包含同批 AAR/XCFramework,两个原生目标分别编译安装 | | 微信小程序 | 真实 AppID、合法域名/组件权限、合流和编码兼容性 | 当前研发验收已经覆盖部分真实 Android/iPhone 录制、Web Demo 及模拟器回放;最新版双真机 App、UniApp 自定义基座、长录制/弱网和小程序真实环境仍有未完成项。发布说明只能写已经完成的范围,不用一个端的结果代替所有端。 故障时先固定时间、房间 ID、匿名化成员/设备 ID、操作结果与实际媒体统计,移除 Token、Cookie、带签名的 URL 和个人信息后再分享日志。排查顺序见RTC 或浏览器连接失败。