微信小程序 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);

通过上面的示例,可以在任意流程进行事件埋点

results matching ""

    No results matching ""