• 前端数据监控和上报


     在前端项目中,有时候需要统计页面点击量,或者用户行为的数据,所以就有了前端数据监控,通过数据监控,可以对用户行为进行分析,从而对业务的重点进行调整

    埋点方式分类

    手动埋点

    纯手动写代码,调用埋点SDK的函数,在需要埋点的业务逻辑功能位置调用接口上报埋点数据
    //命令式 
    // 按钮点击时发送埋点请求 
    $('button').click(()=>{
     // ... 业务逻辑 sendData(params); 
    }); 
    
    //声明式 
    <button data-mydata="{key:'uber_comt_share_ck', act: 'click',msg:{}}">打车</button> 
    //声明了自定义属性data-mydata,可以在SDK中去扫描和识别这些自定义属性,并解析封装数据,在SDK中按照自定义规则去绑定事件并发送埋点数据 
    //框架式
    //框架都有自己的各种生命周期,为了减少重复性的手动埋点次数,可以在各个生命周期位置,根据你的需求封装你所需的埋点

     特点:数据精确度和详细程度较高,但是对业务代码侵入性高,项目工程量大,需要埋点的位置太多,维护困难,手动埋点的错误率

     

    自动埋点

    不需要工程师在业务代码里面插入侵入式的代码。只需要简单的加载了一段定义好的SDK代码
     
    特点:部署简单,数据全面,不容易遗漏,但是发送的埋点数量大(最好使用在那些按钮不是很多的,相对简单的页面),数据精确度和详细度不够
     
     
     

    埋点上报策略

    • 实时上报:对实时性要求高的采用
    由于网络有时不稳定,或者一些原因导致埋点上报失败,数据缺失,可以采用延时上报,把数据存在localStorage,上报过后删除
    有两种延时方案可以选择:
    • 基于时间间隔:隔多长时间上报一次
    • 基于数据条数:没累积多少条数据上报一次
     

    延迟上报丢失数据问题

    延迟上报策略下,如果没有达到数据上报的条件,用户退出页面,在用户不再进入的情况下,本地数据无法上报
    解决方案:
    监听页面beforeunload事件,在页面离开前把剩余不足N条的log全部上传

  • 相关阅读:
    团队编程项目作业3-模块测试过程
    团队编程项目作业3-模块开发过程
    课后作业-结队编程项目进度
    团队编程项目作业2-团队编程项目代码设计规范
    课后作业-阅读任务-阅读提问-1
    团队-爬取豆瓣电影Top250-项目总结
    团队-爬取豆瓣Top250-最终程序
    课后作业-阅读任务-阅读提问-4
    《20171129-构建之法:现代软件工程-阅读笔记》
    《软件工程课程总结》
  • 原文地址:https://www.cnblogs.com/liuxiaoru/p/13635854.html
Copyright © 2020-2023  润新知