关于埋点的一些问题(RunTime能很好的解决)

本文探讨了埋点的定义、常规处理方式及其存在的问题,并详细阐述了如何利用RunTime进行优化,包括事件缓存、数据压缩、统一埋点类以及方法注入等策略,以减少侵入性,提高性能并确保代码的整洁性和可测试性。
摘要由CSDN通过智能技术生成

最近在项目中遇到埋点的问题的些问题,埋点是现在很多App中都需要用到的,这个问题可能每个人都能处理,但是怎样来减少埋点所带来的侵入性,怎样用更加简洁的方式来处理埋点问题,怎样减少误埋,如果上线了发现少埋了怎么办?下面个人就分析讨论下有哪些重点、难点:

一、什么是埋点?埋点的作用是什么?
二、常规的处理方式是怎样的?
三、我们可以怎样优化?
四、怎样使用RunTime对其进行优化?
五、在实践中遇到了什么问题以及解决方案?
六、最理想的埋点是什么样的?
七、其中可能存在的问题是什么?

接下来将对其一一做以说明:

一、什么是埋点?埋点的作用是什么?

其实埋点也叫日志上报,其实就是根据需求上报一系列关于用户行为的数据,比如:用户点击了哪个按钮,用户浏览了哪个网站,用户在某个页面停留了多久等数据。这些数据对于运营来说很有用,他们可以用来分析某个功能开发的是不是合理,是不是因为某个地方的不合理而到导致了转化率的下降,从而对我们的App进行相应的改进,我们来看下某个第三方平台提供的埋点实例。


埋点统计字段定义

 

上图中说明了,某个时间对应的事件ID,以及针对这个事件需要关联的字段。下面是后台系统对某个埋点所做的数据统计:


后台系统对埋点的数据分析

 

这样我们就可以详细的分析出用户对于App的反馈,从而及时的修改我们的产品。

二、常规的埋点的处理方式是怎样的?

其实很简单,我们就在相应的事件里面加入相关的代码,给服务器上报数据不就得了。如下所示:

这样一个埋点问题就解决了,单同时却隐藏着很多问题:1.这样每点击一个一下按钮就请求一次网络会不会出现性能问题?2.如果这样频繁的数据上报会不会消耗更多的用户流量?3.这样的代码能经受住需求的变更吗?比如字段变了,或者你把cI看错了,应该是cl。4.这样的代码会不会造成难以测试?5.这样的频繁上报会不会增加服务器端的压力?6.代码整洁吗?……(程序员的一个好习惯是:这个代码能否经受住需求的变更。)

三、我们可以怎样优化?
  1. 首先我们可以用一个类,来专门处理这些需要上报的埋点的字段,将这些字段作为常量,例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值