iOS进阶_数据统计(埋点)

需求

如果公司App用户基数很大,那就根据埋点数据分析App使用的反馈则意义重大。公司产品也会根据埋点数据做数据分析从而优化App功能设计。那么要如何进行数据分析呢?分析的是什么问题?需要哪些数据?这些数据从哪里来?

首先通过产品定位及目标来确定自己需要哪些数据,其次通过在产品各个流程环节中设置数据埋点,最后,当用户使用产品时,后台就能源源不断地接收到数据了。

那么在iOS工程中如何实现埋点功能呢?
一般的埋点分为界面级别,action事件级别。
界面级别中的数据一般都是静态的,与业务逻辑不相关,比如进入时间,离开时间,是否进入该界面等等。

action事件级别中交互事件统计,包括单击、双击、手势交互等

方案

  1. 使用第三方统计SDK,如:友盟的U-App,腾讯的MTA等。
  2. 手动埋点:常规的做法是将埋点代码封装成工具类,但凡工程中需要埋点(如点击事件、页面跳转)的地方都插入埋点代码。

    • 主要统计的数据为:当前页面,页面停留时间(进入与退出时间差计算),点击事件等。缺点是代码散乱不易维护
    • 记录每个页面进入退出(viewWillAppear与viewWillDisappear)的时间,用来计算页面停留时间,把触发时间以及一些点击行为操作全记到一个模型对象中,然后在页面离开或点击事件触发把这个模型写入到数据表中,到时候只要从表中取出数据再发送给后台即可实现埋点。
    • 为防止对后台接口造成数据攻击,每5分钟从数据库中取一次数据发送,每200条列表数据向服务发送,直到本次取出所有数据全部发送完毕。

    可以参考此Demo

    3.无码埋点

    • Method Swizzling、Hook与代码注入,基于运行时的埋点方案。
    • 参考此Demo

猜你喜欢

转载自blog.csdn.net/wtdask/article/details/80450634