SDK接入
帮助中心 > 技术文档 > 客户端SDK > 小程序 SDK > 微信小程序 SDK >SDK接入
微信小程序SDK接入流程主要分为两个步骤(两个文档):
1、SDK配置:将对应的SDK集成到您的产品项目中,然后进行初始化代码处理;
2、SDK接入:将需要埋点的数据,按照SDK包装不同的方法进行数据上送,其中功能主要包含两大类:全埋点(自动采集数据上送)、自定义埋点(手动设置业务数据上送)。
1.开启全埋点
初始化SDK时,可以通过设置autoTrack
参数配置小程序的全埋点功能,更多配置可以参考【全埋点】
// 配置初始化参数
hn.init({
name: 'hn',
// 配置采集上报地址URL(在线申请),注意:从海纳嗨数平台上获取对应项目的数据上报地址;
serverUrl: '采集上报地址URL',
// 全埋点控制开关
autoTrack:{
appLaunch: true, // 默认为 true,false 则关闭 H_MPLaunch 事件采集
appShow: true, // 默认为 true,false 则关闭 H_MPShow 事件采集
appHide: true, // 默认为 true,false 则关闭 H_MPHide 事件采集
pageShow: true, // 默认为 true,false 则关闭 H_MPViewScreen 事件采集
pageShare: true, // 默认为 true,false 则关闭 H_MPShare 事件采集
mpClick: false, // 默认为 false,true 则开启 H_MPClick 事件采集
mpFavorite: true, // 默认为 true,false 则关闭 H_MPAddFavorites 事件采集
pageLeave: false // 默认为 false, true 则开启 H_MPPageLeave事件采集
},
// 自定义渠道追踪参数,如 sourceChannel: ["custom_param"]
sourceChannel: [],
// 是否允许控制台打印查看埋点数据(建议开启查看)
showLog: true,
// 是否允许修改 onShareAppMessage 里 return 的 path,用来增加(登录 ID,分享层级,当前的 path),在 app onShow 中自动获取这些参数来查看具体分享来源、层级等
allowAmendSharePath: true
});
2. 用户关联
2.1 用户关联介绍
关联标记用户时,用户ID取值有两种:一种是设备ID(随机算法生成的匿名ID)、一类是登录ID(由用户自主设置的ID)
SDK默认会使用随机生成的字符串作为设备ID,并持久化存储设备ID在本地;用户未登录之前,会以设备ID作为身份识别ID。
注意:设备 ID 在本地缓存清理时会改变。
2.2 基本API介绍
2.2.1 用户登录关联
当用户注册成功或登录成功时,需要调用 SDK 的setUserUId方法,SDK优先以账号 ID 作为身份标识,设置后的账号 ID 将会被保存,多次调用 setUserUId 将会覆盖先前的账号 ID
// 用户的登录唯一标识,此数据对应上报数据里的 distinct_id
// 比如:登录手机号、登录邮箱、用户唯一主键值
hina.setUserUId("您平台用户唯一标识");
为了准确记录登录用户的行为信息,建议在以下时机各调用一次用户登录方法:
· 用户在注册成功时
· 用户登录成功时
· 已登录用户每次启动 App 时
2.2.2 获取设备唯一ID
小程序 SDK 提供了 getDeviceUId 接口来获取设备唯一ID
hina.getDeviceUId()
3.用户属性
3.1 用户属性设置
对于一般的用户属性,您可以调用 userSet
来进行设置,使用该接口上传的属性将会覆盖原有的属性值,如果之前不存在该用户属性,则会新建该用户属性
// 用户的登录唯一标识,此数据对应上报数据里的 distinct_id
// 比如:登录手机号、登录邮箱、用户唯一主键值
hina.setUserUId("您平台用户唯一标识");
为了准确记录登录用户的行为信息,建议在以下时机各调用一次用户登录方法:
· 用户在注册成功时
· 用户登录成功时
· 已登录用户每次启动 小程序 时
3.2 固定初始值的属性
对于需要保证只有首次设置时有效的属性,如用户首次充值金额、首次设置的昵称等,可以使用 userSetOnce
接口进行记录。与 userSet
方法不同的是,如果被设置的用户属性已存在,则这条记录会被忽略而不会覆盖已有数据,如果属性不存在则会自动创建。
// 设置用户属性 subscribers 为 1234
hina.userSetOnce({
email:'xxx@xx',
favoriteAni: ['狗', '猫咪'],
subscribers: 1234
});
// 再次设置用户属性 subscribers 为 9999 不生效,属性值仍然是 1234
hina.userSetOnce({
subscribers: 9999
});
3.3. 数值属性累加
针对一些数值型属性,如消费总额、用户积分等属性,我们可以使用 userAdd
对原值进行累加,神策会自动计算并保存累加之后的值。
// 设置用户订阅次数属性
hina.userAdd({
subscribers: 5
});
// 对用户订阅次数进行累加,此时在系统中查询 subscribers 属性值为 10
hina.userAdd({
subscribers: 5
});
4.发送事件
在 SDK 初始化完成之后,您就可以进行数据埋点,收集用户的的行为信息
4.1 自定义事件
说明:使用track()方法进行直接埋点,埋点事件支持添加自定义属性
//直接埋点,不含自定义属性,比如:点击“开始阅读”按钮;
hina.track("novel_read_btn_click");
//直接埋点,添加自定义属性,比如:点击“开始阅读”按钮,添加属性:小说id、小说的章节
hina.track(
//事件名称
'novel_read_btn_click ',
//需要上传的事件属性
{
novel_id: "1234567890 ",
novel_chapter : 3,
}
);
5.事件属性
5.1. 设置公共事件属性
公共事件属性指的就是每个事件都会带有的属性,您可以调用registerCommonProperties
来设置公共事件属性,我们推荐您在发送事件前,先设置公共事件属性.
hina.registerCommonProperties({
projectName: 'hina',
title: document.title
})
5.2 获取预置属性
某些情况下可能需要在前端获取 SDK 预置属性,SDK 支持使用 getPresetProperties 方法获取部分事件预置属性
// 获取事件预置属性
hina.getPresetProperties();
6. 调试查看事件信息
测试阶段在初始化代码中设置 showLog
为true
,页面上有事件触发时,浏览器开发者工具会打印采集的事件信息
hina.init({
...
serverUrl: 'xxx',
showLog: true
...
})
最后编辑:刘建雄 更新时间:2024-11-20 17:38