menu
Is this helpful?

# 多实例

# 一、创建多实例

在实际的业务中,如果你期望把数据发送到多个项目,可以使用我们提供的多实例功能。

传入不同的项目信息完成 SDK 初始化,即可创建多个 SDK 实例。

//多实例初始化
TDConfig tdConfig_1 = new TDConfig(appId_1, serverUrl_2);
TDConfig tdConfig_2 = new TDConfig(appId_2, serverUrl_2);
//初始化第一个实例
TDAnalytics.Init(tdConfig_1);
//初始化第二个实例
TDAnalytics.Init(tdConfig_2);
//使用多实例进行数据埋点
Dictionary<string, object> properties = new Dictionary<string, object>(){
    {"product_name", "商品名")}
};
//使用第一个实例上报数据
TDAnalytics.Track("product_buy", properties, appId_1);
//使用第二个实例上报数据
TDAnalytics.Track("product_buy", properties, appId_2);
//如果不传项目ID,将默认使用第一个实例上报数据
TDAnalytics.Track("product_buy", properties);

访客 ID、账户 ID、公共属性等在多项目中不共享,需要为每个 APP ID 实例单独进行设置。

# 二、创建轻实例

//首先创建一个SDK实例
TDAnalytics.Init("APPID", "SERVER");
//然后调用createLightInstance生成轻实例
string lightKey = TDAnalytics.LightInstance();
//再根据lightKey设置login信息、上报事件
TDAnalytics.Login("123ABCabc@thinkingdata.cn", lightKey);
TDAnalytics.Track("some_event", lightKey);

轻实例与父实例的 APPID、上报地址以及部分设置一致,但其他信息不共享。