设计分案

设置两个pod组件库,一个负责hook事件,一个负责收集埋点数据,本地持久化,合适时机上传。hook系统的各种事件(UIResponder、UITableView、UICollectionView代理事件、UIControl事件、UITapGestureRecognizers)

注意点

(1)如何唯一标识一个控件元素:
答:利用xpath(移动端定义可操作区域的唯一标识,以当前的view到系统根元素的所有关键点串联起)
(2)节点深度的计算
答:采用当前view位于同层级同类型view的索引值。将各节点的名称放到viewPath.
(3)同类型的view的唯一问题
答:找出当前元素在父层同类型元素中的索引
(4)同类型的view,但是点击的意义却不一样。如何唯一标识
答:给 NSObject 添加一个分类,在分类里面添加一个协议,标识符协议。
(5)数据如何处理
答:数据的上报:合适的时机上传,如设置一个临界值,达到阈值就上传。

参考资料:
史上最强无痕埋点

iOS-无痕埋点设计相关推荐

  1. ios无痕埋点_iOS无痕埋点方案分享探究

    原标题:iOS无痕埋点方案分享探究 作者丨SandyLoo https://www.jianshu.com/p/b8a67c4acfb3 前言 当前互联网行业的竞争已经是非常激烈了, "功能 ...

  2. ios无痕埋点_掌握数据生命周期:初识数据埋点

    谈到数据驱动业务,离不开数据是怎么来的,数据收集是整个数据生命周期的初始环节. 数据生命周期的大体介绍,在过去的一篇文章中有提到.虽然文章的部分内容我准备重新构造,但是对于这部分的基础环节,并没有太多 ...

  3. ios无痕埋点_移动端无痕埋点实践详解(二)

    0x01 前言 在移动端无痕埋点实践详解(一)这篇文章大致总结了移动端无痕埋点的基本原理.主要介绍了什么是无痕埋点,无痕埋点的基础数据流程以及在Android系统上总体思路.这篇文章着重总结下无痕埋点 ...

  4. ios无痕埋点_iOS可视化埋点方案

    前言 随着公司业务的发展,数据的重要性日益体现出来. 数据埋点的准确和全面性显得尤为重要. 通过精准和详细的数据,后面的分析才有意义.随着业务的不断变化,动态化埋点也越来越重要. 三大埋点方式 为了解 ...

  5. iOS 最优无痕埋点方案

    iOS 最优无痕埋点方案 在移动互联网时代,对于每个公司.企业来说,用户的行为数据非常重要.重要到什么程度,用户在这个页面停留多久.点击了什么按钮.浏览了什么内容.什么手机.什么网络环境.App什么版 ...

  6. 无痕埋点的设计与实现

    在移动互联网时代,对于每个公司.企业来说,用户的行为数据非常重要.重要到什么程度,用户在这个页面停留多久.点击了什么按钮.浏览了什么内容.什么手机.什么网络环境.App什么版本等都需要清清楚楚.一些大 ...

  7. iOS 打点上报、无痕埋点

    最近研习了美团等大厂的一些埋点方案. 还要感谢大神<xuhaoranLeo>的指点.(既然大神没空写博客.但我可以代劳哈). 本文的宗旨是尽量全面.精简.满足我能想到尽量多的埋点需求. 主 ...

  8. iOS-史上最强、最详细无痕埋点方案

    在移动互联网时代,对于每个公司.企业来说,用户的行为数据非常重要.重要到什么程度,用户在这个页面停留多久.点击了什么按钮.浏览了什么内容.什么手机.什么网络环境.App什么版本等都需要清清楚楚.一些大 ...

  9. 数据产品-指标体系和埋点设计

    在整个数据链路过程中,数据的获取是链路源头,而其中埋点就是最为常见的数据源头之一,其数据之丰富,量级之庞大,灵活且多变.因此,对数据埋点的精确设计和高效采集可以说是每个希望通过数据驱动增长的公司所需重 ...

  10. 手动埋点转无痕埋点,如何做到代码“零”入侵

    前言 在起初的手动埋点的时候,每次版本大更新,很多埋点都要进行修改,删除.这个时候之前嵌在源码里面的一行行埋点代码要进行修改,删除.删了又找,找了又改,很麻烦.如果遇到有代码洁癖的,"产品你 ...

最新文章

  1. 计算机三级考试网络技术怎么复习,2017计算机三级考试的三大复习阶段(网络技术为例)...
  2. java斗破苍穹游戏阵容,斗破苍穹手游竞技场阵容搭配解析 最强阵容你知道吗
  3. 利用最小二乘法,用直线拟合点时,为什么计算竖直距离而非垂直距离?为什么在线性回归分析中,求的是距离平方和最小,而不是距离之和最小?
  4. 【译】Engineering Security Through Coordination Problems
  5. OpenGL多维数据集的透视图渲染
  6. 建立主键应该遵循的原则
  7. Visual Basic 兴衰记
  8. Channels In Go
  9. qt5 操作mysql 代码_qt5使用mysql
  10. 4-1-getOutputStream()或getWriter()发送响应消息体及分析为什么不能同时使用
  11. mysql自增主键返回---创建成功后返回用户的ID
  12. 8.Java web—JSP基本语法
  13. [JBoss] JNDI与JBossNS
  14. 为什么要进行URL编码!!!
  15. 【iOS开发】App 上架相关事宜、解决技巧
  16. 翻译: 漫画HTTPS原理二 了解对称和非对称加密
  17. 小游戏---java版2048(2048 go go go)
  18. 小米路由器3无线网连接到服务器,小米路由器3无线中继(桥接)怎么设置?
  19. Java验证邮箱格式是否正确
  20. 美团网副总裁王慧文:所谓“农村包围城市”是一个误解

热门文章

  1. “打工皇帝”唐骏语录
  2. Netgear路由被曝漏洞 几乎所有型号涉及
  3. LintCode 597.具有最大平均数的子树
  4. 输出一百,十万,一百万,一千万,一亿,十亿,二十亿以内的所有质数的方法,个数和优化后的运行时间对比
  5. 用顺序表求集合的交集、并集和差集
  6. 新GSP质量文件——21个岗位职责
  7. dayjs获取当月的下月的第一天时间
  8. Java 照片墙_js实现照片墙功能实例
  9. ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连接
  10. Python绘制MACD指标图