美文网首页Android基础
Android埋点技术探索

Android埋点技术探索

作者: xwp | 来源:发表于2017-03-01 11:22 被阅读346次

    1.代码埋点:

    埋点用于统计分析功能孩子操作的使用频率与使用习惯.
    统一定义一系列常量字符串来标识操作。因为可能埋的点比较多,上传记录数据量较大,标识字符串不应该过长.多个属性"等符号分割拼接.
    封装类包含保存,读取到sp文件的方法。sp也可以换成数据库.
    SP的读写操作可能有线程并发问题
    方法原子加锁ReadWriteLock。
    http://www.cnblogs.com/liuling/p/2013-8-21-03.html
    在具体的事件触发点调用TASK类中记录方法。

    2.自动化埋点

    http://blog.csdn.net/gykimo/article/details/24772853
    原理是:定义一个BaseActivity,其他Activity都继承。
    监听Activity的生命周期方法,判断可见状态。界面使用时长的埋点.
    监听Activity的onDispatch()事件分发方法,返回true代表子View消费了事件。遍历DicorView,找到具体子View,记录子View路径来标识。
    通过广播,将数据收集,统一处理。(觉得可以不必通过广播,但是通过消息队列能避免并发问题)
    定义需要监听的子View路径,判断需要监听才产生日志。

    存在的问题是:
    某些View的路径一样(隐藏控件、弹出窗口或者浮动窗口),不同API版本(4.0及以下与4.0上)同一个View路径不同。
    某些Activity必须继承一些特殊的Activity类,如XWalkView的XWalkActivity.
    UI路径扫描工作大。UI变化频繁的话,修改埋点View路径列表代价大。
    其他未知问题,总感觉在复杂的项目页面中还会有其他问题。。。这个就要入局看了,但是应该不是大问题。

    http://blog.csdn.net/HHcoco/article/details/52250627
    这个补充如何标识每个View,给每个View设置ID。
    还有在Fragment中如何得到触摸点的坐标。

    3.第三方埋点(诸葛IO,GrowingIO等)

    参考http://blog.csdn.net/hhcoco/article/details/52243079

    4.上传时机

    在主Activity的onResume()中开启上传线程,一个小时内只开启一次。
    其他想法,用定时器,或者Service.

    5.有建议的渴求告知!!!

    相关文章

      网友评论

      本文标题:Android埋点技术探索

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