跳到主要内容

多实例

最近更新 2026/10/03

一、功能介绍​

我们支持使用多个Appid,创建SDK实例,我们简称为多实例。通过多实例功能,您可以上报数据到不同的项目。

二、创建多实例​

传入不同的 APP ID 完成 SDK 初始化,即可创建多个 SDK 实例:

//初始化配置1
TDAnalytics.init(context, "app-id-1", "https://youserverurl.1.com");

//初始化配置2
TDAnalytics.init(context, "app-id-2", "https://youserverurl.2.com");

//上报事件到配置1(不传app-id,默认上报到配置1)
TDAnalytics.track({
eventName: 'event_from_appid_1'
});
//上报事件到配置1(指定app-id-1)
TDAnalytics.track({
eventName: 'event_from_appid_1'
}, 'app-id-1');
//上报事件到配置2(指定app-id-2)
TDAnalytics.track({
eventName: 'event_from_appid_2'
}, 'app-id-2');

请注意多个 SDK 实例的 APP ID 必须不同,多实例之间的大多数数据是不共通的,详情可参考第三节“多实例间的数据共享”。

三、多实例间的数据共享​

大多数接口都是由实例对象所调用,因此绝大部分数据与设置在多 APPID 实例、父实例与轻量实例间是不共享的,但有部分数据与设置会对所有实例生效,以下是所有数据与设置在多实例间是否共享的详细说明:

  1. 账号相关信息
  • 系统默认生成的访客 ID#distinct_id:共享
  • 调用 identify 设置的访客 ID#distinct_id:不共享
  • 调用login设置的账号 ID#account_id:不共享
  1. 事件上报track与用户属性上报user_set、user_setOnce、user_add、user_delete:不共享
  2. 公共属性setSuperProperties和动态公共属性setDynamicSuperPropertiesTracker:不共享
  3. 记录事件时长timeEvent:不共享
这篇文档对你有帮助吗?