menu
Is this helpful?

# 디버깅

SDK로 데이터 연동을 하는 과정에서, IDE 컨트롤러의 로그 또는 ThinkingEngine의 디버그 기능을 이용해 디버깅할 수 있습니다.

# SDK 로그 출력

로그를 활성화하면, IDE 내에서 ThinkingAnalytics 관련 로그를 필터링하여 SDK의 데이터 전송을 디버깅할 수 있습니다.

# Debug 모드 시작

Debug 모드는 다음 2단계로 조작 가능합니다.

  1. 클라이언트에서 Debug 모드 시작

다음은 클라이언트에서 Debug 모드를 시작하는 코드 예시입니다:

[TDAnalytics enableLog:YES];
NSString *appid = @"appId";
NSString *url = @"https://receiver-ta-preview.thinkingdata.cn";

// SDK는 메인 스레드에서 초기화되어야 합니다.

// 두 번째 방법
TDConfig *config = [[TDConfig alloc] init];
config.appid = appid;
config.configureURL = url;
/* 
작업 모드를 디버그 모드로 설정합니다.
NORMAL 모드: 기본적으로 NORMAL 모드에서는 데이터가 캐시에 저장되고 관련 캐시 정책에 따라 보고됩니다. 온라인 환경에서 이 모드 사용을 권장합니다.
Debug 모드: 데이터를 항목별로 보고합니다. 문제가 발생하면, 사용자는 로그와 이상 현상을 통해 알림을 받게 됩니다. 온라인 환경에서 디버그 모드 사용을 권장합니다.
DebugOnly 모드: 데이터가 저장되지 않고 검증만 됩니다; 온라인 환경에서 DebugOnly 모드 사용을 권장하지 않습니다.
 */
config.mode = TDModeDebug;
[TDAnalytics startAnalyticsWithConfig:config];
  1. TE 시스템 내에서 디버그 디바이스 추가

디버그 모드를 실제 환경에서 실수로 릴리스하는 것을 방지하기 위해, 특정 디바이스에서만 디버그 모드를 활성화할 수 있습니다.

클라이언트에서 디버그 모드를 시작한 후, 디바이스 ID를 TE 시스템의 "데이터 관리" → "디버그 모드"에서 추가한 후에 디버그 모드를 시작할 수 있습니다.

디바이스 ID는 다음 3가지 방법으로 획득 가능합니다.

  • TE 시스템의 이벤트 데이터의 #device_id
  • 클라이언트 로그: SDK 초기화 완료 후 출력된 DeviceId
  • 호출을 통해 획득: 디바이스 ID 획득

Debug 모드는 데이터 수집의 질과 앱의 안정성에 영향을 미칩니다. 따라서 데이터 검증을 위해서만 사용해 주세요.