Flashduty Android RUM SDK 支持 Android 6.0 (API level 23)
及以上版本。通过集成 SDK,您可以实时监控 Android 应用的性能、错误和用户行为。
关于依赖和包名的说明Flashduty Android SDK 完全兼容 Datadog 开源协议,代码中的 import 语句使用
com.datadog.android.* 包名。您可以无缝复用 Datadog 生态的文档、示例和最佳实践,同时享受 Flashduty 平台的服务。接入步骤
添加 SDK 依赖
在您的应用模块的
build.gradle 文件中添加 Flashduty SDK 依赖:build.gradle
WorkManager 也是 SDK 的
compileOnly 依赖,但不是强制依赖。缺少 WorkManager 时,SDK 会记录告警并禁用后台上传能力;前台批量上报仍可继续工作。若您希望 SDK 在应用进入后台后继续调度上传任务,请在应用中显式引入 androidx.work:work-runtime。获取应用凭证
在 Flashduty 控制台的 RUM 应用管理页面:
- 创建或选择一个 Android 应用
- 获取以下凭证信息:
- Application ID - 应用唯一标识符
- Client Token - 客户端访问令牌
初始化 SDK
在您的
Application 类的 onCreate() 方法中初始化 SDK:Application.kt
参数说明:
environmentName- 环境名称(如 production、staging)appVariantName- 应用变体名称,用于区分不同构建版本的数据- 更多配置选项请参阅 高级配置
配置网络追踪(可选)
配置网络拦截器以追踪 HTTP 请求和响应:添加 OkHttp 依赖:配置拦截器:追踪网络重定向或重试:要监控网络重定向或重试,可以将 过滤特定错误:要过滤
开启分布式 Trace 追踪
如果只需要在 RUM 中查看请求 URL、方法、状态码和错误,配置 OkHttp
拦截器即可。若需要把移动端请求与后端 Trace 链路关联,还需要额外引入
Trace 模块并启用
Trace.enable(...)。build.gradle
dd-sdk-android-okhttp 负责把 OkHttp 请求记录为 RUM Resource;dd-sdk-android-trace 负责开启 Trace 功能、创建 span 并向一方域名请求注入 trace header。依赖使用 cloud.flashcat,代码 import 仍使用 com.datadog.android.* 包名。启用 Trace 功能:在 Datadog.initialize(...) 之后、发起网络请求之前启用 Trace:Application.kt
Trace.enable(...) 是开启 Trace feature 的必要步骤。GlobalDatadogTracer
用于注册全局 tracer,方便 OkHttp、协程和手动 span 复用同一套 trace
配置;如果只使用 OkHttp 自动追踪,SDK 会在未注册全局 tracer
时创建本地 tracer,但建议显式注册以便指定 service 名称并降低排查成本。使用
DatadogInterceptor 后,OkHttpClient
处理的一方域名请求会被自动记录为 RUM Resource,并在命中采样时注入
x-datadog-* 和 traceparent / tracestate 等 trace header,用于关联后端 Trace。- host 只填写域名,不要包含
http://、https://或路径;配置example.com会匹配api.example.com等子域名 - 只有在视图处于活动状态时发起的网络请求才会被追踪;要追踪应用在后台时的请求,请参阅 追踪后台事件
- 如果使用多个拦截器,请将
DatadogInterceptor添加为第一个拦截器;后续拦截器重新构造Request时需保留已有 headers
DatadogInterceptor 用作网络拦截器:DatadogInterceptor 报告的特定错误,可以在 RumConfiguration 中配置自定义 EventMapper:高级配置
追踪后台事件
您可以追踪应用在后台运行时的事件(例如崩溃和网络请求):离线数据处理
Android SDK 确保在用户设备离线时的数据可用性:数据持久化机制: - 网络信号弱或设备电量过低时,事件以批次形式存储在本地 -
网络恢复后自动上传,确保不丢失数据 - 自动清理过旧数据,避免占用过多磁盘空间
即使用户在离线时使用应用,数据也会被保留并在网络恢复后上传,不会丢失任何监控数据。
追踪本地资源访问
您可以追踪 assets 和 raw 资源的访问情况:- Assets 资源
- Raw 资源
WebView 集成
如果您的 Android 应用中包含 WebView,可以启用 WebView 追踪来监控 Web 内容的性能和错误。WebView 中的 Web 页面现在可以与原生应用的 RUM 数据关联起来。
验证接入
接入完成后,验证集成是否成功:混淆配置
如果您的应用启用了代码混淆(ProGuard/R8),请在proguard-rules.pro 文件中添加以下规则:
proguard-rules.pro
自 0.4.1 起,SDK 已通过 AAR consumer rules 内置自身所需的混淆规则,包括保留
SourceFile、LineNumberTable、SDK shaded 依赖,以及初始化时通过反射检测的 Gson / OkHttp 关键类。您无需为 SDK 手动添加 Gson / OkHttp keep 规则。上述规则仅用于保留 SDK 公开类。如果您自己使用 Gson 序列化业务模型,仍需按 Gson 惯例为您自己的 model 类添加 keep 规则。下一步
高级配置
深入配置 SDK 的高级功能,如自定义采样、用户标识、全局上下文等
数据收集
了解 SDK 收集的数据类型和数据结构
分析看板
查看和分析应用的性能、错误和用户行为数据
错误追踪
配置崩溃报告和异常追踪功能