[发明专利]一种移动端无码埋点解决方法有效
| 申请号: | 202010176659.8 | 申请日: | 2020-03-13 |
| 公开(公告)号: | CN111352849B | 公开(公告)日: | 2023-05-16 |
| 发明(设计)人: | 吴钟侑;顾湘余;韩晟 | 申请(专利权)人: | 杭州趣维科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 杭州橙知果专利代理事务所(特殊普通合伙) 33261 | 代理人: | 贺龙萍 |
| 地址: | 310012 浙江省杭州市西湖*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 移动 端无码埋点 解决方法 | ||
本发明公开了一种移动端无码埋点解决方法。它具体包括如下步骤:在安卓系统app端接入信息上报模块;通过编译期无码插桩技术对app中所有函数的进入和退出插入代码片段,并为每个函数生成不一样的标识符用于区分;在服务器端配置需要上报的唯一埋点标识符,在app启动时获取服务器需要上报埋点标识符,保存到本地文件A中;app程序运行时,每个函数在进入和退出时,会先运行插桩的代码块,根据判断是否和本地文件A中需要上报的埋点标识符相符合,如果符合则上报到服务器端;服务器端分析是否函数运行异常。本发明的有益效果是:帮助开发者实现无码埋点,在代码编译期就自动实现埋入上报代码,协助开发者统计数据查找问题。
技术领域
本发明涉及APP应用程序处理相关技术领域,尤其是指一种移动端无码埋点解决方法。
背景技术
在智能手机高速发展的今天,安卓手机机型和系统的多样性,同一个App在市场中需要面临各种手机机型的挑战。手机程序在运行中出现异常数据也时有发生。为了帮助开发者快速定位问题,在程序运行中埋点也成了追踪问题的方式之一。埋点:为了记录程序的执行动作或结果数据而做的统计。
现有的Android App开发埋点需要开发者在开发过程中,手动在一些程序函数中加入统计代码,上报给服务器端。一旦服务器端想要统计新的埋点数据,就不得不通过发布新的app版本来实现,且app的版本迭代需要较长的周期,无法满足快速实统计数据验证程序问题的需求。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种自动实现埋入上报的移动端无码埋点解决方法。
为了实现上述目的,本发明采用以下技术方案:
一种移动端无码埋点解决方法,具体包括如下步骤:
(1)在安卓系统app端接入信息上报模块;
(2)通过编译期无码插桩技术对app中所有函数的进入和退出插入代码片段,并为每个函数生成不一样的标识符用于区分;
(3)在服务器端配置需要上报的唯一埋点标识符,在app启动时获取服务器需要上报埋点标识符,保存到本地文件A中;
(4)app程序运行时,每个函数在进入和退出时,会先运行插桩的代码块,根据判断是否和本地文件A中需要上报的埋点标识符相符合,如果符合则整合函数标识符和函数的参数或者返回结果,上报到服务器端;
(5)服务器端根据app端上报的数据,分析是否函数运行异常。
其中:无码指的是不需要开发者在开发过程手动编写代码。插桩指的是在保证程序原有逻辑完整性的基础上,在程序中插入一些代码片段。本方法解决的问题就是帮助开发者实现无码埋点,在代码编译期就自动实现埋入上报代码,帮助开发者让App能够根据服务器配置快速开始统计app程序动作或结果数据,协助开发者统计数据查找问题。
作为优选,在步骤(1)中,具体操作方法为:新建日志类LogReportUtil.java,添加静态函数reportLog用于将采集到的程序运行信息发送给服务器。
作为优选,在步骤(2)中,具体操作方法为:通对Gradle编译期Transform任务的Hook,在transform中创建ClassVisitor,即可对所有类文件进行编译期字节码无码插桩,利用对ClassVisitor中的onMethodEnter和onMethodExit的自定义处理,成功的对App工程所有函数的进入和退出分别插入代码片段,标识符组成方式:包路径+类名+方法名+参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣维科技有限公司,未经杭州趣维科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010176659.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于模型驱动的组件端口建模方法及终端
- 下一篇:一种装配式建筑结构体系





