menu
Is this helpful?

# 다중 인스턴스

# 기능 소개

여러 Appid에 대한 SDK 인스턴스 생성을 지원합니다. 이를 다중 인스턴스라고 합니다.

다중 인스턴스를 통해 여러 프로젝트로 데이터 전송이 가능해집니다.

# 다중 인스턴스 생성

여러 APP ID를 가져와서 SDK 초기 설정을 완료하면 여러 SDK 인스턴스를 생성할 수 있습니다.

// SDK 초기화
TDAnalytics.init(this, TA_APP_ID, TA_SERVER_URL);
TDAnalytics.init(this, ANOTHER_TA_APP_ID, TA_SERVER_URL);

TDAnalyticsAPI.track("some_event",properties, TA_APP_ID);
TDAnalyticsAPI.track("some_event",properties, ANOTHER_TA_APP_ID)

주의: APP ID는 서로 달라야 합니다. 다중 인스턴스 간의 데이터는 공유하지 않습니다.

# 라이트 인스턴스 생성

라이트 인스턴스 메소드로, 동일한 APPID 아래에서 여러 인스턴스를 생성할 수 있습니다.

   //먼저 SDK 인스턴스 생성
  TDAnalytics.init(this, TA_APP_ID, TA_SERVER_URL);

  //이전에 생성된 인스턴스를 통해 createLightInstance 호출하여 경량 인스턴스 생성
  String uuid = TDAnalytics.lightInstance();
  TDAnalyticsAPI.login("anotherAccount",uuid);
  TDAnalyticsAPI.track("some_event",properties,uuid);

서브 라이트 인스턴스는 메인 인스턴스의 APPID, 데이터 전송 주소 및 일부 설정이 일치하지만, 그 외의 정보는 공유하지 않습니다.

# 다중 인스턴스 간의 데이터 공유

대부분의 인터페이스는 인스턴스 객체에 의해 호출되기 때문에 대부분의 데이터와 설정은 여러 APPID 인스턴스, 메인 인스턴스, 및 라이트 인스턴스 간에 공유되지 않지만, 일부 데이터와 설정은 모든 인스턴스에서 유효합니다. 다음은 모든 세부 정보입니다:

  1. 계정 정보
    • 시스템에서 기본으로 생성한 게스트 ID#distinct_id: 공유
    • identify를 호출하여 설정한 #distinct_id: 비공유
    • login을 호출하여 설정한 #account_id: 비공유
  2. 이벤트 데이터의 track 및 유저 속성 데이터의 user_set, user_setOnce, user_add, user_delete: 비공유
  3. 공통 속성 setSuperProperties와 동적 공통 속성 setDynamicSuperPropertiesTracker: 비공유
  4. SDK 설정 정보:
    • 데이터 전송 정책(전송 간격 시간 및 매번 전송량): 공유, 첫 번째 인스턴스의 APPID 프로젝트 데이터에 의해 결정됨
    • 전송 네트워크 조건 setNetworkType: 공유
    • 데이터 Log 출력 EnableTrackLogging: 공유
  5. 자동 수집 이벤트
    • 한 인스턴스에서 자동 수집 이벤트를 활성화하는 것이 권장됨
    • 여러 APP ID로 자동 수집 이벤트 전송 지원
    • 자동 수집 이벤트 설정은 다중 인스턴스에 공유 상황:
    • setViewID 설정: 비공유
    • 커스텀 페이지 뷰 속성 setViewProperties 등: 비공유
    • 특정 페이지의 자동 수집 이벤트 무시 ignoreAutoTrackActivity 등: 비공유
    • 특정 타입 뷰의 클릭 이벤트 무시 ignoreViewType: 비공유
    • 특정 뷰 무시 ignoreView: 비공유
    • 모든 주석: appId 파라미터 설정으로 인스턴스를 지정할 수 있습니다. 지정하지 않으면 모든 인스턴스 공유:
@ThinkingDataIgnoreTrackAppViewScreen(appId = "debug-appid")
  1. 이이벤트 시간 경과 기록 timeEvent: 비공유