帮助中心 > 技术文档 > 服务端SDK > C# SDK > SDK接入

C# SDK接入流程主要分为两个步骤(两个文档)

1、SDK配置:将对应的SDK集成到您的产品项目中,然后进行初始化代码处理;
2、SDK接入:将需要上报的业务数据,按照SDK中对应的的方法进行数据上送。


1. 发送事件示例

//url配置采集上报地址URL(在线申请),获取步骤请查看如下【[采集上报地址获取] 链接
string url = "数据接收地址";
//1.初始化
HinaSdk hinaSdk = HinaSdk.Init(url, 1, true);

//2.注册全局属性
Dictionary<string, object> map1 = new Dictionary<string, object>();
map1.Add("H_os", "macos");
map1.Add("H_ip", "10.0.70.123");
hinaSdk.RegisterSuperProperties(map1);

//3.发送事件,未登录
string anonymousId = Guid.NewGuid().ToString();
Dictionary<string, object> map2 = new Dictionary<string, object>();
map2.Add("cat_name", "zhaoshang123");
map2.Add("pay_type", "online888");
map2.Add("pay_money", 25888);
long time1 = DateUtil.GetTimeStamp();
hinaSdk.SendEvent(anonymousId, "dotnet_test_event", map2, false, time1);

//4.登录后,发送事件
//4.1 登录
string accountId = "1220991856778869";
hinaSdk.BindId(accountId, anonymousId);

//4.2 登录后发送事件
Dictionary<string, object> map3 = new Dictionary<string, object>();
map3.Add("cat_name", "zhaoshang124");
map3.Add("pay_type", "online889");
map3.Add("pay_money", 25889);
long time2 = DateUtil.GetTimeStamp();
hinaSdk.SendEvent(accountId, "dotnet_test_event", map3, true, time2);

注意:
1、“数据接收地址”获取方式,请参考【采集上报地址获取
2、方法参数,详见【SDK接入

2. 设置用户ID

SDK 实例登录前使用匿名ID发送事件,登录后使用登录后ID发送事件,用户登录后,可以将登录ID和匿名ID绑定

hinaSdk.BindId("登录ID","匿名ID")

参数解释:

参数 默认值 说明
userUId string 登录ID
anonymousId string 匿名ID

3. 设置用户属性

3.1 设置用户属性

直接设置用户的属性,如果存在则覆盖

hinaSdk.UserSet("用户ID",用户属性)

参数解释:

参数 默认值 说明
userUid string 用户ID
data Dictionary<string, object> 用户属性

样例:

// 设置用户属性
Dictionary<string, object> map = new Dictionary<string, object>();
map.Add("name", "zhangsan");
map.Add("age", 20);
map.Add("sex", "male");
hinaSdk.UserSet(ACCOUNT_ID, map);

3.2 固定初始值的属性

如果不存在则设置,存在就不设置

hinaSdk.UserSetOnce("用户ID", 用户属性);

参数解释:

参数 默认值 说明
userUid String 您平台用户唯一标识
data Dictionary<string, object> 用户属性

样例:

 Dictionary<string, object> map = new Dictionary<string, object>();
 map.Add("name", "cheyt");
 map.Add("age", 18);
 map.Add("sex", "male");
 hinaSdk.UserSetOnce(ACCOUNT_ID, map);

3.3 数值类型的属性

对当前用户的属性做递增或者递减

hinaSdk.UserAdd("用户ID", key, value)

参数解释:

参数 默认值 说明
userUid String 您平台用户唯一标识
key String 属性KEY
value Number 属性值,数值型

样例:

 hinaSdk.UserAdd(ACCOUNT_ID, "age",1);

3.4 属性取消

删除当前用户的一些属性

hinaSdk.UserUnset("用户ID",key)

参数解释:

参数 默认值 说明
userUid String 您平台用户唯一标识
key String 键值

样例:

 hinaSdk.UserUnset(ACCOUNT_ID, "sex");

4 设置公共事件属性

对于所有事件都需要添加的属性,可在初始化 SDK 后,调用 RegisterCommonProperties 将属性注册为公共属性

hinaSdk.RegisterSuperProperties(data);

参数解释:

参数 默认值 说明
data Dictionary<string, object> 属性值集合

样例:

 Dictionary<string, object> map1 = new Dictionary<string, object>();
 map1.Add("H_os", "macos");
 map1.Add("H_ip", "10.0.70.123");
 map1.Add("tuze_test_version", "tu_12399");
 map1.Add("H_timezone_offset", "-480");
 hinaSdk.RegisterSuperProperties(map1);

5. 发送事件

在 SDK 初始化完成之后,您就可以进行数据埋点,收集用户的的行为信息,可以调用 SendEvent 来上传事件,以下是示例

hinaSdk.SendEvent(userUid, "事件名称", map, true, time);

参数解释:

参数 默认值 说明
userUid String 您平台用户唯一标识
eventName String 事件名称
data Dictionary<string, object> 事件数据
isLogin boolean 是否登录
time long 时间戳

样例:

 Dictionary<string, object> map = new Dictionary<string, object>();
 map.Add("cat_name", "zhaoshang123");
 map.Add("pay_type", "online888");
 long time1 = DateUtil.GetTimeStamp();
 hinaSdk.SendEvent(anonymous_id, "dotnet_test_event", map, false, time1);
作者:陈云涛  创建时间:2023-11-13 10:06
最后编辑:陈云涛  更新时间:2024-09-05 21:06