menu
Is this helpful?

# 자동 수집 이벤트 가이드

# 자동 수집 활성화

EnableAutoTrack을 호출하여 AUTO_TRACK_EVENTS의 파라미터 입력으로, 특정 자동 수집 이벤트의 활성화를 제어할 수 있습니다.

// 자동 추적 이벤트 유형
public enum TDAutoTrackEventType
{
    None = 0,
    AppStart = 1 << 0,
    AppEnd = 1 << 1,
    AppCrash = 1 << 4,
    AppInstall = 1 << 5,
    AppSceneLoad = 1 << 6,
    AppSceneUnload = 1 << 7,
    All = AppStart | AppEnd | AppInstall | AppCrash | AppSceneLoad | AppSceneUnload
}

설명:

  • APP_START: 게임이 앞으로 나올 때 ta_app_start가 트리거되며, 프리셋 속성 #resume_from_background은 재시작하는지 여부를 나타냅니다.
  • APP_END: 게임이 백그라운드로 들어갈 때, ta_app_end가 트리거되고, 프리셋 속성 #duration의 필드는 게임의 지속 시간을 초 단위로 나타냅니다.
  • APP_CRASH: 포착되지 않은 예외가 발생하면 ta_app_crash가 트리거되며, 현재는 Android 플랫폼에서 가상 머신의 미포착 예외를 처리합니다. iOS 플랫폼은 Unix 신호 예외와 NSException 예외를 처리합니다.
  • APP_INSTALL: 앱이 처음 설치된 후 열릴 때 ta_app_install이 트리거됩니다. 재설치 여부는 구별하지 않습니다. 이 시간은 설치 후 한 번만 업로드되며, 그 후의 업데이트는 업로드하지 않습니다.

AUTO_TRACK_EVENTS. ALL을 포함하여, 현재 지원되는 모든 자동 수집 이벤트를 엽니다. 또한, 프로젝트의 요구에 따라 일부 자동 수집 이벤트를 열 수도 있습니다.

// 모든 자동 추적 이벤트 활성화
ThinkingAnalyticsAPI.EnableAutoTrack(TDAutoTrackEventType.All);

// 열기 및 닫기 이벤트 활성화
ThinkingAnalyticsAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.APP_START | AUTO_TRACK_EVENTS.APP_END);

주의: 커스텀 게스트 ID나 퍼블릭 이벤트 속성을 설정하려면, 자동 수집 이벤트를 열기 전에 완료해야 합니다. 자동 수집 이벤트는 동적 퍼블릭 속성을 지원하지 않습니다.

APP_CRASHiOSAndroid 위에서 ObjectiveJava의 이상만 수집하고 싶고, C#의 이상을 수집하지 않는 경우는, v2.3.1 같거나 큰 버전에서는 Resources 카테고리에 ta_public_config.xml를 추가하는 것으로 실현할 수 있습니다.

APP_CRASH는 iOS와 Android에서 Objective와 Java의 예외만 수집하고, C#의 예외를 수집하지 않으려면, v2.3.1 이상 버전에서는 Resources 카테고리에 ta_public_config.xml을 추가하여 실현할 수 있습니다.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- ThinkingAnalytics disable C# Exception -->
    <bool name="DisableCSharpException">true</bool>
</resources>

# 자동 수집 이벤트의 가상 속성

v2.2.4 이후, EnableAutoTrack을 호출하여 자동 수집을 시작하면서, 수집할 가 속성을 전달할 수 있습니다.

// 속성을 가진 자동 추적 활성화
ThinkingAnalyticsAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.ALL, new Dictionary<string, object>() {
    {"custom_key", "custom_value"}
});

SetAutoTrackProperties를 호출하여, 특정 자동 수집 이벤트의 커스텀 속성을 지정합니다.

주의: SetAutoTrackProperties는 자동 수집 이벤트의 수집을 활성화하지 않습니다. EnableAutoTrack과 함께 사용해야 합니다.

// 자동 추적 이벤트의 속성 설정
ThinkingAnalyticsAPI.SetAutoTrackProperties(AUTO_TRACK_EVENTS.APP_START, new Dictionary<string, object>() 
{
    {"start_key", "start_value"}
});

// 자동 추적 이벤트의 속성 설정
ThinkingAnalyticsAPI.SetAutoTrackProperties(AUTO_TRACK_EVENTS.APP_INSTALL | AUTO_TRACK_EVENTS.APP_CRASH, new Dictionary<string, object>() 
{
    {"install_crash_key", "install_crash_value"}
});

// 모두에 대한 자동 추적 활성화
ThinkingAnalyticsAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.ALL);

# 자동 수집 이벤트 콜백 설정

v2.4.0 이후, 자동 수집 이벤트 콜백의 설정을 지원하여, 사용자 지정 속성을 실시간으로 설정하거나, 해당 이벤트가 트리거될 때 사용자 코드를 실행합니다. 자동 수집 이벤트 콜백을 설정하려면, 새로운 클래스를 생성하여 IAutoTrackEventCallback 인터페이스를 구현하고, public Dictionary<string, object> AutoTrackEventCallback(int type, Dictionary<string, object>properties) 메소드를 오버라이드해야 합니다. 이 메소드는 이벤트 속성을 설정해야 하는 동적 컬렉션입니다. 다음으로, 다음과 같이 EnableAutoTrack을 호출하여, 자동 수집 이벤트의 콜백 객체를 전달합니다.

// 1. 자동 추적 콜백 구현
public class AutoTrackECB : IAutoTrackEventCallback
{
    public Dictionary<string, object> AutoTrackEventCallback(int type, Dictionary<string, object>properties)
    {
        return new Dictionary<string, object>() 
        {
            {"AutoTrackEventProperty", DateTime.Today}
        };
    }
}
// 2. 자동 추적 활성화 및 콜백 설정
ThinkingAnalyticsAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.ALL, new AutoTrackECB());

# 자동 수집 이벤트 씬 활성화

v2.4.1부터, 씬의 로드 및 언로드 이벤트의 자동 수집이 지원됩니다.

씬의 로드와 언로드의 위임 이벤트를 등록함으로써, 씬의 자동 수집 이벤트가 활성화됩니다.

MonoBehaviour스크립트의 OnEnable메소드에서 호출하는 것을 권장합니다.

    private void OnEnable()
    {
        SceneManager.sceneLoaded += ThinkingAnalyticsAPI.OnSceneLoaded;
        SceneManager.sceneUnloaded += ThinkingAnalyticsAPI.OnSceneUnloaded;
    }

v2.5.1부터, EnableAutoTrack 메소드를 호출함으로써 씬의 자동 이벤트 수집을 활성화할 수 있습니다.

// 모든 자동 데이터 수집 이벤트 시작
ThinkingAnalyticsAPI.EnableAutoTrack(TDAutoTrackEventType.All);

// 시작 및 종료 이벤트 자동 수집
ThinkingAnalyticsAPI.EnableAutoTrack(TDAutoTrackEventType.AppSceneLoad | TDAutoTrackEventType.AppSceneUnload);