Skip to content

工具方法

跨平台工具、日志上报、适配器注入等高级功能。

API 参考

openBrowser()

跨平台打开系统浏览器(Electron 调用系统默认浏览器,Web 直接跳转/新标签页)。

在 Electron / Native 嵌入场景下,应优先使用此 API 而不是直接调用 window.open, 以保证 URL 始终在系统浏览器中打开(而非应用内 webview)。 system browser (not the in-app webview).

参数类型说明
urlstring要打开的完整 URL(必须包含 http:// 或 https://)

返回值: void

示例:

ts
classroom.openBrowser('https://cloud.tencent.com/');

register()

注册自定义业务模块(高级用法,必须在 init() 之前调用)。

普通开发者无需调用此方法;主要供有特殊定制需求的集成方使用。

参数类型说明
moduleIModule自定义模块实例(需实现 IModule 接口)

返回值: this

示例:

ts
classroom.register(new MyCustomModule()).init();

reportEvent()

上报业务埋点事件(写入 Logger 并上报至监控后台)。

用于业务侧自定义埋点(如按钮点击、功能使用统计等),与 SDK 内部上报通道一致。

参数类型说明
namestring事件名称(建议小写下划线风格)
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 区别:日志用于排障/重放,事件用于统计。

参数类型说明
actionstring操作标识(如 'click_button''page_enter'
messagestring日志描述信息

返回值: void

示例:

ts
classroom.reportLog('panel_toggle', 'user opened member panel');

useRtcAdapter()

注入自定义 RTC 适配器(跨平台适配,必须在 init() 之前调用)。

允许在 Electron / Android WebView / iOS WebView 等平台传入自定义 IRtcAdapter 实现, 替换默认的 WebRtcAdapter(TRTC Web SDK v5)。

参数类型说明
adapterIRtcAdapter自定义 RTC 适配器实例

返回值: this

示例:

ts
classroom.useRtcAdapter(new ElectronRtcAdapter()).init();