---
code: unreal_sdk_autotrack
name: "自动采集"
wikiToken: XTgHwViIuiuHbFkPwuYc7vTrnAQ
parentWikiToken: SpNbwbJcEi1MnPkeumQcK3M8nNg
updateTime: 1745309715000
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v5.0&lan=zh-CN&code=unreal_sdk_autotrack
---
# 自动采集

### 一、自动采集事件

TDAnalytics SDK 当前支持三种事件的自动采集：

- ta_app_install: 游戏安装，当安装后首次打开游戏会采集该事件
- ta_app_start: 游戏进入前台的时候采集该事件
- ta_app_end: 游戏退到后台的时候采集该事件
通过调用 `EnableAutoTrack` 接口可以开启自动采集：

```
// 开启自动采集
UTDAnalytics::EnableAutoTrack();
```

<!-- unsupported block: 34 -->

注意： 如果您需要自定义访客 ID，请务必在开启自动采集功能之前调用 Identify 接口设置访客 ID.

也可以手动传入需要开启采集的自动采集事件：

```
TArray<FString> EventTypeList;
EventTypeList.Emplace(TEXT("ta_app_install"));
EventTypeList.Emplace(TEXT("ta_app_start"));
EventTypeList.Emplace(TEXT("ta_app_end"));
UTDAnalytics::EnableAutoTrackWithType(EventTypeList, AppID);
```

### 二、设置自定义属性

v1.4.1版本开始支持为自动采集事件设置自定义属性，当采集指定的事件时，会将自定义属性合并到该事件属性中并上报。

```
TArray<FString> EventTypeList;
EventTypeList.Emplace(TEXT("ta_app_install"));
EventTypeList.Emplace(TEXT("ta_app_start"));
EventTypeList.Emplace(TEXT("ta_app_end"));
UTDAnalytics::EnableAutoTrackWithTypeAndProperties(EventTypeList, TEXT("{\"autoTrackKey1\":\"autoTrackvalue1\",\"autoTrackKey2\":\"autoTrackvalue2\"}"), AppID);
```

### 三、设置自动采集事件回调

V1.5.0版本开始支持为自动采集事件设置回调方法，当采集指定的事件时，会通过该回调通知并回传当前所携带的事件属性，您可以根据需要转发数据，或者增加新的事件属性作为返回。

```
//定义回调
FString UTAUserWidget::TAAutoTrackProperties(FString AutoTrackEventType, FString Properties)
{
    //AutoTrackEventType 自动采集事件类型
    //Properties 当前事件携带的事件属性
    //处理逻辑
    FDateTime TDateTime = FDateTime::Now();
    int64 SecondTimestamp = TDateTime.ToUnixTimestamp();
    int32 MillisecondPart = TDateTime.GetMillisecond();
    FString TimeStr = *FString::Printf(TEXT("%llu"), SecondTimestamp);
    TimeStr += *FString::Printf(TEXT("%lld"), MillisecondPart);
    return "{\"auto_property1_name\":\"" + AutoTrackEventType + "\",\"auto_property2_time\":\"" + TimeStr + "\"}";
}

//设置回调
void UTAUserWidget::Call_TA_SetAutoTrackEventListener()
{   
    TArray<FString> EventTypeList;
    EventTypeList.Emplace(TEXT("ta_app_install"));
    EventTypeList.Emplace(TEXT("ta_app_start"));
    EventTypeList.Emplace(TEXT("ta_app_end"));
    UTDAnalytics::SetAutoTrackEventListener(this, &UTAUserWidget::TAAutoTrackProperties, EventTypeList, AppID);
}
```

####
