android 行为采集,android自定义(无埋点)收集用户行为统计 (非常方便 可以自己拓展)...

EventCollect

这是收集用户行为统计的代码

reademe:

需求::

用于App统计用户行为 。 实际上就是监控所有事件 并把事件 发送到服务上去

要求: 可以监控用户的所有行为,例如用户谁(没有登录的情况使用UUID),

进入那个页面,进入的时间,在这个页面操作了什么(点击了那个按钮,或者是点击了列表那个列),

离开页面时间,以及其他统计信息,例如版本号,手机系统版本,用户当前网络,用户位置,用户单次使用App时长等

。用户是否把App退到了后台。用户离开了哪一个页面,离开时间。

解决方案:

重写 dispatchTouchEvent负责分发事件 的方法在这里 遍历 所有节点 收集按下的x y 坐标

在抬起的时候通过用户动作的范围查找相应的View,并组成自己所需要的json 参数

功能 特点::

可以无埋点 只需要在baseActivity里面 加上几行代码就可以实现收集用户

操作信息的功能.

注意 :

统计上报接口采用分布式,不然所有数据都请求同一个接口,那么日活大的情况下,

服务器挂了 不仅无法收到数据,反而影响客户端其他正常的功能

演示操作 gif图有点大 :

我这里演示 模拟请求成功和请求失败的情况

在DateSender类中MySend 线程 中控制请求成功和失败

第一种情况: 收集事件达到五次 上传数据成功的演示:

6d0b1b789b1e0cc6e4fbf4554564402e.gif

第二种情况: 收集事件达到五次 上传数据不成功的演示 存入本地:

%E4%BA%8B%E4%BB%B6%E6%94%B6%E9%9B%86%E4%B8%8A%E4%BC%A0%E4%B8%8D%E6%88%90%E5%8A%9F.gif?raw=true

第三种情况: 收集事件达到五次 上传数据成功 并且把以前未上传成功的数据一起上传:

%E4%BA%8B%E4%BB%B6%E6%94%B6%E9%9B%86%E4%B8%8A%E4%BC%A0%E6%88%90%E5%8A%9F%E5%92%8C%E6%9C%AC%E5%9C%B0%E7%9A%84%E4%B8%80%E8%B5%B7%E4%B8%8A%E4%BC%A0.gif?raw=true

流程图

%E7%BB%9F%E8%AE%A1%E6%B5%81%E7%A8%8B%E5%9B%BE.png?raw=true

上传的json数据

{

"userData":{

"app_channel":"",

"network":"NONE",

"sysVersion":"6.0.1",

"w_and_h":"1080*1920",

"UUID":"ffffffff-89a3-f09e-115f-86b90033c587",

"version":1,

"phoneModel":"Redmi Note 3",

"comeFrom":"az_wn",

"user_loaction":{

"district":"朝阳区",

"streetName":"三元桥",

"province":"北京",

"lat":"37.0",

"lng":"37.0",

"city":"北京"

}

},

"events":[

{

"type":"app",

"evenTime":1499672827876,

"even":"in",

"page":"MainActivity",

"name":"首页"

},

{

"evenTime":1499672844001,

"name":"点击收集数据",

"page":"MainActivity",

"even":"click",

"type":"button"

},

{

"evenTime":1499672844604,

"name":"点击收集数据",

"page":"MainActivity",

"even":"click",

"type":"button"

},

{

"evenTime":1499672845334,

"name":"自定义事件",

"page":"MainActivity",

"even":"click",

"type":"button"

},

{

"evenTime":1499672845338,

"name":"nihao",

"attributes":{

"item-category":"book"

},

"page":"MainActivity",

"even":"click",

"type":"custum"

}

],

"session":{

"id":"1499672845390_1951868",

"time":1499672845390

}

}

last:

感谢github上各种收集事件项目给我的思路.

所以我也把自己写的贡献出来,希望能帮助到有需要的人

项目 下载地址

http://download..net/detail/liudao7994/9904262

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值