Flashduty Android RUM SDK 支持 Android 6.0 (API level 23)
及以上版本。通过集成 SDK,您可以实时监控 Android 应用的性能、错误和用户行为。
关于依赖和包名的说明Flashduty Android SDK 完全兼容 Datadog 开源协议,代码中的 import 语句使用
com.datadog.android.* 包名。您可以无缝复用 Datadog 生态的文档、示例和最佳实践,同时享受 Flashduty 平台的服务。接入步骤
1
添加 SDK 依赖
在您的应用模块的
build.gradle 文件中添加 Flashduty SDK 依赖:build.gradle
2
获取应用凭证
在 Flashduty 控制台的 RUM 应用管理页面:
- 创建或选择一个 Android 应用
- 获取以下凭证信息:
- Application ID - 应用唯一标识符
- Client Token - 客户端访问令牌
3
初始化 SDK
在您的
Application 类的 onCreate() 方法中初始化 SDK:Application.kt
参数说明:
environmentName- 环境名称(如 production、staging)appVariantName- 应用变体名称,用于区分不同构建版本的数据- 更多配置选项请参阅 高级配置
4
启用 RUM 功能
配置并启用 Android SDK 的 RUM 功能:
Application.kt
SDK 将自动开始收集以下数据:
- 用户交互事件
- 长任务监控
- Activity 视图追踪
5
配置网络追踪(可选)
配置网络拦截器以追踪 HTTP 请求和响应:添加 OkHttp 依赖:配置拦截器:追踪网络重定向或重试:要监控网络重定向或重试,可以将 过滤特定错误:要过滤
build.gradle
使用
DatadogInterceptor 后,OkHttpClient
处理的每个请求都会被自动记录为资源,相关信息(URL、方法、状态码、错误)会自动填充。- 只有在视图处于活动状态时发起的网络请求才会被追踪 -
要追踪应用在后台时的请求,请参阅 追踪后台事件 -
如果使用多个拦截器,请将
DatadogInterceptor添加为第一个拦截器
DatadogInterceptor 用作网络拦截器:DatadogInterceptor 报告的特定错误,可以在 RumConfiguration 中配置自定义 EventMapper:高级配置
追踪后台事件
您可以追踪应用在后台运行时的事件(例如崩溃和网络请求):离线数据处理
Android SDK 确保在用户设备离线时的数据可用性:数据持久化机制: - 网络信号弱或设备电量过低时,事件以批次形式存储在本地 -
网络恢复后自动上传,确保不丢失数据 - 自动清理过旧数据,避免占用过多磁盘空间
即使用户在离线时使用应用,数据也会被保留并在网络恢复后上传,不会丢失任何监控数据。
追踪本地资源访问
您可以追踪 assets 和 raw 资源的访问情况:- Assets 资源
- Raw 资源
WebView 集成
如果您的 Android 应用中包含 WebView,可以启用 WebView 追踪来监控 Web 内容的性能和错误。1
添加 WebView 依赖
build.gradle
2
启用 WebView 追踪
在您的 Activity 或 Fragment 中启用 WebView 追踪:
参数说明:
webView- 需要追踪的 WebView 实例allowedHosts- 允许追踪的域名列表,支持通配符(如*.example.com)
WebView 中的 Web 页面现在可以与原生应用的 RUM 数据关联起来。
验证接入
接入完成后,验证集成是否成功:1
访问控制台
登录 Flashduty 控制台,进入对应的 RUM 应用,查看是否有数据上报。
2
触发测试事件
在应用中执行以下操作验证数据采集: - 打开应用的不同页面,验证页面浏览事件 -
执行用户操作(点击、滑动等),验证交互事件 - 触发网络请求,验证资源加载事件
3
查看日志
在 Logcat 中查看是否有向数据上报端点的网络请求。
如果看到数据上报请求且控制台中有数据显示,说明集成成功!
混淆配置
如果您的应用启用了代码混淆(ProGuard/R8),请在proguard-rules.pro 文件中添加以下规则:
proguard-rules.pro