无痕埋点设计方案

 

概述

 

我们做的是什么事情?

  • 动态化自动埋点设计
  • 配置化远程可视化埋点方案设计

 

为什么做无痕埋点?

  • 现有埋点方案占有大量开发资源
  • 现有埋点方案修改或者新增埋点需要重新发版
  • 现有埋点方案测试复杂,容易错误或者遗漏埋点

 

做好无痕无痕埋点可以解决什么问题?

  • 简化研发埋点工作量
  • 实现可视化埋点
  • 实现不发版本,修改新增埋点

 

流程图

 

事件汇总

事件埋点,在软件开发中属于横切逻辑。需要通过面向切面的思维方式,将所有的埋点事件进行汇总,统一进行处理。从而避免了在业务逻辑中混入很多业务无关了逻辑。另外将埋点逻辑,作为一个关注点分离出来,进行统一的开发、测试和维护。

 

事件唯一标识

 

1、视图树相对位置定位

通过视图树相对位置定位事件触发控件,上图中Button被点击后获得的视图树相对位置表示为:

RL-LL-FL-BT(简写控件名字,并且用-连接)

 

2、控件ID

如果有控件ID,可以通过ID来定位具体触发事件的控件,如果没有的话可以结合其他信息来唯一定位。

 

3、控件信息

控件上的文案信息来帮助辅助定位

 

4、父控件同层子控件整合文案信息

当开启按钮被点击,会遍历它的父控件,来生成辅助定位信息。上图生成的信息为:

设置-头像-跳转-开启-姓名-城市(按子试图顺序读取文案,并用-连接)

 

5、上下文信息

获取当前所在容器页面的信息,默认情况使用当前Activity的全类名,可以通过设计视图树根节点tag,来更细的区分上下文。上下文信息可由具体业务负责人进行扩展和维护,建议的方法是尽可能多的配置关键信息,以便后期配置新增埋点使用。

public class MainActivityPointInfo {

@PointInfo(key = "src")

public String getSrc() {

return "";

}

@PointInfo(key = "id")

public String getId() {

return "";

}

}

 

配置网站示意图

 

猜你喜欢

转载自blog.csdn.net/long8313002/article/details/108367424