需求
统计用户id(手机号)
统计按钮的点击数
统计页面的打开数量
判断是微信还是app的业务逻辑为例
$(function(){
var apiURL = '';//一般来说都会有接口的basic地址,方便切换生产,测试环境
var mobile = sessionStorage.getItem('mobile') || '';//获取到已经存入缓存的手机号
var isWX = /micromessenger/.test(navigator.userAgent.toLowerCase());//判断是否在微信
var page = {
init: function() {
if (isWX) {
this.getMobile();
//微信得到手机号的方法
} else {
App.applymobile();
//app得到手机号的方法
}
this.bindEvent();
},
bindEvent: function() {
var self = this;
//点击时的埋点方法并跳转,注意移动端这里最好使用tap方法
$(document).on('tap', '#egBtn', function() {
var href="" //这里填写需要跳转的链接
self.analysis('analysisName', href);
return false;
});
},
getMobile: function() { //这里写获取手机号的方法
if (mobile) {
this.analysis('page-browsed');
return;
}
var postData = {
wxInx: "",//获取手机号所需参数
code: "",//获取手机号所需参数
};
var durl ="";//获取手机号的接口
$.ajax({
url: durl,
type: 'post',
data: JSON.stringify(postData),
dataType: 'json',
contentType: 'application/json; charset=UTF-8',
success: function (res) {
if(res.result == 'true' && res.errorcode == '00') {
//接口返回的mobile
mobile = res.mobile;
//获取到接口的数据 存如缓存
sessionStorage.setItem('mobile', mobile);
//进入页面的埋点
self.analysis('page-browsed');
}
},
error: function (res) {
}
});
},
analysis: function(tag,href) { //埋点方法
var channel;
var self = this;
var durl = "" //埋点接口
var postData = {
mobile: mobile,
businessId: '',//约定好的参数
channelCode: '',//约定好的参数
pageNo: '',//约定好的参数
dataNo: channel + tag //约定好的参数,根据情况而变
};
if (tag == 'page-browsed') {
//如果是进入页面的埋点,dataNo会是 "page-browsed,page-页面名称-browsed"的形式,这里也是看业务需求的字段
postData.dataNo = channel + 'page-'+ self.getCurrentPage() +'-browsed'
}
$.ajax({
url: durl,
type: 'post',
data: JSON.stringify(postData),
dataType: 'json',
contentType: 'application/json; charset=UTF-8',
success: function() {
if (tag != 'page-browsed' && href) {
//点击按钮埋点成功之后 跳转
location.href = href;
}
},
error: function() {
helper.loading(false);
}
});
}
};
//app里获取手机号,根据具体情况而定
var App = {
applymobile: function() {
window.onApplyMobile = function (json) {
if (json.mobile) {
mobile = json.mobile;
sessionStorage.setItem('mobile', mobile);
page.analysis('page-browsed');
}
}
}
};
page.init();
});
主要的业务逻辑就是 进入页面– 获取手机号(同时根据手机号方法里埋点),点击按钮则是直接调用