# 자동 수집 이벤트 가이드
# 자동 수집 활성화
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_CRASH
가 iOS
와 Android
위에서 Objective
와 Java
의 이상만 수집하고 싶고, 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);