基于友盟的用户分析模块的设计

基于友盟的用户分析模块的设计

移动应用开发中基本都要用到用户分析,大部分的应用选择的友盟统计,我们也不例外(其实不是没有内部的统计,是实在是人手不足,做的没人家好用啊).这篇文章题主就来分享下自己是如何封装的统计模块.

为什么要做用户分析

用户统计分析移动应用开发商统计和分析流量来源, 内容使用, 用户属性和行为数据, 以便开发商利用数据进行产品,运营,推广策略的决策.

而我们针对性地进行应用内的数据统计,了解用户的产品使用细节及行为特征,可以更好的对寻找到产品改进的突破点,评估产品优化的效果.

用户分析是什么

如何做用户分析

我们先后用了公司内部统计系统A,内部统计系统B,最后还是用了友盟了.具体的使用,大伙可以看 友盟开发文档

用户分析有哪些痛点

然后友盟的用户统计分析用起来也不是那个爽快,这里笔者就只介绍自己在使用过程中的一些的痛点.

产品说我想知道事件A的来源是哪

你设计的页面P起初没有设计来源这个参数,产品说知道来源可以更好的分析用户行为. 你觉得有道理, 便在页面P的入口加了source的参数. 看似很轻松的就解决了这个需求. 突然你发现页面P是从页面A跳进来的, 页面A是从页面B或者页面C跳进来的,产品需你统计的是B和C,这时你不得不在BC上也加上source参数.

开发1不想破坏自己漂亮的代码

开发1是个极端的小伙,设计的类都尽可能可能要去少耦合. 他写了一个页面, 上面有A按钮,和条件B, 触发后都是走的C业务.从C的角度看,它们不知道是谁触发了他.从AB的角度来看,也不知道自己触发后是干嘛.

如何去解决它

待完善


业务需求

业务需求经过抽象后,基本可以分为两层

ui层
  • 点击
业务层
  • 开始
  • 完成
  • 失败(默认带失败原因)

我们的一个上报信息就由模块名 + 页面名 + 事件名字 + 事件类型 +事件子类型 + 上报的数据组成

设计思路

  • 两套接口
  • 需要继承一个类
接口一: 抽象工厂模式
接口二: 建造者模式

不足

  • 存在了循环依赖,消除的方法也有,但是考虑到这是一个独立的模块,就没去弄了.

工作流

  • 提需求
  • 开发加代码(加新的,删旧的,暂时友盟不删)
  • 测试按照流程走一遍
  • 导出txt,归档
  • 和旧版本对比,生成上报友盟的txt(自动化)
  • 验证有没有漏报
  • 上传到友盟
  • 去友盟验证

未来

  • 给所有UI事件加埋点,指定关心的事件上报
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值