Skip to main content
本文介绍主进程 @flashcatcloud/electron-sdk 的可选配置和公开 API。渲染进程使用 Browser SDK,其通用配置见 Web SDK 高级配置

初始化参数

main.ts
init() 返回 false 表示配置校验失败。SDK 会在主进程控制台输出具体原因,并且不会开始采集,但不会阻止应用继续启动。

自定义上报地址

默认情况下,普通 RUM 事件由主进程上报到 Flashduty SaaS,无需配置 siteproxy

使用私有化接收域名

如果数据接收端支持 HTTPS,并且接收路径为 /api/v2/rum,请将域名填入 site。不要包含 https:// 或路径:
main.ts
SDK 会向 https://rum.example.internal/api/v2/rum 上报普通 RUM 事件。

使用自定义转发地址

以下场景请使用 proxy
  • 数据接收端只提供 HTTP
  • 上报路径不是 /api/v2/rum
  • 客户端需要通过统一网关访问数据接收端
main.ts
这里的 proxy 是由你提供的 RUM 转发地址,不是操作系统或 Electron 的网络代理设置。主进程会在请求中附加目标路径信息;转发服务需要保留请求体和 DD-API-KEY 请求头,并将请求发送到 Flashduty 数据接收端。 设置 proxy 后,主进程不再使用 site 生成上报地址。

为会话回放配置私有化地址

普通 RUM 事件通过主进程上报,但会话回放由渲染进程直接上传。因此,主进程的 siteproxy 不会自动应用到回放。 私有化部署开启回放时,请在渲染进程配置 Browser SDK 的 proxy
renderer.ts
同时将该地址加入页面 CSP 的 connect-src

上报批次与频率

普通 RUM 事件会先写入应用的 userData 目录,再按批次上传。上传成功后,SDK 才会删除对应的批次文件。 接入调试时,可以使用 batchSize: 'SMALL'uploadFrequency: 'FREQUENT' 更快看到数据。正常运行时建议保留默认值。
这套落盘与重试机制只覆盖普通 RUM 事件。会话回放由渲染进程直接上传,不使用主进程的磁盘缓冲。

采集第三方页面

当前窗口加载的页面始终可以使用桥接,无需配置 allowedWebViewHosts。只有当你需要采集 <webview>BrowserView 中加载的第三方页面时,才添加额外 host:
main.ts
匹配规则包含子域名。例如配置 example.com 后,app.example.com 也可以使用桥接。

关联登录用户

用户登录后,在主进程调用 setUser()。主进程事件和通过桥接上报的渲染进程事件都会带上相同的用户身份。
main.ts
开启会话回放时,请在同一套登录和退出流程中同步调用渲染进程的 flashcatRum.setUser()flashcatRum.clearUser(),因为回放分段不会经过主进程。

手动上报错误

主进程中被 try/catch 捕获的异常不会作为未处理异常自动上报。你可以调用 addError() 记录它:
main.ts
手动上报的错误会标记为已处理错误。context 中的属性可用于筛选和定位业务场景。

结束当前会话

用户退出登录或需要重新开始会话时,可以调用 stopSession()
main.ts
当前会话会立即结束。下一次有效的界面输入会创建新会话。

预创建窗口的性能指标

Electron 应用可能先创建隐藏的 BrowserWindow,完成页面加载后再显示。SDK 默认会将这类窗口的 FCP 和 LCP 校正到窗口首次可见的时间,避免把预热等待时间计入页面性能。 如果你希望保留页面原始的 Paint Timing 数值,可以关闭校正:
main.ts
该能力只覆盖 BrowserWindowWebContentsView<webview> 的指标不会校正。

自定义错误栈路径

SDK 默认把应用目录中的错误栈路径改写为 app:///<相对路径>,让同一份 sourcemap 可以匹配不同机器上的安装路径。大多数项目无需修改。 如果构建产物的目录结构与应用目录不一致,可以通过 normalizeStackPath 自定义映射:
main.ts
返回 undefined 时,SDK 会继续使用默认归一化逻辑。上传方法见 Electron 错误还原

相关页面

SDK 接入指南

完成主进程与渲染进程接入。

错误还原

上传 JavaScript sourcemap 和原生崩溃符号。

数据收集

查看 SDK 采集的数据类型与上报行为。

问题排查

排查桥接、回放和数据上报问题。