微信小程序 SDK
一、集成SDK
1、通过 maven 集成SDK
<dependency>
<groupId>com.esmartwave.tracking.javasdk</groupId>
<artifactId>TrackingSystemSDK</artifactId>
<version>2.0.0</version>
</dependency>
2、通过 gradle 集成SDK
dependencies {
compile 'com.esmartwave.tracking.javasdk:TrackingSystemSDK:2.0.0'
}
二、SDK初始化
在程序启动时(如 public static void main(String[] args) 方法中),调用 TrackingLogSystem.createInstance(logConfig); 根据配置初始化 Java SDK 实例 (全局初始化一次即可),后续如需调用实例方法,可调用TrackingLogSystem.getLastInstance();获取实例。
LogConfig可设置属性,设置后的属性会附加在上报的数据中
属性 | 数据类型 | 描述 |
---|---|---|
appKey | String | TrackingSystem给接入应用分配的唯一标识,测试、生产的app_key不一样 |
tsApp | String | 埋点设置的应用标识,可以是中文 |
tsExt | Map |
自定义拓展key/value属性 |
serverUrl | String | 数据上报地址,默认值为TrackingSystem系统的上报地址 |
debug | boolean | 调试模式,控制是否打印调试日志 |
示例
// 初始化配置
LogConfig logConfig = new LogConfig();
// 应用app_key - 必须
logConfig.setAppKey("qa1667198054050");
// 数据接收URL - 非必须 默认为tracking-api数据接收URL
// logConfig.setServerUrl("https://tsapiqa.escase.cn/batchCode");
// 是否打印调试日志 - 非必须 默认不打印
logConfig.setDebug(true);
// 应用标识/名称 - 非必须
logConfig.setTsApp("应用标识");
// 应用自定义拓展属性 - 非必须
Map<String, Object> tsExt = new HashMap();
tsExt.put("name", "ZhangSan");
tsExt.put("age", "18");
logConfig.setTsExt(tsExt);
// 初始化SDK对象
TrackingLogSystem instance = TrackingLogSystem.createInstance(logConfig);
三、设置用户属性
在sdk初始化后,用户登录时可调用setUserInfo方法设置用户属性,后续sdk在上报行为数据时便会附带用户属性以标识用户,用于统计UV等数据。
参数说明:JsonObject,只支持以下属性的设置:
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
guid | String | 是 | 业务系统用户唯一标识(如果使用open_id作为用户标识,则值与open_id一致) |
open_id | String | 是 | 用户open_id |
union_id | String | 否 | 用户union_id |
real_name | String | 否 | 真实姓名 |
nick_name | String | 否 | 昵称 |
age | Number | 否 | 年龄 |
birthday | String | 否 | 生日 |
gender | String | 否 | 性别: 男/女 |
account | String | 否 | 账号 |
country | String | 否 | 国家 |
province | String | 否 | 省份 |
city | String | 否 | 城市 |
示例
// 获取sdk实例
TrackingLogSystem ts = TrackingLogSystem.getLastInstance();
// 设置用户信息
UserInfo userInfo = UserInfo.builder()
.guid("1861087XXXX")
.nickName("张三")
.age(18)
.build();
ts.setUserInfo(userInfo);
四、自定义事件埋码
sdk 初始化后,通过调用 event
方法自定义事件上报用户行为,并可为事件添加自定义事件属性
接口参数类型:JsonObject JsonObject中的每个参数如下
- event_name:String 事件名称,必须
- event_param:JsonObject 事件属性,非必须
事件埋点示例
// 获取sdk实例
TrackingLogSystem ts = TrackingLogSystem.getLastInstance();
// 自定义事件及属性
// 登录
LogEvent login = LogEvent.builder()
.eventName("用户登录")
.addProperty("phone", "18610871383")
.build();
ts.addEvent(login);
// 商品详情
LogEvent goodsDetail = LogEvent.builder()
.eventName("商品详情")
.addProperty("skuId", "1231213")
.addProperty("skuName", "1231213")
.build();
ts.addEvent(goodsDetail);
通过上面的示例,可以在任意流程进行事件埋点