iOS数据埋点

1.最近公司做了一个关于高端理财的项目,之前一些项目主要是通过第三方“友盟”进行数据统计。这次公司在项目中提出了数据埋点的需求,自己采集使用app人群的数据,自己在后台进行大数据的分析。

2.埋点分为页面统计和事件统计,公司为项目中每个页面定义了唯一的pageId,就为了这件事我们和产品争论了很长时间,我们客户端希望我们只传页面对应的类名,然后后台根据数据自己关联。产品又说安卓和iOS的类名可能不一样,所以他们不能统一。我们又给出了方案,我们新增一个字段"type"用来区分是安卓还是iOS,然后你们自己在关联。后来还是胳膊扭不过大腿,pageId传了,"type"也传了。。。干不过那就想办法做吧,页面怎么和pageId关联就成了一个问题,既然一一对应,我就想到了字典,那就写在一个本地plist文件里吧。每次进入页面和离开页面都要去plist去取,也不太合适,我就写了单例,只读取一次plist。但是还要每次去单例里去值,所以后来又想了一个办法,给基类定义一个属性,每次读取到了就保存下来,只要页面没有被销毁,每次就不要重新取了,也算是做到了性能方面的优化吧。

3.事件统计比较简单,每个事件对应一个事件id,所以只要硬编码定义事件id,在需要加的地方加一下就行了,和友盟的mobClick方法类似。

4.事件和页面埋点数据都存到本地,达到一定的条数就上传,传完就删除。我也限制了最大存储条数,以防在断网和服务器异常的情况下无限制的往本地存储。

5.最后上Demo,github地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容