---
code: rn_sdk_autotrack
name: "自动采集"
wikiToken: BmlowaQcCiivGvkB1Slc7CGfn26
parentWikiToken: ZN3GwnZOlipkO0kyWEPcDR27nMg
updateTime: 1764558942000
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v5.0&lan=zh-CN&code=rn_sdk_autotrack
---
# 自动采集

### 一、开启自动采集事件

您可以调用 `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`（3.2.0及之后的版本支持）
- `ta_app_click`：APP 控件点击事件将会在用户点击控件时触发，对应类型为`TDAutoTrackEventType.APP_CLICK`（3.2.0及之后的版本支持）
关于自动采集事件，需要注意：

1. 自动采集事件是在 native SDK 中实现的，因此动态公共属性目前无法在自动采集事件中添加。
1. 如果您需要设置访客 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 页面浏览事件支持 React Navigation ^2.0 ~ ^6.0

APP 在使用navigation路由跳转时触发，详细的事件介绍如下：

- 事件名：ta_app_view
- 预置属性：
`#screen_name`：字符串型，页面名称

`#title`：字符串型，页面标题

`#referrer`：字符串型，前向地址

- 开启方式：
- 调用`enableAutoTrack`，传入`TDAutoTrackEventType.APP_VIEW_SCREEN`
```
TDAnalytics.enableAutoTrack(TDAutoTrackEventType.APP_VIEW_SCREEN);
```

- 执行脚本
```
node node_modules/react-native-thinking-data/ThinkingDataRNHook.js -run
```

- 设置页面自定义属性：在通过 Navigation 跳转时，可以在 params 中添加自定义属性，SDK 会自动使用 params 中的设置值对 App 页面浏览事件的属性进行补充或覆盖。
```
navigation.navigate('PageB', {
  thinkingdataparams: {
    name: 'name_A',
    '#title': '第二个页面',
    '#screen_name': "page_B"
  }
});
```

如果需要自定义#title和#screen_name，可以在thinkingdataparams参数内传入。

- 忽略单个页面浏览事件：在thinkingdataparams中添加TDIgnoreViewScreen属性且值为 true 时会忽略该页面浏览事件
```
navigation.navigate('PageB', {
  thinkingdataparams: {
    name: 'name_A',
    '#title': '第二个页面',
    '#screen_name': "page_B"，
    TDIgnoreViewScreen: true
  }
});
```

#### 2.2 元素点击事件

App 元素点击事件支持 React Native 0.23 ~ 0.70.0

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

- 事件名：ta_app_click
- 预置属性：
`#screen_name`：字符串型，页面名称

`#title`：字符串型，页面标题

`#element_content`：字符串型，元素内容

- 开启方式：
- 调用`enableAutoTrack`，传入`TDAutoTrackEventType.APP_CLICK`
```
TDAnalytics.enableAutoTrack(TDAutoTrackEventType.APP_CLICK);
```

- 执行脚本：
```
node node_modules/react-native-thinking-data/ThinkingDataRNHook.js -run
```

- 设置控件自定义属性：在控件中添加自定义属性thinkingdataparams
```
<CustomButton
  title="按钮"
  thinkingdataparams={{
    name: 'button',
    pro_key:'pro_value'
  }}
/>
```

- 忽略单个控件点击事件：在thinkingdataparams中添加TDIgnoreViewClick属性且值为 true 时会忽略该控件点击事件
```
<CustomButton
  title="按钮"
  thinkingdataparams={{
    name: 'button',
    pro_key:'pro_value'
    TDIgnoreViewClick: true
  }}
/>
```

### 三、设置自动采集事件自定义属性

您可以调用 `enableAutoTrack`设置自动采集事件的属性

```
TDAnalytics.enableAutoTrack(TDAutoTrackEventType.APP_START,{
        auto_name: "xxx",
        auto_age: "xxx"
})
```
