1. 集成神策分析 SDK

1.1. 导入 SDK

  • GitHub 上获取微信小游戏 SDK 源码
  • 将 sensorsdata.es6.min.js 文件放入小游戏项目中
  • game.js 文件中通过 import 引入 SDK
import sa from 'sensorsdata.es6.min.js'
JAVASCRIPT
  • GitHub上获取微信小游戏 SDK 源码
  • sensorsdata.min.js 文件放入小游戏项目中
  • 在 game.js 中通过 require() 引入 SDK
var sa = require('./uitl/sensorsdata.min.js')
JAVASCRIPT
  • GitHub上获取微信小游戏 SDK 源码
  • sensorsdata.min.js 文件放入小游戏目录中(一般为 assets 目录)
  • 初始场景文件中通过 require() 引入文件
var sa = require('../assets/sensorsdata.min.js')
JAVASCRIPT
  • 微信小游戏 SDK 压缩文件 sensorsdata.min.js 大小约为 25 KB
  • 直接访问 sensors 对象需要等到 SDK 注入完毕,在 SDK 没有注入完毕时调用 track() 方法会报错

1.2. 配置初始化参数

引入 SDK 后,可通过 setPara() 可进行 SDK 初始化参数配置:

sa.setPara({
    name: 'sensors',
    server_url: '数据接收地址',
    // 全埋点控制开关
    autoTrack: {},
    // 是否允许修改 onShareAppMessage 里 return 的 query,用来增加(分享者 id,分享层级),在 $MPLaunch 和 $MPShow 事件中自动获取这些参数来查看具体分享来源、层级等
    allow_amend_share_path: true
});
JS

1.3. 初始化 SDK

setPara() 配置初始化参数后,可调用 init() 方法来初始化 SDK:

// 初始化 SDK
sa.init();
JS

在调用 init() 接口之前,采集的数据被缓存在内存中;调用 init() 接口后,会将缓存的数据通过网络发送出去。

2. SDK 基本配置

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

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

获取到数据接收地址之后在 setPara 接口中设置 server_url,server_url 的域名需要按照微信小游戏要求(https://developers.weixin.qq.com/minigame/dev/guide/base-ability/network.html)配置服务器 request 合法域名。

2.2. 开启全埋点

setPara() 函数中 autoTrack 可用于配置需要开启的全埋点类型:

sa.setPara({
	autoTrack:{ 
		appLaunch:true, // 默认为 true,false 则关闭 $MPLaunch 事件采集
		appShow:true, // 默认为 true,false 则关闭 $MPShow 事件采集
		appHide:true, // 默认为 true,false 则关闭 $MPHide 事件采集
	}

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

全埋点采集时机,可参考全埋点采集逻辑

2.3. 设置事件公共属性

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

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

2.4. 用户登录

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

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

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

2.5. 代码埋点追踪事件

在文件顶部使用 import 引入 SDK 文件,然后调用 track() 方法:

sa.track('click',{
	name: '点击'
});

JS

3. 调试查看事件信息

3.1. 事件的触发日志

setPara() 配置初始化参数时,通过 show_log: true 打开 Log 功能后(默认开启),微信开发者工具 console 会打印采集的数据信息:

3.2. 事件的发送情况

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

4. SDK 可选配置

4.1. 设置用户属性

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

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