Files
prop-ai-hr/docs/MOBILE_APP_DEVICE_ACCEPTANCE.md
T
adminandClaude Opus 5 5cf7ce5847 feat(practice): run realtime practice on App-Plus through renderjs
App-Plus has no WebRTC or getUserMedia in the logic layer, so realtime
practice was H5-only and the native entry had to advertise a record-then-
transcribe downgrade.

Move the media/WebRTC engine into `realtime-browser-engine.js` and drive it
from `RealtimePracticeAppBridge.vue`, whose renderjs script runs inside the
system WebView where those APIs do exist. The logic layer keeps the
authenticated calls: SDP exchange and `search_knowledge` tool invocation stay
server-proxied, so the access token is never handed to the view layer. Both
sides talk over the renderjs bridge only in session payloads the server
already assembled.

Verified against a real App build (`app-renderjs.js` holds RTCPeerConnection
and getUserMedia; `app-service.js` holds the SDP endpoint, renderjs side has
zero hits). Microphone permission, live transcription, remote playback,
foreground/background switching and disconnect fallback still require Android
and iOS device verification.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-25 23:58:10 +08:00

2.5 KiB
Raw Blame History

原生 App 真机验收清单

此清单用于 Android/iOS 自定义基座或签名包验收。npm --prefix mobile-uni run verify:app-assets 只校验静态资源和 manifest 映射,不能替代本清单。

预条件

  1. 已执行 npm --prefix mobile-uni run build:app,并使用 HBuilderX 的自定义运行基座运行当前资源。
  2. Android 首次上机前,复制 mobile-uni/androidPrivacy.json.example 为 mobile-uni/androidPrivacy.json,替换两个法务确认的 HTTPS 链接;再执行 npm --prefix mobile-uni run verify:app-release。
  3. 使用有效的移动端测试账号;不得把管理员 Web 登录态当作 App 登录验证。
  4. 每台设备保留系统版本、App versionName/versionCode、基座/包哈希、录屏或截图和失败日志。

Android(最低 Android 10 + 一台当前主流机型)

  • 首次启动先显示原生隐私弹窗;两个协议链接可打开,拒绝后退出,同意后才进入登录。
  • 手机号登录、短信验证码错误、登录失效重登均符合预期。
  • 首次录音允许麦克风后,可完成转写;拒绝麦克风后不循环申请,能选择本地音频继续。
  • 原生实时对练可完成麦克风授权、实时转写与远端语音播放;WebRTC/WebView 不可用或断线时明确提示并保留录音对练。
  • 图片、视频、文档和音频可选择并上传;受控附件下载后可打开,不泄露 OSS 地址。
  • 前后台切换、网络断开/恢复、窄屏和底部手势区无白屏、遮挡或重复提交。
  • 再次安装同版本后,桌面图标、启动图和 Android 导航栏不闪白。

iPhone(iOS 15 + 一台当前刘海或灵动岛机型)

  • 初次访问录音时,系统麦克风说明与功能一致;拒绝后可选择音频且不崩溃。
  • 选择图片/视频/文件时,系统照片/文件访问说明与功能一致;取消选择不会残留上传状态。
  • 登录、录音转写、TTS 播放、上传、受控下载、前后台切换均通过。
  • 启动图全屏,无黑边;状态栏、刘海、底部安全区和键盘不遮挡主要操作。
  • App Store 图标无透明通道、未预制圆角;真机图标更新后重启设备复核 iOS 缓存。

通过口径

每个平台的必测项全部通过,且录音拒绝、媒体取消、登录失效和离线恢复四种反例均留有证据,才可进入签名包或 TestFlight/企业 APK 测试。任何 App 壳、权限、原生插件或证书变更都必须重新云打包并重跑本清单。