实现埋点上报方案过程中的思考
任何一个重视数据的公司与部门,都不会忽略前端埋点数据上报的作用。 从直观上看,前端的埋点上报方案有啥难的呀?不就是将用户行为数据收集上来,就可以了么? 从实际开发经验来回答:实际上并没有那么简单。为了能够将收集的用户数据最终展示并从中分析得出有意义的数据,这其中涉及的细节比想象的要多。 在本文中,我们会从两个方面来思考数据埋点上报的过程:数据收集与数据上报。 数据收集 对于数据收集的过程,我们不会对数据上报方式做区分(如常见的埋点上报与无埋点上报),而重点思考不管哪种上报方式都通用的技术点。重点考察如下基本的数据信息:UV、PV、应用浏览总时长。 UV 针对UV的统计维度有两个:注册用户与未注册用户。 注册用户好说,只需要有应用中注册用户的唯一标识符即可。 对于未注册用户,如何识别这是一个用户呢?在这种情况下,问题会转化为:如何识别一个设备? 如何识别一个设备? 最容易想到的就是利用浏览器的存储功能:cookie、localStorage等。具体做法是:在用户首次加载页面的时候,将UUID(如随机生成的字符串)放入到存储中,这种方案是最简单的,其中: Cookie 有生命时长限制并且有容量大小的限制。 localStorage 会永久保存,并且在容量方面比cookie大得多。 所以,使用localStorage就会比cookie更有效。但是,基于浏览器存储功能的方案