Android App开发之埋点大数据收集、收藏吧~

之前在写项目的时候,有了一个大数据收集的需求。之前也写了两篇关于大数据收集的文章,都是简单分析以及说明自己的实现思路,分享给大家。

推荐一个大数据学习群 119599574晚上20:10都有一节【免费的】大数据直播课程,专注大数据分析方法,大数据编程,大数据仓库,大数据案例,人工智能,数据挖掘都是纯干货分享,你愿意来学习吗

项目需求是大数据的收集,也就是Android 埋点需求,主要是收集用户的行为,我们项目 要求收集用户包裹点击、下拉、上拉、滑动、唤醒、退出、更新等10种数据的收集。之前的大致思路是创建一个静态的单例管理类,类里面创建一个集合,用来存放每一次的数据,当数据够20条的时候,上传一次服务器。对于内存不足,APP被杀死,采用了sharePerferce来本地保存。

上面是大致的思路。写代码的时候有很多的实现方式,可能最简单的例如,我们在每一个需要的地方,都获取对象来添加。好像这样还很完美。但是问题来了,那么多点击事件,那么多唤醒,挂起要统计不把程序员累死,也就是代码量太大封装并不好。代码埋点的方式是比较简单,但是后期维护,扩展性能特别差,所以代码埋点被推翻了。然后就想着能不能通过封装在基类或者一个单独的地方进行操作呢?

接下来,我们主要说一下,怎么封装点击事件到基类,不用再代码中埋点,这里主要讲点击事件的收集和唤醒挂起全局的收集:

点击事件收集的大致思路,此种方式有借鉴其他人:需要统计页面的点击事件,即添加埋点进行统计,如何实现?我当时回答的是反射加代理去实现这个功能。有朋友说,这不是很简单嘛,直接用代理模式就OK了啊,干嘛还反射。的确,如果在项目初期就确定了这个需求的话,我想大部分人都会想到用代理模式来实现这个功能。但是如果项目已经稳定运行了一段时间呢?我们不可能把每个事件都重新替换成我们的代理类吧?这样重复的工作太没有效率了,这里我们可以通过反射加代理技术来实现这个功能。

封装的工具类:

Android App开发之埋点大数据收集、收藏吧~_第1张图片

图1

Android App开发之埋点大数据收集、收藏吧~_第2张图片

图2

每一步怎么操作什么意思,代码中都有说明,项目中具体的使用:

Android App开发之埋点大数据收集、收藏吧~_第3张图片

结果

因为如果直接粘贴代码,代码的格式就发生了变化所以我就直接站体截图,供大家参考,因为篇幅有限,我吧唤醒、挂起、以及APP的启动的封装放到明天的文章里面发表,感兴趣的朋友可以持续关注一下~

题外话,又有节日来了,发现花呗一直再涨,不知道你们发现没有,今天支付宝又给我们每个人默默的提额了,小编提了1000块,您的呢?Android App开发之埋点大数据收集、收藏吧~_第4张图片

 

支付宝花呗

你的呢?金额提了多少?节日都要买买买。

转载于:https://my.oschina.net/u/3877497/blog/1835586

你可能感兴趣的:(Android App开发之埋点大数据收集、收藏吧~)