1 自定义埋点版小程序 SDK 说明
全埋点版本的 SDK 是通过代理小程序的 App 和 Page 方法实现的自动采集,但是因为代理这两个方法存在风险,另外可能某些用户不需要自动采集,这时候就强烈建议使用自定义采集的方法。
自定义埋点版小程序 SDK 提供了 quick() 方法来采集 $MPLaunch $MPShow $MPHide 三个预置事件,效果跟全埋点版本一致。
2 使用方法
2.1 下载文件
从 github 上下载 ,sensorsdata.custom.min.js 。
2.2 引入并配置参数
将 sensorsdata.custom.min.js 文件放到项目中,在 app.js 中通过 require() 方法引入,调用 setPara() 方法设置初始化参数; 调用 setPara() 方法设置初始化参数;
注意:必须在 require() 之后,立即调用 setPara() 方法设置,server_url 需在 setPara() 中配置。
------app.js
var sa= require('./utils/sensorsdata.min.js');
sa.setPara({
server_url: '数据接收地址'
});
2.3 标志初始化完成
调用init() 方法完成初始化。
------app.js
var sa = require('./utils/sensorsdata.min.js');
sa.setPara({
server_url: '数据接收地址'
});
sa.init();
2.4 赋值全局变量
在 onLuanch 生命周期函数中,将引入的 sa 赋值给一个全局变量,以便在小程序页面中可以调用。
------app.js
var sa = require('./utils/sensorsdata.min.js');
sa.setPara({
server_url: '数据接收地址'
});
sa.init();
App({
onLaunch : function( options ){
this.sensors = sa;
}
});
2.5 设置预置事件采集
如需采集预置事件,可在小程序相应生命周期函数中调用 quick() 方法来采集预置事件。
------app.js
var sa = require('./utils/sensorsdata.min.js');
sa.setPara({
server_url: '数据接收地址'
});
sa.init();
App({
onLaunch : function( options ){
this.sensors = sa;
sa.quick('appLaunch', options, {
appName : '神策分析小程序'
});
},
onShow : function( options ){
sa.quick('appShow', options, {
showTime : new Date()
});
},
onHide : function(){
sa.quick('appHide', {
eventDuration : 5000
});
}
});
3 方法说明
quick(option, args, [props])
说明:用来触发预置事件,为预置事件增加自定义属性
参数:
option : string ,预置事件配置名称,可选值 'appLuanch' | 'appShow' | 'appHide' ;
args : object ,小程序生命周期函数原生参数,没有原生参数时可以设置为要添加的自定义属性对象;
props : object ,要添加的自定义属性对象,该参数可选填;
示例:
------app.js
var sa = require('./utils/sensorsdata.min.js');
sa.setPara({
server_url: '数据接收地址'
});
sa.init();
App({
onLaunch : function( options ){
sa.quick('appLaunch', options, {
appName : '神策分析小程序'
});
}
onHide : function(){
sa.quick('appHide', {
eventDuration : 5000
});
}
});
track(eventName,[props])
说明:用来采集自定义事件
参数:
eventName : string ,自定义事件名称;
props : object ,自定义事件属性对象;
示例:
------index.js
var app = getApp();
Page({
click : function(){
// sensors 为在 app.js onLaunch 中设置的全局变量
app.sensors.track('bannerClick',{
bannerName : '顶部banner'
});
}
});
4 使用示例
------app.js
var sa = require('./utils/sensorsdata.min.js');
sa.setPara({
server_url: '数据接收地址'
});
sa.init();
//采集预置事件 $MPLaunch $MPShow $MPHide
App({
onLaunch : function( options ){
this.sensors = sa;
sa.quick('appLaunch', options, {
appName : '神策分析小程序'
});
},
onShow : function( options ){
sa.quick('appShow', options, {
showTime : new Date()
});
},
onHide : function(){
sa.quick('appHide', {
eventDuration : 5000
});
}
});
------index.js 等 js 文件中
var app = getApp();
Page({
onShow : function(){
//通过 track() 方法发送小程序页面浏览事件
app.sensors.track('$MPViewScreen',{
pageName : '首页'
});
}
});