一、前言
神策数据微信小程序 SDK[1],是一款轻量级用于微信小程序端的数据采集埋点 SDK,包含代码埋点、全埋点功能。其中,全埋点功能通过代理微信小程序原生 App、Page、Component 接口及相应生命周期函数来实现。下面将以 SDK 版本 v1.13.28[2] 为例介绍微信小程序 SDK 的架构。
二、基本原理
神策数据微信小程序 SDK 自开源以来,SDK 的代码和目录结构不断调整、优化。目前开源代码中存在 product 目录以及其他不同版本的源码文件,如图 2-1 所示:
图 2-1 微信小程序 SDK 源码目录
其中,几个主要目录的介绍如下:
-
/product:未压缩的源码文件;
-
/sensorsdata.custom.es6.min.js:支持 ES6 导入导出语法的自定义版 SDK 源码文件;
-
/sensorsdata.custom.min.js:支持 require 语法引入的自定义版 SDK 源码文件;
-
/sensorsdata.min.es6.js:支持 ES6 导入导出语法的全埋点版 SDK 源码文件;
-
/sensorsdata.min.js:支持 require 语法引入的全埋点版 SDK 源码文件。
三、数据流程
数据从采集到发送的流程如图 3-1 所示: