menu
Is this helpful?

# 다중 인스턴스

initInstance를 사용하여, 서브 인스턴스를 생성할 수 있습니다.

파라미터에는 서브 인스턴스의 이름을 넣어서, 호출할 수 있습니다.

// newInstance라는 이름의 인스턴스 생성
te.initInstance("newInstance");
// 자식 인스턴스에 distinct_id를 설정하고 test_event 이벤트를 전송
te.newInstance.identify("new_distinct_id");
te.newInstance.track("test_event");

기본적으로, 서브 인스턴스와 메인 인스턴스는 같은 설정을 갖게 됩니다(예: appId, serverUrl 등), 하지만 서브 인스턴스는 로컬 캐시가 활성화되지 않습니다.

서브 인스턴스에 독자적인 설정을 하고 싶은 경우, 초기 설정 시에 설정해야 합니다. 다른 appId는 다른 프로젝트로 데이터 전송이 가능해집니다.

// 자식 인스턴스용 설정 파라미터
var param = {
  appId: "debug-appid",
  serverUrl: "ANOTHER_SERVER_URL",
  persistenceEnabled: true, // 자식 인스턴스의 로컬 캐시를 활성화
  send_method: "image",
  showLog: true
};

// 자식 인스턴스 초기화
ta.initInstance("anotherInstance", param);

// 메인 인스턴스로 데이터 업로드
ta.track("Event");

// 자식 인스턴스로 데이터 업로드
ta.anotherInstance.track("Event");

메인 인스턴스와 서브 인스턴스의 ID 체계와 공통 이벤트 속성은 공유하지 않습니다. 인스턴스마다 설정이 가능합니다.

// 메인 인스턴스는 새로운 사용자가 초대받은 것이고 자식 인스턴스는 초대자임
ta.login("invitee");
ta.anotherInstance.login("inviter");
// 새로운 사용자가 초대 받은 이벤트를 트리거
ta.track("be_invited");
// 초대자가 새로운 사용자를 초대하는 이벤트 트리거
ta.anotherInstance.track("invite_new_user");