iOS埋点业务方案

作者: AKyS佐毅 | 来源:发表于2016-03-04 21:10 被阅读3766次
   如果你的公司用户基数足够大,那么根据埋点数据分析得到的反馈是非常有用的。除了第三方的埋点数据分析,比如友盟,如果我们希望自己也存一份数据,作为对友盟数据的对比,在iOS工程中如何实现呢?
   一般的埋点分为PV(界面级别的),PA(action事件级别).下边为了减少冗余,简称PV,PA。PV中的数据一般都是静态的,与业务逻辑不相关,比如进入时间,离开时间,是否进入该界面等等。
   所以这类需求是很好处理的,一般都会让所有的controller都继承BaseViewController。这样左右的信息都基于一个类中,符合高聚合的表现。
   那么PA的事件埋点数据如何处理呢?最传统的方法是在每个action中添加相应的埋点数据,但是这样功能和业务逻辑就混在一起,代码结构很混乱,不简洁,不优雅。
   混在在一起,放眼望去,怎么埋点到处都是啊,自己都烦的不行。尤其是每一次action改变之后,对应的逻辑就要改变,我要去不同的类中去更改。实在是不胜其烦。
   其实早就有解决之道,而且非常好用,这里推荐MOAspect。它校于Aspect,有一个功能很重要就是支持相同的方法名注册,而Aspect是不支持不同类相同方法名注册的。
   这些都是都是在去年经过验证,并且线上反馈还不错的。大家可以放心去用,坑都是踩过的。
   因为项目中的业务是分模块来处理的,那么我们在埋点的时候也是根据业务逻辑来处理的。那么如何划分呢?
   我是这么划分的:
Snip20160304_1.png
   给出图片,大家自己看,后边有一个简单的Demo,已经放在github上。顺便说一句,希望大家遇到问题的时候能够冷静下来一点点分析。
 
   首先为了便于修改埋点数据,给出了宏定义的.h文件
Snip20160304_2.png

然后是埋点辅助类:

Snip20160304_3.png Snip20160304_4.png

接下来就是在具体的类中实现了:

Snip20160304_5.png
#最后的最后,如果您老人家,哦,不,小鲜肉们,觉得有用的就关注一下,不枉我写了半个小时。
github地址:https://github.com/summerHearts/AspectTrack/tree/master 。

相关文章

  • iOS埋点业务方案

    然后是埋点辅助类: 接下来就是在具体的类中实现了:

  • iOS无痕埋点方案分享探究

    iOS无痕埋点方案分享探究 iOS无痕埋点方案分享探究

  • 戴铭(iOS开发课)读书笔记:09章节-无侵入埋点

    原文链接:无侵入的埋点方案如何实现? 前言: 原文中介绍了iOS开发常见的埋点方式:代码埋点、可视化埋点和无埋点。...

  • IOS实现无埋点技术

    技术方案实现的背景: 因为在开发项目的时候,埋点都是手动埋的,每次业务需求的改变都要到处埋点,这就免不了会遗漏埋点...

  • iOS --- 埋点方案探讨

    在博客开始之前,先说说目前多数开发者使用的几种埋点方案 代码复制黏贴到需要统计的类和方法中,工作量大,不利维护 使...

  • Android 全埋点解决方案(一)

    一、埋点方案总结AppEnd 全埋点方案 AppClick全埋点方案1: 代理View.OnclickListen...

  • iOS 面试 - 其他

    怎么防止反编译? iOS面试题:怎么防止反编译? - 简书 埋点方案的 iOS无埋点数据SDK的整体设计与技术实现...

  • iOS 无侵入埋点方案

    使用无侵入埋点方案的好处就是能将埋点代码和业务代码解耦。 然而很多无侵入埋点都是hook系统的方式去,比如一些第三...

  • AOP无痕埋点技术

    使用AOP实现iOS应用内的埋点计数 - 简书 iOS用户行为追踪——无侵入埋点 - CSDN博客 iOS 无埋点...

  • iOS埋点技术方案总结

    一、可视化埋点 可视化埋点的出现,是为解决代码埋点流程复杂、成本高、新开发的页面(H5、或者服务端下发的 json...

网友评论

  • haihai_1de2:您好作者,谢谢你的分享,我想请教一下就第一个进出页面的方法是不是应该将所有的需要埋点的控制器都写在这个建立的plist文件当中?谢谢🙂
    AKyS佐毅:@haihai_1de2 当然可以
  • 7d255d79b399:博主,最近需要这方面的资料,私信你了!
  • jackiehoo:多谢
  • b96acac40a08:埋雷了 小心 的那个block你们做了点什么啊,还有数据是怎么展示的呢?
  • brave723:BIPVConst 这个类定义的常量怎么使用? 事件埋点要写到哪里?
    brave723:每一个控制器 要对应一个 BIPVBase这样的类?
    AKyS佐毅:@真实透明 最下方有地址,粘贴一下,看看

本文标题:iOS埋点业务方案

本文链接:https://www.haomeiwen.com/subject/jrbokttx.html