跳到主要内容

自动采集

最近更新 2026/10/03

一、开启自动采集事件​

您可以调用 enableAutoTrack 并传入一个 TDAutoTrackEventType 类型来开启自动采集。当前支持六种:

  • ta_app_start: 应用进入前台,对应类型为TDAutoTrackEventType.APP_START
  • ta_app_end: 应用进入后台,对应类型为 TDAutoTrackEventType.APP_END
  • ta_app_install: 安装后首次打开应用,对应类型为 TDAutoTrackEventType.APP_INSTALL
  • ta_app_crash: 出现未捕获异常导致应用闪退,对应类型为 TDAutoTrackEventType.APP_CRASH
  • ta_app_view:APP 在使用Navigator路由跳转时触发,对应类型为TDAutoTrackEventType.APP_VIEW_SCREEN
  • ta_app_click:APP 控件点击事件将会在用户点击控件时触发,对应类型为TDAutoTrackEventType.APP_CLICK

关于自动采集事件,需要注意:

  1. 自动采集事件是在 native SDK 中实现的,因此动态公共属性目前无法在自动采集事件中添加。
  2. 如果您需要设置访客 ID,或者公共属性,请在开启自动采集事件之前完成设置。

开启自动采集示例:

TDAnalytics.enableAutoTrack(TDAutoTrackEventType.APP_START |
TDAutoTrackEventType.APP_END |
TDAutoTrackEventType.APP_INSTALL |
TDAutoTrackEventType.APP_CRASH |
TDAutoTrackEventType.APP_CLICK |
TDAutoTrackEventType.APP_VIEW_SCREEN);

二、详细介绍​

2.1 浏览页面事件​

APP 在使用Navigator路由跳转时触发,详细的事件介绍如下:

  • 事件名:ta_app_view

  • 预置属性:

    #screen_name:字符串型,页面名称

    #title:字符串型,页面标题

    #referrer:字符串型,前向地址

  • 开启步骤:

    • 添加全局监听,在MaterialApp下增加navigatorObservers
    import 'package:thinking_analytics/autotrack/td_page_view.dart';

    void main() => runApp(new MaterialApp(
    navigatorObservers: TDNavigatorObserver.wrap([]), home: MyApp()));
    • 调用 enableAutoTrack 开启,示例代码如下:
    TDAnalytics.enableAutoTrack(TDAutoTrackEventType.APP_VIEW_SCREEN,
    autoTrackEventProperties: {
    "test_property": "test_property_value"
    },
    autoTrackPageConfig: TDAutoTrackConfig(
    pageConfigs: [
    TDAutoTrackPageConfig<Page1>(
    screenName: "Page1",
    title: "第一个页面",
    ),
    TDAutoTrackPageConfig<Page2>(
    screenName: "Page2",
    title: "第二个页面",
    ignore: false,
    properties: {
    "multi_property": "multi_property_value"
    },
    )
    ],
    ));

autoTrackEventProperties:设置自动采集的公共属性

autoTrackPageConfig:页面浏览相关的配置信息,可以自定义每一个页面的title和screenName,ignore是是否需要忽略这个页面的采集,properties是该页面的自定义属性

备注

需要尽早开启,否则第一个页面的生命周期已过,采集不到第一个页面的浏览事件

2.2 元素点击事件​

APP 控件点击事件将会在用户点击控件时触发

  • 事件名:ta_app_click

  • 预置属性:

    #screen_name:字符串型,页面名称

    #title:字符串型,页面标题

    #element_type:字符串型,元素类型

    #element_content:字符串型,元素内容

  • 开启步骤

TDAnalytics.enableAutoTrack(TDAutoTrackEventType.APP_CLICK);
  • 控件自定义属性

通过设置TDElementKey来自定义属性

  • 第一个参数:元素ID,对应属性#element_id
  • properties:自定义属性
  • isIgnore:是否忽略该控件自动采集事件
import 'package:thinking_analytics/autotrack/td_autotrack_config.dart';

ElevatedButton(
key: TDElementKey("元素ID", properties: {"key": "value"},isIgnore: true),
onPressed: () {},
child: Text(
"按钮2",
style: TextStyle(fontSize: 14),
)),

三、设置自动采集事件公共属性​

可以在调用enableAutoTrack时通过autoTrackEventProperties参数设置自定义属性

TDAnalytics.enableAutoTrack(TDAutoTrackEventType.APP_START,
autoTrackEventProperties: {
'auto_test': 'stu',
'auto_arr': [1, 2, 3],
'auto_obj': {'obj_test': 'xxx'}
});
这篇文档对你有帮助吗?