帮助中心 > 技术文档 > 客户端SDK > 小程序 SDK > 微信小程序 SDK >SDK接入

微信小程序SDK接入流程主要分为两个步骤(两个文档)

1、SDK配置:将对应的SDK集成到您的产品项目中,然后进行初始化代码处理;
2、SDK接入:将需要埋点的数据,按照SDK包装不同的方法进行数据上送,其中功能主要包含两大类:全埋点(自动采集数据上送)、自定义埋点(手动设置业务数据上送)。


1.开启全埋点

初始化SDK时,可以通过设置autoTrack参数配置小程序的全埋点功能,更多配置可以参考【全埋点

// 配置初始化参数
hn.init({
    name: 'hn',
    // 配置采集上报地址URL(在线申请),注意:从海纳嗨数平台上获取对应项目的数据上报地址;
    serverUrl: '采集上报地址URL',
    // 全埋点控制开关
    autoTrack:{
        appLaunch: true,            // 默认为 truefalse 则关闭 H_MPLaunch 事件采集
        appShow: true,              // 默认为 truefalse 则关闭 H_MPShow 事件采集
        appHide: true,              // 默认为 truefalse 则关闭 H_MPHide 事件采集
        pageShow: true,             // 默认为 truefalse 则关闭 H_MPViewScreen 事件采集
        pageShare: true,            // 默认为 truefalse 则关闭 H_MPShare 事件采集
        mpClick: false,             // 默认为 falsetrue 则开启 H_MPClick 事件采集
        mpFavorite: true,           // 默认为 truefalse 则关闭 H_MPAddFavorites 事件采集
        pageLeave: false            // 默认为 falsetrue 则开启 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. 调试查看事件信息

测试阶段在初始化代码中设置 showLogtrue,页面上有事件触发时,浏览器开发者工具会打印采集的事件信息

    hina.init({
        ...
        serverUrl: 'xxx',
        showLog: true
        ...
    })
作者:邓昊  创建时间:2023-02-28 16:13
最后编辑:刘建雄  更新时间:2024-11-20 17:38