美文网首页
AndroidApp数据追踪

AndroidApp数据追踪

作者: 2f479b1467f1 | 来源:发表于2016-05-12 14:45 被阅读434次

最近数据中心需要对我们的app进行数据追踪,主要用于对用户行为进行统计。对于数据埋点这一块,友盟可以完成基本的功能。但是在这个大数据时代,数据就是金钱。

需求是这样,对于用户的每个行为,要想服务器传递用户所在界面到来的路径以及点击事件。例如我们有activity A 、B、C,我们从A点击某个weight01到B 再点击02到C再点击03,那么发送C点击03的数据上报为:rout为A01B02C,po为C03。

撸主本来想了两种方法,在每个固定的activity或者fragment中手动添加埋点,这样做没有什么技术含量,而且封装的不够完美,对于来回切换的界面比较麻烦,而且代码比较冗余。所以就想用一劳永逸的办法。

思路是这样,创建两个arraylist作为存放Activity以及po的栈,然后再BaseActivity的onCreate方法中往栈内添加值。

if(!(this instanceofCommonWebActivity) ) {XYAgentConstants.changeViewTag(getClass(), null,isAdd);}

public static voidchangeViewTag(Class classN,String type, booleanisAdd) {    String viewTag = AppUtils.getClassTag(classN,type);if(TextUtils.isEmpty(viewTag)) {return;}if(isAdd) {addViewTag(viewTag);}else{removeViewTag(viewTag);}}

其中if中判断的是你不像添加到栈内的Activity。

并且创建一个静态map存放Activity与对应编码关系,这样可以在读取路径的时候将Activity名称翻译成与服务器商定的编码。

存放po的方法也同上。

需要添加数据埋点的地方只需要操作po即可,Activity则只需要集成BaseActivity就行了。

这样在获取rout以及po的时候只需要遍历两个list,按照顺序读取出来就行了。

注意:如果app是singletop的情况则应该注意每次回到singetop的Activity时应该在栈内判断,如果当前Activity是top,则清空Activity栈。

在做完这个以后我发现用一个Map替代两个List效果可能更好,有时间会去改进。

相关文章

  • AndroidApp数据追踪

    最近数据中心需要对我们的app进行数据追踪,主要用于对用户行为进行统计。对于数据埋点这一块,友盟可以完成基本的功能...

  • Application Error - The connecti

    一:androidapp启动错误,即出现:ApplicationError-Theconnectiontothes...

  • AndroidAPP重启自身

    可以调用如下代码实现应用自启动:

  • SpringCloud-笔记11-Sleuth链路监控&Zipk

    Sleuth Zipkin查看链路情况 分布式追踪系统 数据采集 数据存储 数据展示 OpenTrace优势介绍 ...

  • 矢量数据的空间分析——追踪分析

    1.追踪分析: 追踪分析是基于时间序列的可视化和分析工具,可以实现对时态数据的历史回放以及实时数据的动态显示。 关...

  • 无标题文章

    链接http://www.xunlegelei.com/AndroidApp.aspx?id=f21b64ecc1...

  • 多层线性模型的原理

    《追踪数据分析方法及其应用》是一部介绍追踪数据的分析方法的书,方法包括一元方差分析、多元方差分析、多层线性模型、潜...

  • Array的变化侦测

    3.1 如何追踪变化 object是通过setter来追踪变化的,只要数据发生变化,就一定会触发setter。同理...

  • 数据仓库系列10- 数据仓库规范

    一. 数据模型架构原则 1.1 数据仓库分层 分层的好处: 清晰数据结构; 数据血缘追踪; 减少重复开发; 数据关...

  • 搭建数据追踪系统

    环境说明 操作系统: CentOS 7.2 64位 1. Zipkin简介 zipkin是一款开源的分布式实时...

网友评论

      本文标题:AndroidApp数据追踪

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