工具方法
跨平台工具、日志上报、适配器注入等高级功能。
API 参考
openBrowser()
跨平台打开系统浏览器(Electron 调用系统默认浏览器,Web 直接跳转/新标签页)。
在 Electron / Native 嵌入场景下,应优先使用此 API 而不是直接调用 window.open, 以保证 URL 始终在系统浏览器中打开(而非应用内 webview)。 system browser (not the in-app webview).
| 参数 | 类型 | 说明 |
|---|---|---|
| url | string | 要打开的完整 URL(必须包含 http:// 或 https://) |
返回值: void
示例:
ts
classroom.openBrowser('https://cloud.tencent.com/');register()
注册自定义业务模块(高级用法,必须在 init() 之前调用)。
普通开发者无需调用此方法;主要供有特殊定制需求的集成方使用。
| 参数 | 类型 | 说明 |
|---|---|---|
| module | IModule | 自定义模块实例(需实现 IModule 接口) |
返回值: this
示例:
ts
classroom.register(new MyCustomModule()).init();reportEvent()
上报业务埋点事件(写入 Logger 并上报至监控后台)。
用于业务侧自定义埋点(如按钮点击、功能使用统计等),与 SDK 内部上报通道一致。
| 参数 | 类型 | 说明 |
|---|---|---|
| name | string | 事件名称(建议小写下划线风格) |
| data? | unknown | 附加数据(可选,会被 JSON 序列化) |
| code? | number | 事件状态码(可选,0 通常代表成功) |
返回值: void
示例:
ts
classroom.reportEvent('beauty_open', { whiten: 30 });
classroom.reportEvent('upload_courseware', { docId, fileSize: file.size }, 0);reportLog()
上报日志条目(写入 Logger 用于问题排查)。
仅写入本地 Logger 缓冲,不直接上报后台;与 reportEvent 区别:日志用于排障/重放,事件用于统计。
| 参数 | 类型 | 说明 |
|---|---|---|
| action | string | 操作标识(如 'click_button'、'page_enter') |
| message | string | 日志描述信息 |
返回值: void
示例:
ts
classroom.reportLog('panel_toggle', 'user opened member panel');useRtcAdapter()
注入自定义 RTC 适配器(跨平台适配,必须在 init() 之前调用)。
允许在 Electron / Android WebView / iOS WebView 等平台传入自定义 IRtcAdapter 实现, 替换默认的 WebRtcAdapter(TRTC Web SDK v5)。
| 参数 | 类型 | 说明 |
|---|---|---|
| adapter | IRtcAdapter | 自定义 RTC 适配器实例 |
返回值: this
示例:
ts
classroom.useRtcAdapter(new ElectronRtcAdapter()).init();