开发者社区> 问答> 正文

[@炯轩][¥20]请问您对Android方面的埋点有什么见解

如何合理的埋点

展开
收起
阿策~ 2018-12-13 13:46:06 2145 0
6 条回答
写回答
取消 提交回答
  • 埋点通常是为产品决策或者算法提供数据支撑,最重要的是数据正确可靠。另外埋点前尽量想清楚意义在哪,避免无脑采集,既耗流量也无法分析

    2019-07-17 23:20:33
    赞同 展开评论 打赏
  • 看到题主最近有很多提问,可以考虑直接使用现成的框架进行埋点,比如友盟。

    2019-07-17 23:20:33
    赞同 展开评论 打赏
  • 如果是小app,建议直接用像友盟这种第三方的框架。大型app的话,学习下美团的无痕埋点框架

    2019-07-17 23:20:33
    赞同 展开评论 打赏
  • 2019-07-17 23:20:33
    赞同 展开评论 打赏
  • 美团的无痕埋点框架了解下,如果不想自己开发,建议使用 友盟之类的 就可以

    2019-07-17 23:20:32
    赞同 展开评论 打赏
  • 埋点,是对网站、App或者后台等应用程序进行数据采集的一种方法。通过埋点,可以收集用户在应用中的产生行为,进而用于分析和优化产品后续的体验,也可以为产品的运营提供数据支撑,其中常见的指标有PV、UV、页面时长和按钮的点击等,通常可以采集到下面这些数据。

    行为数据:时间、地点、人物、交互的内容等
    质量数据:App运行情况、浏览器加载情况、错误异常等
    环境数据:手机型号、操作系统版本、浏览器UA、地理、运营商、网络环境等
    运营数据:PV、UV、点击量、日活、留存、渠道来源等
    采集行为数据时,通常需要在Web页面/App里面添加一些代码,当用户的行为达到某种条件时,就会向服务器上报用户的行为。其实添加这些代码的过程就可以叫做“埋点”,在很久以前就已经出现了这种技术。随着技术的发展和大家对数据采集要求的不断提高,我认为埋点的技术方案走过了下面几个阶段:

    代码埋点:代码埋点是指在某个事件发生时调用数据发送接口上报数据。例如开发人员按照产品/运营的需求,在Web页面/App的源码里面添加行为上报的代码,当用户的行为满足某一个条件时,这些代码就会被执行,向服务器上报行为数据。这种方案是最基础的方案,每次增加或者修改数据上报的条件,都需要开发人员的参与,并且只能在下一个版本上线后才能看到效果。基本上所有的数据平台都提供了这类数据上报的SDK,将行为上报的后台服务器接口封装成了简单的客户端SDK接口。开发者可以通过嵌入这类SDK,在埋点的地方调用少量的代码就可以上报行为数据。

    全埋点:全埋点指的是将Web页面/App内产生的所有的、满足某个条件的行为,全部上报到后台服务器。例如把一个App中所有的按钮点击都进行上报,然后由产品/运营去后台筛选所需要的行为数据。这种方案的优点非常明显,就是可以不用在新增/修改行为上报条件时,再找开发人员去修改埋点的代码。然而它的缺点也和优点一样明显,那就是上报的数据量比代码埋点大很多,里面可能很多是没有价值的数据。此外,这种方案更倾向于独立去看待用户的行为,而没有关注行为的上下文,给数据分析带来了一些难度。很多公司也提供了这类功能的SDK,通过静态或者动态的方式,“Hook”了原有的App代码,从而实现了行为的监测,在数据上报时通常是采用累积多条再上报的方案来合并请求。

    可视化埋点:可视化埋点是指通过可视化工具配置采集节点,在App/Web解析配置查找节点,监听节点产生的事件并上报。例如产品在Web页面/App的界面上进行圈选,配置需要监测界面上哪一个元素,然后保存这个配置,当App启动时会从后台服务器获得产品/运营预先圈选好的配置,然后根据这份配置查找并监测App界面上的元素,当某一个元素满足条件时,就会上报行为数据到后台服务器。有了暴力的全埋点技术方案,很容易联想到按需埋点,可视化埋点就是一种按需配置埋点的方案。现在也有一些公司提供了这类SDK,圈选监测元素时,有的是提供一个Web管理界面,手机在安装并初始化了SDK之后,可以和管理界面了连接,让用户在Web管理界面上配置需要监测的元素,有的是直接让用户在手机上圈选元素进行埋点。

    2019-07-17 23:20:32
    赞同 展开评论 打赏
滑动查看更多
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载