功能介绍
支持自定义配置,检测以下项目:
扬声器
麦克风
摄像头
网络(系统网络环境及课堂使用的 HTTP 请求和 wss 域名)
系统环境(TRTC、IM等)
提供可视化检测报告汇总,并支持导出完整检测报告。
效果如下:


用户可按照进度条完成各项检测(可自定义开启检测项目)。完成后,检测结果将自动应用于课堂中。系统会默认选择已通过检测并修复的设备配置及域名配置,确保用户获得最佳初始体验。
集成指引
我们前期提供直接访问 URL、iframe 集成和 Electron SDK 集成等多种接入方式供您选择。后期将提供 npm 包,方便您在项目中直接使用。
URL 及参数
该部分 URL 及参数适用于下方所有接入方案,可统一参考。目前无论采用何种接入方式,均需使用该 URL。
参数 | 默认值 | 说明 |
list | 1111 | 四位数字位掩码控制, 每位1代表启用,0代表不启用。 顺序分别是: 第一位: 扬声器 第二位: 麦克风 第三位: 摄像头 第四位: 网络及系统环境 例如: 0101代表只启用麦克风和网络及系统环境检测。 |
language | auto | 语言,目前支持简体中文和英语,具体 value 为: auto:语言自适应 zh:简体中文 en:英文 |
theme | light | 主题配色 light:亮色模式 dark:暗色模式 |
Web
Web 提供两种方式供用户使用, 直接访问上述 URL 及通过 iframe 嵌入你们的网页中。
访问 URL
检测完成后,结果数据将自动存储在 localStorage 的 `tic_last_check_result` 字段中。课堂页面(1.10.3版本后)在加载时会自动读取该配置,作为网络域名及设备的默认参数。
若您的课堂项目使用自定义域名,请确保将设备检测页面也通过 CDN 回源至同一域名,以保证设备检测与课堂运行在相同域名下。
iframe 集成
检测完成后,设备检测会通过 postMessage 向外层发送事件,其中包含检测结果。格式如下:
{type: 'TIC_DEVICE_CHECK_RESULT',payload: result}
请记录该结果,并在用户进入课堂时,将获取到的 result 对象原样拼接到课堂进房链接中,例如:&tic_last_check_result={}
如果课堂页面同时在 URL 中指定了检测结果,且 localStorage 中也有同域结果,则优先采用 URL 中指定的结果。
Electron
Electron 端目前提供 SDK 接入的方式。
1. 由于部分依赖库的原因,请确保您使用以下基础库版本。
开发框架 | 版本 |
Node | 16.14.2 |
2. 在您的项目中使用 npm 命令安装 SDK 包。
npm install tcic-electron-sdk@latest
3. 在项目脚本里引入模块后,调用
openSiteWithUrl 接口并传入之前获取的 URL 调起设备检测页面。const TCIC = require('tcic-electron-sdk');TCIC.openSiteWithUrl({url: `https://class.qcloudclass.com/devicecheck/index.html?list=1111`, // list 请必传指定 electron 内onReady: (mainWindow) => {console.log('TCIC Device Check ready', mainWindow);},onClose: () => {console.log('TCIC Device Check close');}});
4. 设备检测完成后,结果会记录在 Electron 的 localStorage 内,同域名下,并自动应用于课堂进房中。
您后续调用
TCIC.initialize 方法进入课堂,就会自动应用设备检测结果。结果导出
除了自动将结果应用于课堂项目外,用户还可以手动点击结果页面的"复制结果",导出完整的检测流程及检测记录。
如需我们协助排查用户设备问题,请复制并发送完整的检测结果给我们。
联系我们
您有任何问题,可以扫码添加微信群与我们联系。
