[发明专利]一种基于数据和状态的移动应用埋点方法在审
申请号: | 202011084491.4 | 申请日: | 2020-10-12 |
公开(公告)号: | CN112230917A | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | 金小俊;赵化;王兴明 | 申请(专利权)人: | 上海赛可出行科技服务有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F11/36;G06F3/0488;G06F9/451 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200131 上海市浦东新区自由贸*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据 状态 移动 应用 方法 | ||
1.一种基于数据和状态的移动应用埋点方法,其特征在于,所述移动应用埋点方法包含埋点配置MIS系统和客户端埋点SDK,埋点配置和实施流程如下:
一、MIS系统埋点配置
以页面为单位进行埋点配置,页面以类名作为唯一标识;若存在该页面的设计图,则直接将设计图导入MIS系统,若没有相应的设计图,则在APP端进行截屏并将该页面截图上传到MIS系统,若是导入的设计图则需要开发人员在MIS端输入页面标识符;
1.数据配置
页面导入成功后,由开发人员将数据名称,数据变量名和数据值名称进行绑定后,绑定后生成数据列表,供运营人员配置埋点时使用,比如开发人员在数据/状态配置系统配置数据订单类型,数据名称为订单类型,数据变量名安卓为this.orderType,iOS为self.orderType,数据值名称为预约单,往返单,包车单,对应的变量值为0,1,2,配置完成后,运营人员在埋点配置系统看到的数据为:可配置数据订单类型,对应的取值为预约单,往返单,包车单;
2.状态配置
状态配置为指定在何种情况下进行埋点值的匹配和记录,MIS系统默认提供两种类型的可选状态,包括通用状态和方法执行状态,通用状态包括控件交互,页面交互和视图交互状态,方法执行状态为指定的方法或函数的执行状态;
2.1控件交互
控件交互包括点击事件,长按手势,拖动手势,滑动手势,缩放手势,表示用户对APP进行交互的状态,比如下单页面,有三个tab,对应订单类型中的预约单,往返单,包车单,点击相应的tab后展现不同的下单界面,则运营人员在配置状态时为,设置控件交互下的点击事件状态,当订单类型为预约单记录埋点值click_reserve_order,即当有点击事件发生时,检测订单类型是否发生变化,若发生变化且新值为预约单,则记录埋点值click_reserve_order;
2.2页面交互
页面交互状态主要用来记录PV埋点,包括页面进入,页面退出,在MIS系统可直接配置页面进入和页面退出分别对应的埋点值,比如在订单详情页,配置页面进入状态下的埋点值为order_detail_enter,页面退出状态下的埋点值为order_detail_leave,埋点SDK在监控导航栈变化的时候,当导航栈新增内容时判断当前页面是否是订单详情页,若是,则记录埋点order_detail_enter,页面退出的埋点同理;
2.3视图交互
视图交互状态包括普通视图,弹窗两种,普通视图为当前页面上添加或展现的视图,弹窗则为Window上添加或展现的视图,在设置视图交互状态时还需指定视图的名称,视图的名称以视图的类名来标识,如果是非自定义的视图,不同的弹窗其类名是相同的,这种情况下视图标识符取类名加弹窗上的标题文本,比如点击查看计费详情按钮,会弹出计费详情页面,其状态配置为:在普通视图状态时,当视图名称为计费详情页时,记录埋点值click_price_detail_view,需要注意的是,此处的计费详情页也属于数据配置,需要由开发人员事先绑定数据值后再提供给运营人员,计费详情页会绑定标识名称,即类名PriceDetailView;
2.4方法执行
方法执行状态用来表示某种操作的进行,以页面中的指定方法开始执行和结束执行为依据,比如,当用户请求行程预估价格时,记录埋点值request_estimate_price,请求预估价格失败时记录埋点值request_estimate_price_failed.在这个情况下,首先由开发人员将请求行程预估价格与类中的方法requestEstimatePrice()进行绑定,之后,运营人员在MIS端配置埋点:在方法执行-请求行程预估价格-开始状态时,记录埋点值request_estimate_price,在方法执行-请求预估价格-结束状态时,当返回值为false时,记录埋点值request_estimate_price_failed,方法执行默认提供开始和结束两个子状态,对应到埋点SDK端即hook的时候,在原方法执行前注入埋点代码和原方法执行后注入埋点代码;
二、客户端埋点SDK
客户端埋点SDK包含的功能和流程如下:
1.与MIS系统的连接和信息传输
埋点SDK实现在DEBUG模式下摇一摇上传当前页面截图到MIS端,并在上传之前判断是否与MIS已建立连接,若未建立连接则调用接口上传连接信息至MIS系统;
2.数据变量值的读取和匹配
对MIS端下发的埋点配置表中的变量在状态条件满足时进行匹配,运行时读取值的方法:iOS端采用KVC的方式,Android采用反射的方式;
3.状态的监控
3.1控件交互状态的监控
通过hook控件的响应事件来进行监控,对于点击事件,hook系统的点击事件方法,当该方法执行时表示点击事件发生,此时读取埋点配置表中该状态下的数据列表,对数据值进行匹配,根据匹配结果记录埋点值,手势事件的监控同理;
3.2页面交互状态的监控
对系统的导航栈进行监控,若导航栈内的页面发生变化,即代表页面发生了跳转,根据导航栈内页面是增加还是减少来判断是页面进入或是页面退出;
3.3视图交互状态的监控
对当前视图或Window视图的所有子视图列表进行监控,若列表发生增减,即代表视图发生了变化,根据发生变化的视图标识符来进行埋点匹配;
3.4方法执行状态的监控
读取MIS系统下发的埋点配置表中指定的状态方法名,对所有指定的方法进行hook操作,hook时根据子状态是开始还是结束来判断hook的操作是在原方法执行前生效还是执行后生效,另外,hook方法时同时获取方法的入参和出参,供埋点的子状态下数据匹配时使用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海赛可出行科技服务有限公司,未经上海赛可出行科技服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011084491.4/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置