DatadogConfiguration 与 DatadogRumConfiguration 传入。
采样率
隐私同意
TrackingConsent 控制是否采集与上报数据,适配 GDPR 等合规要求:
事件过滤与脱敏
事件映射器在事件上报前执行,返回null 丢弃事件,或修改后返回。可用于脱敏敏感字段、去除噪声、重命名视图。
分布式追踪
对firstPartyHosts 命中的域名,SDK 会注入 W3C traceparent,实现前端 RUM 与后端 APM 的链路关联。追踪需要配合网络采集(enableHttpTracking())。
自定义上报地址
私有化部署时,通过customEndpoint 覆盖默认上报地址:
WebView 追踪
Flutter 页面内嵌 WebView 时,可通过flashcat_webview_tracking 把 WebView 中的 Browser RUM 事件关联到当前原生 RUM 会话。
pubspec.yaml
trackDatadogEvents 的是允许关联的主机名列表。主机名会匹配其子域名,但不支持通配符。WebView 加载的页面必须已经接入 Flashduty Browser SDK;Android 还必须启用 JavaScriptMode.unrestricted,否则无法建立关联。
符号文件上传
要把崩溃与错误堆栈还原到源码位置,需要上传符号文件。Flutter 应用可能同时包含 Dart 与原生帧:
使用 FlashCat CLI 上传符号文件:
符号文件与崩溃事件是通过构建产物的 build ID 关联的,
service 与 release-version 不参与匹配。因此二者与 SDK 初始化值不一致时,符号解析依然正常,只影响控制台「源码映射」列表中的归类与筛选。建议仍保持一致——尤其注意 Flutter 的构建号后缀(如 1.2.3+45)容易造成两边不一致。真正必须对上的是 build ID:--split-debug-info 产出的 app.<platform>-<arch>.symbols、APK 内 libapp.so、以及控制台「源码映射 → Flutter」列表中的 Build ID 三者必须相同。每次改动 Dart 代码都会生成新的 build ID,所以符号上传必须纳入每一次发布构建,否则该版本的堆栈会静默退化为不解析。