integrationlatest接入文档 / 多实例
多实例
从 v1.3.0 开始,本 SDK 支持多实例。我们称通过上文描述的方法完成初始化的实例为主实例,通过本节描述的方法创建的实例为子实例。
多个实例之间共享设备相关的预置属性(包括设备 ID),其他的属性均不共享,包括:
#distinct_id访客 ID#account_id账号 ID- 公共事件属性、动态公共属性
timeEvent监控的事件
您可以通过创建子实例,向另一个项目中上报数据,或者以另一套用户 ID 上报数据。
//初始化配置1
var config_1 = {
appId: "app-id-1",
serverUrl: "https://youserverurl.1.com"
};
TDAnalytics.init(config_1);
//初始化配置2
var config_2 = {
appId: "app-id-2",
serverUrl: "https://youserverurl.2.com"
};
TDAnalytics.init(config_2);
//上报事件到配置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');
如果需要每个实例的持久化数据分开存储,可以在config中设置persistenceName自定义存储路径
var config = {
appId: "app-id-1",
serverUrl: "https://youserverurl.1.com",
persistenceName:"persistence_name" //可以自定义,每个实例需要不一致
};
TDAnalytics.init(config);
如果您需要给同一个AppId创建子实例,可以使用initInstance设置实例别名,这两个实例上报数据到同一个appId,但是使用不同的初始化配置信息。例如配置1使用的是普通模式上报数据,配置2使用Batch模式上报数据。
示例代码如下:
//初始化配置1
TDAnalytics.init({
appId: "app-id-1",
serverUrl: "https://youserverurl.1.com"
});
//初始化配置2
TDAnalytics.initInstance("td",{
appId: "app-id-1",
serverUrl: "https://youserverurl.1.com",
enableBatch: true
});
这篇文档对你有帮助吗?

