menu
Is this helpful?

# 自动采集

# 一、自动采集事件

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

  • ta_app_install: 游戏安装,当安装后首次打开游戏会采集该事件
  • ta_app_start: 游戏进入前台的时候采集该事件
  • ta_app_end: 游戏退到后台的时候采集该事件
  • ta_app_crash: 游戏发生crash时采集该事件

通过调用 EnableAutoTrack 接口可以开启自动采集:

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

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

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

TArray<FString> EventTypeList;
EventTypeList.Emplace(TEXT("ta_app_install"));
EventTypeList.Emplace(TEXT("ta_app_start"));
EventTypeList.Emplace(TEXT("ta_app_end"));
EventTypeList.Emplace(TEXT("ta_app_crash"));
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"));
EventTypeList.Emplace(TEXT("ta_app_crash"));
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"));
    EventTypeList.Emplace(TEXT("ta_app_crash"));
    UTDAnalytics::SetAutoTrackEventListener(this, &UTAUserWidget::TAAutoTrackProperties, EventTypeList, AppID);
}

#

#

#

#