支付宝小程序 SDK 在 v1.1.8 及以上版本兼容钉钉小程序。
sa-sdk-alipaymini 仓库升级至 sa-sdk-mini 仓库进行代码统一迭代管理。
- sa-sdk-mini 仓库支持 ID3 全域用户关联,下线 sa.appLaunch、sa.appShow、sa.appHide、sa.pageShow、sa.pageLoad API。
- sa-sdk-alipaymini 仓库不再更新维护,如需使用老版 SDK,请前往老版SDK。
1. 集成神策分析 SDK
1.1. 引入 SDK
- 从 GitHub 上获取支付宝小程序 SDK 源码;
- 将 index.esm.js 文件放入小程序项目中;
- 在 app.js 文件中通过 import 引入 SDK。
// 此处 index.esm.js 文件路径需要根据项目实际情况设置
import sensors from 'index.min.js'
sensors.setPara({
name: 'sensors',
server_url: '数据接收地址',
})
sensors.init();
JS
1.2. 设置初始化参数,开启全埋点
// 此处 index.esm.js 文件路径需要根据项目实际情况设置
import sensors from 'index.esm.js'
sensors.setPara({
name: 'sensors',
server_url: '数据接收地址',
// 预置事件采集配置开关,默认为 true
autoTrack:{
appLaunch: true, //是否采集 $MPLaunch 事件,true 代表采集,false 不采集。
appShow: true, //是否采集 $MPShow 事件,true 代表采集,false 不采集。
appHide: true, //是否采集 $MPHide 事件,true 代表采集,false 不采集。
pageShow: true, //是否采集 $MPViewScreen 事件,true 代表采集,false 不采集。
mpClick: true //是否采集 $MPClick 事件,true 代表采集,false 不采集。
}
})
JS
如果使用 Taro 框架开发小程序,需要在 sensors.setPara 中配置 framework 参数:sensors.setPara({ framework: {taro: Taro} })
1.3. 初始化 SDK
// 此处 index.esm.js 文件路径需要根据项目实际情况设置
import sensors from 'index.esm.js'
sensors.setPara({
name: 'sensors',
server_url: '数据接收地址',
// 预置事件采集配置开关,默认为 true
autoTrack:{
appLaunch: true, //是否采集 $MPLaunch 事件,true 代表采集,false 不采集。
appShow: true, //是否采集 $MPShow 事件,true 代表采集,false 不采集。
appHide: true, //是否采集 $MPHide 事件,true 代表采集,false 不采集。
pageShow: true, //是否采集 $MPViewScreen 事件,true 代表采集,false 不采集。
mpClick: true //是否采集 $MPClick 事件,true 代表采集,false 不采集。
}
})
sensors.init();
JS
- 详细的的初始化配置参数可参考小程序 SDK API 文档
- 建议通过 import 引入 SDK 后,立即调用 setPara() 来配置初始化参数,防止延迟配置导致元素点击事件处理函数无法被代理,预置元素点击事件无法采集;
- 在调用 init() 接口之前,采集的数据被缓存在内存中;调用 init() 接口后,会将缓存的数据通过网络发送出去。
2. SDK 基本配置
2.1. 配置项目数据接收地址
如下图所示获取数据接收地址:

2.2. 设置事件公共属性
对于所有事件都需要添加的属性,可在初始化 SDK 前,调用 registerApp() 将属性注册为公共属性:
sensors.registerApp({
userLever: 'VIP3',
userSex: '男'
});
JS
需要在 App 实例化之前调用 registerApp() 方法完成公共属性的注册,否则会导致部分数据采集不到注册的公共属性
2.3. 用户关联
用户关联是为了对用户进行唯一标识,提高用户行为分析的准确性。目前神策提供了简易用户关联和全域用户关联分为用于支撑不同的业务场景。
2.4. 代码埋点追踪事件
SDK 初始化后,可通过 track() 方法追踪用户行为事件,并为事件添加自定义属性:
sensors.track(event_name [,properties]);
JS
配置参数:
参数 | 必填 | 描述 |
---|
event_name | 是 | 事件名称 |
properties | 否 | 为用户行为事件添加自定义属性,类型:Object。 |
示例:
// 为 click 事件添加自定义属性 name 值为点击。
sensors.track('click',{
name: '点击'
});
JS
3. 调试查看事件信息
3.1. 事件的触发日志
setPara() 配置初始化参数时,通过 show_log: true 打开 Log 功能(默认开启)且 SDK 初始化完成(即 init() 接口调用)后,小程序开发者工具 console 会打印采集的数据信息:

3.2. 事件的发送情况
事件数据发送成功时,可以在小程序开发者工具的 Network 模块中,可以看到 sa 的请求:

4. SDK 可选配置
4.1. 设置用户属性
setProfile( properties ): 可以设定用户属性,同一个 key 多次设置时,value 值会进行覆盖替换。
sensors.setProfile({
email:'xxx@xx',
favoriteFruits: ['苹果', '油桃'],
subscribers: 7277
});
JS
4.2. 渠道追踪
- 用户通过含有 utm 相关参数的路径访问小程序时,预置事件 $MPLaunch、$MPShow 会解析启动路径中的 utm 相关参数作为自身的属性与属性值,并会设置 $latest_utm 相关属性到所有事件中,该特性在小程序的生命周期内有效;
- 支付宝小程序 SDK 支持解析除 utm_* 以外的自定义参数。
5. SDK API
更多小程序 API,可参考 SDK API (小程序)