Skip to main content
本文说明 React Native SDK 采集哪些数据、哪些数据不在采集范围内,以及如何控制采集范围。所有事件都写入 source: "react-native"

事件类型

自动采集的上下文

每个事件会自动附带以下上下文(由原生层采集):
  • 应用信息serviceversionenv,以及 application.id
  • 设备信息:设备型号、操作系统与版本、屏幕尺寸
  • 会话信息session.id,按 sessionSamplingRate 采样
  • 连接信息:网络类型(如可用)
  • 用户信息:通过 DdSdkReactNative.setUser 设置的 usr.id / usr.name / usr.email
  • 全局属性:通过 DdSdkReactNative.setAttributes 设置的自定义字段

网络请求的采集边界

SDK 的资源采集只有一个入口:JavaScript 层的 XMLHttpRequest 代理(React Native 中 fetch 也基于它实现)。
因此 React Native 应用的资源数据里只有接口请求,没有图片、字体、脚本等静态资源。控制台对 React Native 应用不展示静态资源面板,这是按采集边界设计的,不代表数据丢失。

性能数据

控制台会为 React Native 应用展示「性能」页。原生性能指标由封装的 Android / iOS SDK 采集,JS 线程帧率由 React Native SDK 额外采集: 原生指标的采集频率由 vitalsUpdateFrequency 控制,默认 VitalsUpdateFrequency.AVERAGE;设为 NEVER 可关闭。

Logs

DdLogs.debug / info / warn / error 会发送日志事件,不属于 RUM 事件。当前 仅 Android 端会实际发送,iOS 端为空操作。

手动埋点

除了自动采集,你可以手动记录事件与属性。

采样与控制

数据脱敏

通过事件映射器可以在事件上报前修改或丢弃数据,用于脱敏或过滤噪声。详见 高级配置

上报行为

  • SDK 在原生层做批量缓存,按 uploadFrequencybatchSizebatchProcessingLevel 分批上报
  • 网络不可用时事件会持久化到本地,恢复后重试
  • 上报地址默认为 https://browser.flashcat.cloud/api/v2/rum;私有化部署可通过 customEndpoints.rum 配置完整的 RUM intake URL(必须包含 /api/v2/rum,并保留部署的路径前缀)