sa-sdk-bytedancemini 仓库升级至 sa-sdk-mini 仓库,进行代码统一迭代管理。
  • sa-sdk-mini 仓库新增了全埋点 - 页面离开,下线了已经废弃的 sa.getPresetProperties、sa.getAnonymousID API。

  • sa-sdk-bytedancemini 仓库不再更新维护,如需使用老版 SDK,请前往老版SDK

1. 集成神策分析 SDK

1.1. 引入 SDK

  • GitHubmp-bytedance 目录获取小程序 SDK 源码;
  • index.esm.js 文件放入小程序项目中;
  • app.js 文件中通过 import 引入 SDK。
import sensors from '/dist/mp-bytedance/index.esm';
JS

1.2. 初始化 SDK

调用 init() 方法来初始化 SDK

sensors.init({
	name: 'sensors',
	server_url: '您的数据接收地址',
	// 全埋点控制开关
	autoTrack: {},
	// 自定义渠道追踪参数,如source_channel: ["custom_param"]
	source_channel: [],
	// 是否允许控制台打印查看埋点数据(建议开启查看)
	show_log: true
});
JS

2. SDK 基本配置

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

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

获取到数据接收地址之后在 setPara 接口中设置 server_urlserver_url 的域名需要按照字节跳动小程序要求(https://microapp.bytedance.com/docs/zh-CN/mini-app/develop/guide/basic-ability/network)配置小程序 request 合法域名。

2.2. 开启全埋点

autoTrack 可用于配置需要开启的全埋点类型:

sensors.init({
	autoTrack:{ 
		appLaunch: true, // 默认为 true,false 则关闭 $MPLaunch 事件采集
		appShow: true, // 默认为 true,false 则关闭 $MPShow 事件采集
		appHide: true, // 默认为 true,false 则关闭 $MPHide 事件采集
		pageShow: true, // 默认为 true,false 则关闭 $MPViewScreen 事件采集
		mpClick: true // 默认为 true,false 则关闭 $MPClick 事件采集
	}

	/**
	 * 其他配置
	 */
});
JS

2.3. 设置事件公共属性

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

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

2.4. 用户登录

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

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

2.5. 代码埋点追踪事件

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. 渠道追踪

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