1. 适配的小程序

本文档对下列小程序通用: 支付宝/钉钉、字节/抖音、百度、京东、快手、飞书、小红书、淘宝、QQ

  • 下载的 SDK 是在这个 Release 下的 /dist/ 目录中的小程序
  • 版本要求 >= v0.12.0 

2. 集成神策分析 SDK

2.1. 下载 SDK

  • GitHub Release 上获取相应的小程序 SDK 源码
  • 进入 /dist/ 目录后选择需要的小程序
目录mp-alipaymp-baidump-bytedancemp-feishump-jdmp-kuaishoump-qqmp-taobaomp-xiaohongshu
含义支付宝/钉钉百度字节/抖音飞书京东快手QQ淘宝小红书

其中 index.esm.js 是 ES Module 格式,index.cjs.js 是 CommonJS 格式,请根据需求自行选择。

例如您要集成 “ 字节/抖音 ” 的小程序 SDK。代码下载下来之后,集成文件  /dist/mp-bytedance/index.esm.js  即可。

2.2. 集成 SDK 并初始化

  • index.esm.js 文件放入小程序项目中
  • app.js 文件中通过 import 引入 SDK
// 此处 index.esm.js 文件路径需要根据项目实际情况设置
import sensors from 'index.esm.js';
sensors.init({
	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

注意

  • import 尽量写在 app.js 的前几行
  • init 需要在 import 后立即调用,中间不要存在异步等延迟操作,否则有可能导致全埋点事件不触发 
  • track 等 API 要在 sensors.init 之后再操作

3. SDK 基本配置

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

如下图所示获取数据接收地址:

server_url 的域名需要按照小程序的要求配置服务器域名白名单

3.2. 代码埋点追踪事件

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

sensors.track(event_name [,properties]);
JS

配置参数:

参数必填描述
event_name事件名称
properties为用户行为事件添加自定义属性,类型:Object。

示例:

// 为 click 事件添加自定义属性 name 值为点击。
sensors.track('click',{
	name: '点击'
});
JS

事件名和事件属性的格式规范,请参考数据格式

4. 调试查看事件信息

4.1. 事件的触发日志

setPara() 配置初始化参数时,通过 show_log: true 打开 Log 功能(默认开启)且 SDK 初始化完成(即 init() 接口调用)后,小程序开发者工具 console 会打印采集的数据信息:

4.2. 事件的发送情况

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

5. SDK 可选配置

5.1. 设置用户属性

setProfile( properties ): 可以设定用户属性,同一个 key 多次设置时,value 值会进行覆盖替换。

sensors.setProfile({
	email:'xxx@xx',
	favoriteFruits: ['苹果', '油桃'],
	subscribers: 7277
});
JS

5.2. 渠道追踪

用户通过含有 utm 相关参数的路径访问小程序时,预置事件 $MPLaunch、$MPShow 会解析启动路径中的 utm 相关参数作为自身的属性与属性值,并会设置 $latest_utm 相关属性到所有事件中,该特性在小程序的生命周期内有效;