Flutter 应用接入¶
通过收集各个 Flutter 应用的指标数据,以可视化的方式分析应用端性能。
阅读路径¶
- 首次接入:先看 快速开始
- 完整接入:继续阅读本文
- 初始化参数:查看 SDK 初始化、RUM 配置、Log 配置、Trace 配置
- 自定义能力:查看 自定义标签使用、数据采集自定义规则、数据采集脱敏
- 高级场景:查看 WebView 数据监测、原生与 Flutter 混合开发、Publish Package 相关配置
- 问题排查:查看 故障排查
- 数据模型:查看 应用数据采集
前置条件¶
注意:若您开通了 RUM Headless 服务,前置条件已自动帮您配置完成,直接接入应用即可。
- 安装 DataKit
- 配置 RUM 采集器
- DataKit 配置为公网可访问,并且安装 IP 地理信息库
应用接入¶
注意
当前 Flutter 版本暂只支持 Android 和 iOS 平台。
- 进入 用户访问监测 > 新建应用 > Android/iOS
- 分别为 Flutter Android 和 Flutter iOS 创建两个应用,以便分别接收来自 Android 和 iOS 平台的 RUM 数据
- 为每个平台的应用输入对应的应用名称和应用 ID
-
选择应用接入方式:
- 公网 DataWay:直接接收 RUM 数据,无需安装 DataKit 采集器
- 本地环境部署:满足前置条件后接收 RUM 数据
安装¶
Pub.Dev: ft_mobile_agent_flutter
源码地址:https://github.com/GuanceCloud/datakit-flutter
Demo 地址:https://github.com/GuanceCloud/datakit-flutter/example
在项目路径下执行:
这将在包的 pubspec.yaml 中添加依赖:
dependencies:
ft_mobile_agent_flutter: [latest_version]
# flutter 2.0 兼容版本使用下面的引用方式
ft_mobile_agent_flutter:
git:
url: https://github.com/GuanceCloud/datakit-flutter.git
ref: [github_legacy_lastest_tag]
在 Dart 代码中引入:
Android 集成额外配置¶
- 配置 Gradle Plugin ft-plugin,用于采集 App 启动事件,以及 Android Native 原生相关事件(页面跳转、点击事件、Native 网络请求、WebView 数据)
- 如需统计启动次数和启动时间,需要自定义
Application并在AndroidManifest.xml中声明
import io.flutter.app.FlutterApplication
/**
* 如果需要统计【启动次数】和【启动时间】需要在此处添加自定义 Application
*/
class CustomApplication : FlutterApplication() {
}
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.cloudcare.ft.mobile.sdk.agent_example">
<application android:name=".CustomApplication">
//...
</application>
</manifest>
详细配置入口¶
高级场景¶
冲突字段说明¶
- 特殊 key:
track_id,用于追踪功能 - 当用户通过
globalContext添加自定义标签与 SDK 自有标签相同时,SDK 的标签会覆盖用户设置的值 - 建议标签命名添加项目缩写前缀,例如
df_tag_name - 项目中使用的
key值可参考 Android 常量定义:Constants.java