一种基于AOP用户行为数据统一采集的开发方法与流程

文档序号:36329125发布日期:2023-12-10 00:43阅读:31来源:国知局
本发明涉及手机银行app领域,尤其涉及一种基于aop用户行为数据统一采集的开发方法。
背景技术
::1、用户使用手机银行app完成某种业务或者参与某个营销活动都会产生用户的行为数据,业务人员根据需要统计他们感兴趣的数据如:包括每个页面访问数某个页面停留时长,页面内业务功能的使用率,这样的信息收集可以大致分为两种:页面统计,操作行为统计。这些数据的捕获,处理,上报以及实施过程统称为埋点。这些通过埋点收集的数据以可视化的形式呈现出来,作为产品方向和运营决策的依据。2、产品人员对app内页面的业务模块进行埋点说明,包括埋点事件类型,埋点属性值定义,然后制定成埋点文档表格。开发人员根据埋点说明在业务模块内加入埋点代码,因为侵入了业务代码,系统代码,对已有代码产生了污染,不易维护,上述埋点简称代码埋点。代码埋点需要产品人员,开发人员共同维护,易出现遗漏,且使用成本高。3、代码埋点前期需要运营和产品做好业务埋点表,需要大量手工录入,数据不全面,易出现遗漏,每次业务变化,产品人员都需要更新埋点表,开发人员需要及时开发埋点代码,且每次产品人员和开发人员都要共同参与。开发人员每次在业务模块添加埋点代码后都需要跟随app版本一起发布才能生效,无法动态更新及时添加埋点,导致埋点时效性弱,耽误数据的收集与统计。4、基于aop无代码埋点实现了对原有代码的零侵入,好拆解,易于开发人员进行维护,用研或者产品人员一方负责即可无需双方共同维护。利用圈选工具进行可视化圈选由圈选工具生成需要的埋点说明并上传,不需要产品人员提供埋点表。此埋点方案覆盖app运行时的所有事件,采集到的数据全面、无遗漏,app不发版就可完成新业务数据采集工作埋点时效性强,埋点的配置方式和解析方式可脱离手机银行app封装为sdk(开发工具包)在多个项目中重复使用。做用户行为数据收集业务时,一次接入无埋点sdk即可,无需二次开发。技术实现思路1、鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种基于aop用户行为数据统一采集的开发方法。2、根据本发明的一个方面,提供了一种基于aop用户行为数据统一采集的开发方法,所述开发方法包括:3、利用app的runtime特性实现method swizzling交换方法,对所述交换方法进行aop形式的封装;4、利用hook方法完成app系统类事件拦截;5、利用hook方法完成app系统代理类的拦截;6、利用hook方法完成app自定义类的事件拦截;7、对app中某个页面的某个view进行数据收集、统计与分析;8、通过app的kvc特性获取对象的属性。9、可选的,所述利用hook方法完成app系统类事件拦截具体包括:10、hook了系统的uiviewcontroller的生命周期的方法。11、可选的,所述利用hook方法完成app系统代理类的拦截具体包括:12、在实现列表元素点击事件的收集时,采用13、hook uitableviewdelegate14、中的tableview:didselectrowatindexpath方法。15、可选的,所述利用hook方法完成app自定义类的事件拦截具体包括:16、手势对象所指定的target中的action方法,按钮点击的uicontrolevent方法。17、可选的,所述对app中某个页面的某个view进行数据收集、统计与分析具体包括:18、采用viewpath,计算出的viewid来标识,能够唯一的标识与定位视图。19、可选的,所述通过app的kvc特性创建kvc配置文件。20、可选的,所述kvc配置文件的配置信息包括:21、用来标识应用的appkey;22、用于标识应用的版本号appversion;23、标识某个事件类型viewevent;24、目标view在viewtree中的信息viewpath;25、目标view与要收集的业务数据间的关联路径,用于kvc取值;26、为要收集的业务数据定义一个key,最终组成key-value的形式上报,用于区分多个收集的数据。27、本发明提供的一种基于aop用户行为数据统一采集的开发方法,所述开发方法包括:利用app的runtime特性实现method swizzling交换方法,对所述交换方法进行aop形式的封装;利用hook方法完成app系统类事件拦截;利用hook方法完成app系统代理类的拦截;利用hook方法完成app自定义类的事件拦截;对app中某个页面的某个view进行数据收集、统计与分析;通过app的kvc特性获取对象的属性。不侵入已有代码实现拦截app所有的事件,包括生命周期事件,按钮点击事件,手势事件,应用状态切换事件,点击回调事件。对页面的控件元素的进行唯一标识。28、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。技术特征:1.一种基于aop用户行为数据统一采集的开发方法,其特征在于,所述开发方法包括:2.根据权利要求1所述的一种基于aop用户行为数据统一采集的开发方法,其特征在于,所述利用hook方法完成app系统类事件拦截具体包括:3.根据权利要求1所述的一种基于aop用户行为数据统一采集的开发方法,其特征在于,所述利用hook方法完成app系统代理类的拦截具体包括:4.根据权利要求1所述的一种基于aop用户行为数据统一采集的开发方法,其特征在于,所述利用hook方法完成app自定义类的事件拦截具体包括:5.根据权利要求1所述的一种基于aop用户行为数据统一采集的开发方法,其特征在于,所述对app中某个页面的某个view进行数据收集、统计与分析具体包括:6.根据权利要求1所述的一种基于aop用户行为数据统一采集的开发方法,其特征在于,所述通过app的kvc特性创建kvc配置文件。7.根据权利要求6所述的一种基于aop用户行为数据统一采集的开发方法,其特征在于,所述kvc配置文件的配置信息包括:技术总结本发明提供的一种基于AOP用户行为数据统一采集的开发方法,所述开发方法包括:利用App的Runtime特性实现Method Swizzling交换方法,对所述交换方法进行AOP形式的封装;利用hook方法完成App系统类事件拦截;利用hook方法完成App系统代理类的拦截;利用hook方法完成App自定义类的事件拦截;对APP中某个页面的某个view进行数据收集、统计与分析;通过APP的KVC特性获取对象的属性。不侵入已有代码实现拦截APP所有的事件,包括生命周期事件,按钮点击事件,手势事件,应用状态切换事件,点击回调事件。对页面的控件元素的进行唯一标识。技术研发人员:燕航,张自力受保护的技术使用者:北银金融科技有限责任公司技术研发日:技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1