1. 集成神策分析 SDK


1.1. 引入 SDK

  • GitHub 上获取支付宝小程序 SDK 源码
  • 将 sensorsdata.autotrack.es6.min.js 文件放入小程序项目中
  • app.js 文件中通过 import 引入 SDK
// 此处 sensorsdata.autotrack.es6.min.js 文件路径需要根据项目实际情况设置
import sensors from 'sensorsdata.autotrack.es6.min.js'
sensors.setPara({
	name: 'sensors',
	server_url: '数据接收地址',
})
sensors.init();
JS

1.2. 设置初始化参数,开启全埋点

// 此处 sensorsdata.autotrack.es6.min.js 文件路径需要根据项目实际情况设置
import sensors from 'sensorsdata.autotrack.es6.min.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

// 此处 sensorsdata.autotrack.es6.min.js 文件路径需要根据项目实际情况设置
import sensors from 'sensorsdata.autotrack.es6.min.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

1.1. 引入 SDK

  • GitHub 上获取支付宝小程序 SDK 源码
  • 将 sensorsdata.autotrack.es6.min.js 文件放入小程序项目中
  • app.js 文件中通过 import 引入 SDK
// 此处 sensorsdata.autotrack.es6.min.js 文件路径需要根据项目实际情况设置
import sensors from 'sensorsdata.autotrack.es6.min.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

1.2. 开启全埋点

  • 在 app.js 中用 $global.saAlipay.App() 来代替 App() ;
  • 在其他页面逻辑 js 文件中用 $global.saAlipay.Page() 来代替 Page();
// 此处 sensorsdata.autotrack.es6.min.js 文件路径需要根据项目实际情况设置
import sensors from 'sensorsdata.autotrack.es6.min.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 不采集。
	}
})

// 用 $global.saAlipay.App 来代替 App
$global.saAlipay.App({
  
});
// 用 $global.saAlipay.Page 来代替 Page
$global.saAlipay.Page({
  
})
JS

1.3. 初始化 SDK

index.js

// 此处 sensorsdata.autotrack.es6.min.js 文件路径需要根据项目实际情况设置
import sensors from 'sensorsdata.autotrack.es6.min.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 不采集。
	}
})

// 初始化 SDK
sensors.init();

// 用 $global.saAlipay.App 来代替 App
$global.saAlipay.App({
  
});
// 用 $global.saAlipay.Page 来代替 Page
$global.saAlipay.Page({
  
})
JS

2. SDK 基本配置

2.1. 配置项目数据接收地址

神策分析 v2.2 以上可如下图所示获取数据接收地址,其他版本获取数据接收地址,可切换文档版本查看:

获取到数据接收地址之后在 setPara 接口中设置 server_url,server_url 的域名需要按照支付宝小程序要求(https://opensupport.alipay.com/support/knowledge/39202/201602409638?ant_source=zsearch)配置服务器域名白名单。

2.2. 设置事件公共属性

对于所有事件都需要添加的属性,可在初始化 SDK 前,调用 registerApp() 将属性注册为公共属性:

sensors.registerApp({
	userLever: 'VIP3',
	userSex: '男'
});
JS

2.3. 用户登录

当用户注册成功或者登录成功时,需要调用 login() 方法传入登录 ID:

sensors.login("登录 ID");
JS

对于自动登录的用户,可以在 SDK 初始化前,获取登录 ID 并调用 login() 方法。

2.4. 代码埋点追踪事件

可通过 track() 方法追踪用户行为事件,并为事件添加自定义属性:

getApp().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_* 以外的自定义参数( v1.0.18 及以上)。