首页
学习
活动
专区
圈层
工具
发布

得到Android团队无埋点方案

开发完成业务功能需要花费很大的精力处理埋点事宜,而且随着迭代版本,埋点的数量会越来越多,这些老旧埋点的维护工作也需要付出不小的努力。...纵观目前比较成熟的无埋点方案,存在着如下问题: 问题1:通过XPath定位控件,理论上可行,但实践表明这个方案的复杂度非常高,尤其对于处理像GridView,ListView,RecyclerView的控件更是捉襟见肘...针对如上问题,我们经过深挖内在逻辑关系及对比优劣,总结出了一套更灵活,更合理的无埋点方案,下面分三个部分逐一介绍实现考量及内部机制。...无痕埋点方案对现有项目的约束 使用无埋点sdk需要遵循一定的开发规范,关于具体的开发规范请查看工程README。为了确保项目编码的规范性,我们开发了一系列lint检查规则来帮助发现错误。...下一步需要做的就是解耦。通过javasist技术,尽量将所有约束迁移到用动态技术保证,而不是通过lint规范,将其侵入性降到最低。 至此,无埋点sdk的核心运作机制已经全部梳理清楚。

3.5K90

iOS 无侵入埋点组件总结

而事件的标识与参数信息都写在配置表中,通过动态下发配置表来实现埋点统计。 无埋点 无埋点并不是不需要埋点,更准确的说应该是“全埋”, 前端的任意一个事件都被绑定一个标识,所有的事件都别记录下来。...通过定期上传记录文件,配合文件解析,解析出来我们想要的数据, 并生成可视化报告 , 因此实现“无埋点”统计。 2....考虑到无埋点成本较高,后期解析也复杂,选择了可视化埋点,即通过配置事件唯一标识,设置需要埋点分析的业务。...对于手势,我们在创建的时候进行 hook,方法为 initWithTarget:action:。 3.3.3 实现原理 用运行时方法替换方法实现无侵入的埋点方法。 实现原理图: ?...目前的方式只能实现页面进、出以及点击事件的埋点统计,涉及到具体业务的埋点统计,比如开机启动、需要上报参数信息等类型的埋点还是要依赖代码埋点。所以无侵入埋点方案还有很大优化空间。

