埋点tracker:前端埋点服务-技术要点梳理
![](/assets/blank.gif)
事件 | 描述 |
click | 点击事件,打开页面 |
search | 搜索事件 |
download | 下载事件 |
save | 修改、保存 |
view | 查看事件、查看数据详情 |
refund | 退款事件 |
create | 新增事件 |
login | 登录事件 |
logout | 退出事件 |
export default ({ app, store }) => {let startTime = Date.now() // 刷新页面,记录时间戳let endTime = ''app.router.afterEach((to, from) => { // 后置守卫endTime = Date.now() // 准备切换页面,记录时间戳if(from.fullPath !== "/"){ // from.fullPath 页面停留时长console.log('time:', (endTime - startTime) / 1000)app.store.dispatch('submitTracker');}routerHandle(to.path, store, true, to);startTime = Date.now() // 页面加载完成,记录时间戳});window.addEventListener('beforeunload', e => { // 页面刷新 或关闭 都会执行这个事件// 打开后会弹窗阻止继续执行// e.preventDefault() // e.returnValue = ''app.store.dispatch('submitTracker');});
};
plugins: [{src: '../m-front-common/pc/plugins/viewer'},
]
七、判断页面是刷新还是关闭
function () {let beforeUnloadTime = 0, unloadTime = 0// 窗口关闭或刷新时候的操作window.addEventListener('beforeunload', (event) => {beforeUnloadTime = new Date().getTime()});window.addEventListener('unload', (event) => {unloadTime = new Date().getTime()console.log(unloadTime - beforeUnloadTime )// 刷新时onbeforeunload与onunload的时间差一般都远大于5ms,从而区分关闭还是刷新if (unloadTime - beforeUnloadTime <= 5) {console.log('关闭')} else {console.log('刷新')}})
}
八、visibilitychange事件,浏览器tab状态
document.addEventListener('visibilitychange',function(e){console.log(document.visibilityState);let state = document.visibilityStateif(state == 'hidden'){console.log(document.visibilityState,'用户离开了');}if(state == 'visible'){console.log(document.visibilityState,'用户回来了');}
});
九、接口请求的统计
统计接口调用次数
接口是在哪个 子系统+导航菜单+业务菜单+接口 调用的(上下文)
每调用一个后端接口,伴随着调用一个“上报接口”,上报数据
if (!apiUrl.includes('config/manage/byKeys')) { // 请求成功后,判断不是业务接口,是上报接口,调用上报store.dispatch('submitTracker');
}
return Promise.resolve(response)// 经过测试,接口调用成功
// 在axios封装中的context中可以获取到store、axios等信息
// const { $axios, store: $store } = context
navigator.sendBeacon(url, data);
XHR方法需要使用AJAX 通信改成同步发送,即只有发送完成,页面才能卸载。
navigator.sendBeacon 页面关闭也会完成请求
1、部署私有化 Matomo 服务。
其中部署私有化服务只需要下载 Matomo 的程序并上传到服务端,然后打开访问地址就可以使用引导程序部署服务,包括检测服务器环境是否符合要求,填写数据库信息,创建管理账号等,具体参考官方文档。
2、在需要流量统计ide页面上引入追踪器。
![](/assets/blank.gif)
nuxt2项目集成Matomo
plugins/vue-matomo.js
import Vue from 'vue'
import VueMatomo from 'vue-matomo'
export default ({ app }) => {Vue.use(VueMatomo, {router: app.router,host: 'https://abc.com/', // 自己网站siteId: '1' // id})
}
nuxt.config.js
plugins: [{ src: './plugins/vue-matomo.js', ssr: false }
]
查看数据
看到访问的数据,成功。
记录三、用户访问轨迹,用户画像
待补充
vue 监听浏览器网页关闭和网页刷新事件_vue页面刷新事件_衫裤泡露的博客-CSDN博客
埋点tracker:前端埋点服务-技术要点梳理相关推荐
- Java并发技术要点梳理
写在前面: Java并发这块内容无论是在工作中还是面试中都是常见而且实用的重点,推荐将本文一些关键代码自己运行一遍,以查看实际效果,这里推荐一个在线运行Java代码的网站 基本概念 名词解释 CPU线 ...
- 埋点tracker:前端数据埋点-方案设计思路梳理
一.理解埋点 所谓埋点就是在应用中特定的流程收集一些信息,用来跟踪应用使用的状况,后续用来进一步优化产品或是提供运营的数据支撑,包括访问数(Visits),访客数(Visitor),停留时长(Time ...
- 前端埋点和后端埋点能分开使用吗?【数据埋点介绍】
数据埋点是数据采集的一种重要方式,主要用来记录和收集终端用户的操作行为,其基本原理是在App/H5/PC等终端部署采集的SDK代码,当用户的行为满足某种条件的时候,比如进入某个页面.点击某个按钮等,会 ...
- 代码埋点、可视化埋点、无埋点几种数据埋点方案的分析报告
目录 数据采集的核心问题 一.埋点是什么 二.为什么要埋点 三.埋点有哪些方式 四.各埋点方式优劣对比 五.其他 在这篇文章里面,我们会对数据采集的一些基本概念进行阐述,然后,会针对目前市面上新增的一 ...
- python 埋点_数据埋点方案简述
数据是机器学习的前提,前面使用Python爬虫抓取数据篇介绍了通过爬虫抓取网页的方式采集数据.对于新产品,最重要的事项是获取用户,参看前面互联网产品怎么发掘种子用户和意见领袖 这篇. 在产品上线之后, ...
- 前端埋点的缺点_【埋点学习埋点质量】埋点的框架设计及其准确性
是新朋友吗?记得先点蓝字关注我哦- 通过前两章<送你一份埋点需求分析&设计埋点方案><一份规范的埋点需求文档该如何写?>,我们已经足够了解埋点,并且能够输出埋点文档了. ...
- 知乎客户端埋点流程、模型和平台技术
埋点作为商业智能(BI)和人工智能(AI)体系中重要的一环,是公司提升产品工程质量.实施AB Testing.个性化推荐服务重要的数据来源.在传统的纯Web 和Native 开发的产品中,埋点从技术的 ...
- 前端埋点数据收集及上报方案
本文作者:随风丶逆风 本文链接:https://juejin.cn/post/6938075086737899534 什么是埋点 埋点,它的学名是事件追踪(Event Tracking),主要是针对特 ...
- 前端埋点数据收集及上报方案实战
什么是埋点 埋点,它的学名是事件追踪(Event Tracking),主要是针对特定用户行为或业务过程进行捕获.处理和发送的相关技术及实施过程.埋点是数据领域的一个专业术语,也是互联网领域的一个俗称. ...
最新文章
- 原理剖析-Netty之服务端启动工作原理分析(上)
- yum 卸载php及依赖包,yum使用指南-软件卸载、安装、更新、获取软件包
- 程序员谈敏捷开发团队里成员间的相互信任
- Iphone 手机如何导入/导出通讯录
- 整型数据类型存储空间大小(信息学奥赛一本通-T1016)
- vtkSuperquadricSource:创建以原点为中心的多边形超二次曲面
- 马化腾首次回应反垄断;乔布斯 1973 年求职申请表被拍出22.24万美元;英特尔新CEO表示很乐意为苹果代工 | 极客头条...
- Access数据库语句大全
- HSQLDB数据库使用介绍
- 大数据平台搭建技术底座 四行业迎来新机遇
- 另外一台电脑打开html,有的网页你打不开,在别的电脑就能打开,这样处理就解决了...
- 一直激励我的一个故事--驴子的故事
- c#与汇川机器人通讯_C#与西门子PLC通讯
- thinkphp6+layui BBS社区论坛系统源码分享,支持适配移动端附截图
- 香港主机如何设置网站404页面
- windows使用scp远程传输文件的方法
- php imagick加GD实现gif图换脸动画生成表情包制作功能
- TPM、TCM分别是什么?
- Matlab 2014a安装文件下载、安装教程及破解教程!!!
- 计算机中的二进制实验报告,大学计算机实验报告(共5篇).doc
热门文章
- 大四学生“毕业焦虑”“迷茫”,想做软件测试岗,要如何系统的学习
- linux psycopg2,在unix上为python 3.5安装psycopg2包
- 电子商务平台中不可或缺的一环:详谈智能签章技术方案
- 四川文化传媒职业学院计算机考试题,四川文化传媒职业学院期末考题:看照片正确书写老师名字...
- 淘宝html 表格,Html中的table包括 caption、col、colgroup、thead、tfoot 以及 tbody
- 在「星图地球开发者平台」怎么使用表格组件?(附视频教程)
- 王者荣耀s22服务器未响应是什么意思,王者荣耀s22更新后卡顿怎么办 王者荣耀破晓版本进不去解决方法...
- 输入摄氏度温度值,转化为华氏温度值并输出
- 技术人攻略访谈三十八|许式伟:十一年逆流顺流,首席架构师到CEO
- android 信封打开动画,CSS3 信封打开动画