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