4.5K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android埋点技术概览

    本文是Android无埋点系列的开篇——-埋点技术概览 1 背景 埋点是数据产品经理(分析师)基于业务需求,对用户在应用内产生的页面和位置植入相关代码,并通过采集工具上报统计数据。...1.2 埋点技术 随着技术的进步和发展,互联网各家公司从不同角度,提出了多种技术方案,这些方案可以归类为: 代码埋点 可视化埋点 无埋点 下面简要介绍一下这几种埋点技术方案。...传统的无埋点技术上报字段有限,并且没有办法定制上报字段;代表方案是国内的神策数据,GrowingIO也提供有类似的解决方案 4.1 无埋点背景 Android中的无埋点一般是通过全局监听或AOP技术来实现的...Android传统意义上实现无埋点的两大核心技术: View的唯一ID; 无埋点实现(代理监听或gradle插件在编译时插桩); 本文不再详细讲解无埋点的两大核心技术,有兴趣的小伙伴可以参考网易团队的无埋点实践文章网易...无埋点系列下一篇文章:《Android无埋点系列之伪无埋点框架》将会讲到如何基于无埋点的技术,去设计并实现一个满足业务常规需求的埋点框架; 5 参考 埋点简介:http://www.woshipm.com

    5.2K20

    【埋点】是什么埋点?简述埋点的操作流程

    埋点:又称为事件追踪(Event Tracking),指的是针对特定用户行为或事件进行捕获,处理和发送的相关技术及其实施过程。 功能方面:埋点是用来收集用户行为数据。...第一步【埋点采集】:通过部署埋点,收集数据 第二步【数据传输】:将埋点收集到的数据,进行传输 实时传输:flume>kafka>db?...明确需要收集哪些维度的数据,按需选择性埋点。 1.2 埋点事件 我们可以对一条业务流程中涉及到的各种操作进行事件埋点,用于了解该业务各操作流程的用户流失率,转化率等情况。...如果统计的事件里有需要用到后端的数据,也是要进行后端埋点的。 3.2 埋点事件的格式 埋点数据是需要存储起来的,数据就会有它对应的字段。...56°75.343", "latitude": "143°07.230【非必填GPS关闭无法获取】", "netwk_typ": "wifi/4G" }, "refer_id": "无埋点场景下所浏览页面的上一个页面的唯一标识

    10.8K33

    AutoTrackPlugin 安卓无痕埋点Demo

    当前通过​​ClassNode​​​方式实现,ClassNode是类似Ast语法树的一种​​ClassVisitor​​的实现类,可以通过主动访问的方式,去对当前你需要变更的类进行快速访问逻辑判断,同时由于在外层判断逻辑...如何将参数传递给打点代码通过标识注解的方式可以将外部的参数直接传输给埋点事件,这样就可以更丰富简单的拓展无痕埋点系统。...原理和无痕埋点相似,当前还是保留以前开发无痕埋点的visitor形式。通过​​ClassVisitor​​的机制访问所有View.OnClickListener的子类,然后插入双击优化的代码块。...方法通过ASM的ClassNode 的方式读取了当前类的所有构造函数,然后判断当前的执行内容是否是需要变魔改的类,如果是则替换他的desc owner name相关。...base plugin 主要是辅助后续有兴趣的同学可以快速的进行transform开发学习,在当前类基础上,可以无视繁琐的增量编译和额外的文件拷贝操作,只专注于Asm的学习。

    2.2K10

    无埋点实现监测的真相——革新还是噱头?

    对于想要了解无埋点这一监测方法的朋友,是非常深入浅出,详尽清楚的一篇高质量文章。   这篇文章介绍了: 1. 埋点是什么?无埋点是什么? 2. 无埋点是一种革新性的技术吗? 3. 无埋点有价值吗?...无埋点跟埋点相比的优缺点 5. 对无埋点技术的优化 正文   有好多朋友问我,无埋点是什么,不加代码就能监测了?   我总觉得应该写一篇文章以正视听。   ...Heap的负责人告诉我,他们在2013年已推出了无埋点监测技术,为此才成立这家公司。采用类似技术的公司还有数家,因此这完全不是一个刚问世的新技术,更不是一个垄断技术。   ...上图:铂金分析(Ptengine)的app无埋点监测设置界面   “无埋点”方法是怎么实现的呢?讲解有点点偏技术,如果不擅长技术看不懂就略过。...看了上面的技术解释(或者不看也不要紧),下面的事情就很容易理解了:无埋点与埋点一样,想要发挥功能,都必须要加上监测工具的基础代码。不加上基础代码,无论埋点与否,都不能实现对event(事件)的监测。

    4.4K71

    数据埋点是什么?设置埋点的意义是什么?

    数据埋点的方式 现在埋点的主流有两种方式: 第一种:自己公司研发在产品中注入代码统计,并搭建起相应的后台查询。...现在业界有吹嘘无埋点的其实并不是没有埋点,而是不需要手动埋点,其实是从接入SDK,数据就一直都在收集。有兴趣读一读提供的SDK,会更了解前端的埋点,收集的信息。...包括现在也有了不断的演化统计埋点的那些事 后端埋点 后端埋点也就是服务器端埋点,除了将接口的日志记录下来,在接口附加一些参数进行逐层传递将信息串联,因为需要依赖接口的改造通常被用来补充前端埋点不能实现的统计...埋点的内容 看完关键的这些指标后,有没有发现埋点的来源也大致分为两部分,一部分是统计应用页面访问情况,即页面统计;另外一部分是统计应用内的操作行为,及自定义事件统计。...关于埋点的数据的注意事项 不要过分追求完美 关于埋点数据有一点至关重要,埋点是为了更好地使用数据,不要试图得到精准的数据要得到的是高质量的埋点数据,前面讨论跳出率就是这个例子,得到能得到的数据,用不完美的数据来达成下一步的行动

    5K20

    AOP编程之AspectJ实战实现数据无痕埋点

    最近在给某某银行做项目的时,涉及到了数据埋点,性能监控等问题,那我们起先想到的有两种方案,方案之一就是借助第三方,比如友盟、Bugly等,由于项目是部署在银行的网络框架之内的,所以该方案不可行。...文章背景 最近在给某某银行做项目的时,涉及到了数据埋点,性能监控等问题,那我们起先想到的有两种方案,方案之一就是借助第三方,比如友盟、Bugly等,由于项目是部署在银行的网络框架之内的,所以该方案不可行...好多都应无奈之举放弃了该需求,但数据埋点实现用户行为的收集分析和性能监控对于技术部和运营部来说是一件非常有价值的事情,所以作为程序的我必应寻找解决方案,庆幸的是我们除了OOP编程思想外,还有一种编程思想就是...到这里上面所说的用户的行为跟踪就轻而易举得以实现,那么下面我们开始来了解一下这种技术。...切入点可以选择唯一一个,比如执行某一个方法,也可以有多个选择,可简单理解为带条件的Join Points,作为我们需要的代码切入点。 3、Advice(通知) 如何注入到我的class文件中的代码。

    4.1K20

    什么是数据埋点?数据埋点的工具有什么?

    所谓“埋点”,是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。...根据埋点技术可分为:代码埋点、可视化埋点、无埋点(表格形式) ?...代码埋点: 采集说明:嵌入SDK,定义事件并添加事件代码 场景:以业务价值为出发点的行为分析 优势:按需采集;业务信息更完善;对数据的分析更聚焦 劣势:与其他两种相比,开发人员多 全埋点: 采集说明:嵌入...,缺乏基于业务的解读 关键指标 我们谈论应用的好坏一般都是从几个指标来讲,了解这些指标的意义对于埋点有重要意义。...访问与访客 访问次数与访问人数是几乎所有应用都需要统计的指标,这也是最基础的指标。在计算访问人数时,埋点上报的数据是尽可能接近真实访客的人数。

    6.5K21

    App 可视化埋点技术实践精要

    后续我(最新没怎么写技术文章,后台被很多人diss了)也会从产品角度全面介绍一个业务如何从0到1实现埋点。包括这个过程中遇到的所有难题。 ?...什么是数据埋点 数据埋点是一般项目采用统计UV,PV,Action,Time等一系列的数据信息,对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。...无痕埋点 缺点: 1 sdk开发人员需提供一套无痕埋点技术成品,包括能正确获取PV,UV,Action,Time等多项统计指标。前期技术投入大。...可视化埋点 优点: 1 相对数据量而言 相比较于无埋点相而言对较低,但是这个可视化元素的识别和遍历技术是客户端或者前端所要实现的,唯一id生成也无需客户端去自定义规则,这套生成规则由相关产品在自动化工具的情况下生成配置表...值得一提的是Aop插桩对碎片化fragment支持比较好。对这块的介绍可看我以前在公众号推送的一篇文章 :AOP编程之AspectJ实战实现数据无痕埋点 更多可查阅结尾推荐的相关文章。

    4.7K20

    埋点系统技术选型-自研还是开源?

    ClkLog是一款支持快速私有化部署的开源埋点分析系统。兼容Web、App、小程序等多端埋点数据采集,帮助你快速洞察用户访问路径、行为轨迹,并生成多维用户画像。...本次我们采访的是客户公司的技术负责人,李老师。一起听他说说在开源项目选型过程中所遇到的挑战以及最终选择ClkLog的原因吧。一、公司情况1. 为什么需要用户行为分析?...李老师:一开始我们其实是打算自研的,计划在开源项目的基础上做二次开发,这样可以更好地控制成本。所以我们的核心需求主要是三点:成本可控支持私有化部署易于灵活扩展2. 为什么最终选择ClkLog?...ClkLog 是否满足了你的需求?李老师: 是的,基本满足。而且 ClkLog 的技术栈是常见框架,我们团队维护起来也比较轻松。3. 使用最多的功能是什么?当前的数据量如何?...我们特别开心看到,ClkLog能真正帮助技术团队提高部署、集成和验证的效率,让大家有更多时间专注于产品优化与业务价值的提升。

    58210

    关于程序埋点的思考

    埋点目的 对于本次修改的数据统计分析程序的埋点,只是为了统计数据中出现的一些不易发现的错误,全部让程序主动跑出来。但是只要是主动抛出统计数据,都属于埋点。...埋点方案 埋点分为前端埋点和后端埋点,常见的埋点方案有 前端代码埋点:直接在前端嵌入代码收集目标数据 前端无埋点:常见的前端埋点技术。...全部采集,按需选取 后端代码埋点:直接在后端嵌入代码收集目标数据 此次主要针对不使用第三方数据分析平台的项目进行的后端代码埋点(适用于数据统计分析监控程序这种场景) 后端埋点的设计必然要考虑以下几点:...高灵活:可以随时随地手工埋点 小影响:对源代码侵入少 已更新:埋点内容变化时,只需要修改埋点接口,而不能去代码中一处一处的修改 在一些公共库或者封装的自定义框架里面不进行埋点,所有的埋点都在业务层。...例如Erlang编写的转推流服务中调用Python脚本抛出报错信息及其他数据。 参考: 神策数据:埋点套路深,千万别掉“坑” 数据分析产品的下一个进化:基于无埋点的有埋点 美团点评前端无痕埋点实践

    2.1K31

    58无埋点数据采集技术在Android端实践

    本文将从技术选型、技术实现方案角度详细介绍Android端无埋点数据采集技术。 一、技术选型 首先,技术是为需求提供服务的,WMDA的定位是采用无埋点技术来实现用户行为的分析。...作为无埋点解决方案,SDK核心点就是事件的无痕采集。 其中,这三种事件又对应不同的采集处理方式,WMDA通过不同的技术方案进行采集,最后将事件统一处理,然后存储、上报。...三、现存问题 当然,现阶段无埋点技术采用的字节码插桩方案还是存在一些短板,需要我们后续探索和解决。...四、总结 本文主要介绍了58无埋点数据采集技术在Android端实践。包括字节码插桩在无埋点的使用、对采集事件的处理等。...同时现阶段无埋点技术还是存在一些问题需要我们后续探索和解决,欢迎感兴趣的同学和我们一起交流。

    4.7K20

    给你的系统做好埋点

    在年终汇报的时候,领导希望他能够提供一些真实的使用数据。小陈只是简单地提交了一些沉淀的用例数、测试报告、执行情况等专业的业务数据。然后领导来了个灵魂拷问:这个系统哪些功能点用户用得多?...在平台改进的过程中,除了业务优化外,还需要结合用户的使用情况,针对核心的、热点的功能进行重点优化。 所以,需要做好埋点数据,让更真实的数据说话。...Audit的简单实现如下: 这样就可以记录用户行为了,还可以针对Audit做更多的扩展,灵活度更高。 03 如果企业内部有统一的埋点平台,那就更简单的,直接对接接入就好。省时省力。...04 埋点数据能够比业务数据更真实地反馈系统的实际价值,因为业务数据是可以通过批量导入、设置无效数据、生成脏数据等方法制造出来。...但是通过埋点数据的梳理,确认高频的URL分析,高频的用户IP分析,高频的User-agent分析,有助于产品、研发、测试更好地了解系统的真实使用情况。 测试人员为什么要懂这些呢?

    44010

    手把手教你搭建一个无框架埋点体系

    背景 埋点体系构成 一般来说,一个完整的埋点体系由以下三个部分构成: 应用 数据分析平台 数据平台 SDK 埋点上报是将应用层事件上传至上层平台的过程。...通过以上描述,我们认识了埋点上报过程的两大主角:应用与数据分析平台。从前端技术的角度来说,我们通常还需要第三个角色的助攻,那就是数据平台 SDK....下面,我们就来详细地讲解一下这两套 SDK 的技术知识。...因此,我们基于 TypeScript 开发对框架无感的 monitor SDK....下面我们来看一下 monitor 和 monitor-tracer SDK 具体的技术设计及实现方法。 三种埋点注入方式 类指令式 monitor 提供了类指令方式注入埋点。

    3.4K20

    Cobub无码埋点关键技术实现流程(附图)

    随着大数据时代的到来,数据采集也已经变的越来越重要。前端埋点作为一个比较成熟的数据接入手段被广泛应用着。目前埋点分为两种方式,有码与无码埋点。...有码埋点比较容易理解,即调用SDK的API,在代码中插入埋点的相关代码,实现用户行为采集。...由于我们在开发项目的时候,埋点都是手动的,每次业务需求的改变都要到处埋点,而无码埋点,即不需要手动插入代码,只需要前期进行相关配置,SDK自动采集用户行为,极大程度避免了因需求变更、埋点错误等原因导致的重新埋点繁复工作...本文主要介绍无码埋点的技术实现。 无码埋点的实现流程 1.可视化视图圈选,在页面上会出现浮动的圆圈,拖动圆圈至想配置事件的控件上,将会弹出输入事件的弹框。...总结 无码埋点的关键技术,就是以上分析的几点,首先通过可视化圈选拿到需要绑定事件视图,并生成唯一标识viewPath,通过hook系统控件的方法,拿到用户触发的视图,生成视图的viewPath与本地的事件列表比对

    1.9K60

    前端埋点上报的几种方式

    简介--在现代Web应用程序中,埋点上报是一种重要的数据收集和分析手段。本文将介绍前端埋点上报的几种常见方式,并详细阐述如何在项目中运用这些方式进行数据上报,以帮助开发者更好地进行数据收集和分析。...上报方式在前端中,常见的埋点上报方式有以下几种:1....埋点配置:根据百度统计提供的文档和指南,你可以配置需要进行埋点跟踪的事件、页面浏览、自定义变量等。这通常涉及在特定事件或页面上添加特定的代码片段。...使用方式接口设计:根据业务需求,设计并开发一个用于接收和处理埋点数据的自定义接口。这可以是一个后端API接口,可以使用任何后端技术栈来实现。...同时也可以根据具体情况结合多种方式进行埋点上报,以满足不同的需求。我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

    3K20

    【rainbowzhou 面试10101】技术提问--如何进行埋点测试?

    在【rainbowzhou 面试3/101】技术提问--大数据测试是什么,你如何测?...本篇将聊聊埋点测试是什么、埋点测试的流程以及埋点测试需要注意的点,希望对大家有所帮助。 埋点测试是什么?...而埋点测试就是对埋点数据的测试。 现在埋点方式主要分为三种,分别是:代码埋点、可视化埋点、无埋点(全埋点)。 代码埋点主要由研发工程师手工在程序中写代码实现,通过触发某个动作后程序自动发送数据。...无埋点(全埋点)绑定页面的各个控件,当事件触发时就会调用相关的接口上报数据。优点:不需要埋点,方便、快捷、省事。缺点:传输数据量比较大,需要消耗一定的数据存储资源。...埋点测试需要注意的点 1.语义准确(一致性) 语义准确指的主要是我们要知道开发埋的是一个什么类型的点,这里的类型指代一个一个语义模型,例如一个卡片曝光( show + card )、一个按钮曝光( show

    97731

    SpringBoot的埋点监控你做了吗

    一般,我们叫这样的操作为”埋点”。SpringBoot中的依赖spring-actuator中集成的度量统计API使用的框架是Micrometer,官网是Micrometer.io。...Tag的命名一般需要是有意义的,所谓有意义就是可以根据Tag的命名可以推断出它指向的数据到底代表什么维度或者什么类型的度量指标。...Gauge一般用于监测有自然上界的事件或者任务,而Counter一般使用于无自然上界的事件或者任务的监测,所以像Http请求总量计数应该使用Counter而非Gauge。...有逻辑上界的浮动值的监测,例如积压的消息、(线程池中)积压的任务等,其实本质也是集合或者映射的监测。...下面花一点时间从零开始搭建一个这样的系统,使用CentOS7。

    2.9K30

    日志埋点系统的架构与实现

    什么是埋点? 所谓“埋点”,是数据采集领域(尤其是用户行为数据采集领域)的术语。指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。...埋点的技术实质,是先监听软件应用运行过程中的事件,当需要关注的事件发生时进行判断和捕获。 意义何在?...; 监控应用运行状态,提供问题跟踪定位的数据支持; 为营销策略提供数据支持; 实施 AB Testing; 作为数据平台中,数据采集的一个不可缺少的环节; 埋点的技术难点 现在的业务技术架构都不仅仅是单独的一种技术方案能解决的...埋点的方式 埋点方式多种多样,按照埋点位置不同,可以分为前端(客户端)埋点与后端(服务器端)埋点,其中前端埋点包括:代码埋点、全埋点、可视化埋点。 这些埋点方式的比较如下: ?...埋点准确性顺序 代码埋点 > 可视化埋点 > 全埋点 最理想的埋点方式? 任何单一的埋点方式都存在优点与缺点,希望通过简单粗暴的几行代码、一次部署、甚至牺牲用户体验的埋点方式,都不是我们所期望的。

    10.9K10
    领券