CN113254315A - 埋点信息的上报方法、埋点方法、装置、介质、电子设备 - Google Patents
埋点信息的上报方法、埋点方法、装置、介质、电子设备 Download PDFInfo
- Publication number
- CN113254315A CN113254315A CN202110629381.XA CN202110629381A CN113254315A CN 113254315 A CN113254315 A CN 113254315A CN 202110629381 A CN202110629381 A CN 202110629381A CN 113254315 A CN113254315 A CN 113254315A
- Authority
- CN
- China
- Prior art keywords
- page
- point object
- buried point
- buried
- embedded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施方式涉及一种埋点信息的上报方法、埋点方法、装置、介质、电子设备,涉及计算机技术领域。所述埋点信息的上报方法包括:响应于针对客户端的触发操作,确定所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树;根据所述埋点对象树中的父子关系,确定出所述埋点对象树中的埋点对象的坑位信息;针对所述埋点对象树中的每个所述埋点对象,获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值,以对每个所述埋点对象进行埋点信息上报。本公开基于埋点对象树可以提升埋点信息上报的效率和准确性。
Description
技术领域
本公开的实施方式涉及计算机技术领域,更具体地,本公开的实施方式涉及一种埋点信息的上报方法、埋点信息的上报装置、埋点方法、埋点装置、计算机可读存储介质及电子设备。
背景技术
本部分旨在为权利要求中陈述的本公开的实施方式提供背景或上下文,此处的描述不因为包括在本部分中就承认是现有技术。
埋点是在应用中特定的流程收集一些信息,用来跟踪应用使用的情况,以为后续的进一步优化产品提供数据支撑。
现有技术中的埋点方案主要分为以下3种:第一种是面向坑位的有限抽象埋点设计和事先管理,即将所有的上报参数直接在埋点或最终坑位上进行重复枚举约束;第二种是无埋点方案,也称之为全埋点,即利用客户端的原始用户界面层级结构进行坑位的描述,进行埋点信息的全上报,后期再根据需要对全上报的埋点信息进行选择使用;第三种是圈选埋点方案,即采用与客户端布局紧密结合的后置选取埋点方案。
发明内容
然而,第一种埋点方案由于采用不多于“页面-子页面-模块-元素”四个层级的坑位描述方法,当埋点数据处于一个复杂的层级结构时,该方案本身的坑位描述存在信息缺失,因此存在埋点的坑位信息描述不够准确的问题,进而造成埋点信息上报的准确性较低,且其存在埋点后期维护管理成本较高的问题;第二种埋点方案和第三种埋点方案均存在埋点的坑位描述不稳定的问题、后期维护成本高的问题,即在每个版本的客户端都需要进行坑位的重新选定,且在不同类型的客户端也可能具有不同的坑位描述,从而导致后期对埋点的维护管理成本较高,且其埋点信息上报的效率也较低。
为此,非常需要一种改进的埋点信息的上报方法,可以同时提高埋点信息上报的准确性和埋点信息上报的效率,降低埋点的后期维护成本。
在本上下文中,本公开的实施方式期望提供一种埋点信息的上报方法、埋点信息的上报装置、埋点方法、埋点装置、计算机可读存储介质及电子设备。
根据本公开实施方式的第一方面,提供一种埋点信息的上报方法,包括:响应于针对客户端的触发操作,确定所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树;根据所述埋点对象树中的父子关系,确定出所述埋点对象树中的埋点对象的坑位信息;针对所述埋点对象树中的每个所述埋点对象,获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值,以对每个埋点对象进行埋点信息上报。
在一种可选的实施方式中,所述确定所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树,包括:根据所述目标显示页面的预设界面父子关系,确定出所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树。
在一种可选的实施方式中,所述方法还包括:基于所述目标显示页面的用户界面组件,确定所述目标显示页面中可操作的用户界面和/或承载用户分发内容的用户界面的预设界面父子关系,以使所述客户端根据所述预设界面父子关系生成所述目标显示页面;根据所述目标显示页面的预设界面父子关系,确定出所述目标显示页面中埋点对象对应的埋点对象树,以使所述客户端根据所述埋点对象树中的埋点对象在对应的用户界面进行埋点。
在一种可选的实施方式中,所述根据所述埋点对象树中的父子关系,确定出所述埋点对象树中的埋点对象的坑位信息,包括:针对所述埋点对象树中的每个埋点对象执行以下过程:基于所述埋点对象树中的父子关系和预先为所述埋点对象树中的埋点对象配置的埋点对象标识,确定所述埋点对象到所述埋点对象树中的根对象的埋点对象标识链;在所述埋点对象标识链中添加所述埋点对象的位置属性信息,以得到所述埋点对象的坑位信息。
在一种可选的实施方式中,所述获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值,包括:根据所述埋点对象的坑位信息中所包含的埋点对象标识在所述埋点对象标识链中的顺序,遍历所述埋点对象的坑位信息中埋点对象标识对应的埋点对象,以获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值。
在一种可选的实施方式中,所述埋点信息上报参数值包括所述客户端对应的设备类型、客户端对应的会话标识、客户端的版本信息、客户端对应的用户标识、埋点对象标识、埋点对象名称、埋点对象内容标识中的至少一种。
在一种可选的实施方式中,所述埋点信息上报参数值包括第一埋点归因参数值,所述第一埋点归因参数值通过以下方式确定:在所述触发操作对应的当前埋点对象的类型为页面时,根据所述客户端启动后所述当前埋点对象所在页面的页面曝光顺序、所述客户端启动后所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第一埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;在所述触发操作对应的当前埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第一埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述当前埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
在一种可选的实施方式中,所述方法还包括:确定创建所述目标显示页面的原始触发操作针对的原始埋点对象;根据所述原始触发操作针对的原始埋点对象的类型,确定出所述目标显示页面中埋点对象的第二埋点归因参数值,对所述第二埋点归因参数值进行上报;其中,所述第二埋点归因参数值通过以下方式确定:在所述原始触发操作针对的原始埋点对象的类型为页面时,根据所述客户端启动后所述原始埋点对象所在页面的页面曝光顺序、所述客户端启动后所述原始埋点对象的根对象所在页面的页面曝光顺序以及所述原始埋点对象的坑位信息,确定出所述目标显示页面中的埋点对象的第二埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;在所述原始触发操作对应的原始埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述原始埋点对象的根对象所在页面的曝光顺序以及所述原始埋点对象的坑位信息,确定出所述目标显示页面中的埋点对象的第二埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述原始埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
在一种可选的实施方式中,所述方法还包括:根据所述客户端最近一次启动时的会话标识,确定出所述目标显示页面中的埋点对象的第三埋点归因参数值,对所述第三埋点归因参数值进行上报。
在一种可选的实施方式中,所述方法还包括:所述方法还包括:确定与所述触发操作预先关联的服务端埋点对象;对所述服务端埋点对象对应的第四埋点归因参数值进行上报;其中,所述第四埋点归因参数值通过以下方式确定:在所述触发操作对应的当前埋点对象的类型为页面时,根据所述客户端启动后所述当前埋点对象所在页面的页面曝光顺序、所述客户端启动后所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第四埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;在所述触发操作对应的当前埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述当前埋点对象的根对象所在页面的曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第四埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述当前埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
根据本公开实施方式的第二方面,提供一种埋点方法,包括:根据待埋点显示页面的预设界面父子关系,确定出所述待埋点显示页面的预设埋点对象树;为所述预设埋点对象树中的各埋点对象配置埋点对象标识和埋点信息上报参数;针对所述预设埋点对象树中的每个埋点对象,根据所述埋点对象标识和埋点信息上报参数在所述埋点对象对应的界面中进行埋点,以使得客户端在接收到曝光所述待埋点显示页面的触发操作后,根据所述预设界面父子关系确定的所述预设埋点对象树进行埋点信息上报。
在一种可选的实施方式中,所述待埋点显示页面的预设界面父子关系通过以下方式确定:基于所述待埋点的显示页面的用户界面组件,确定待埋点显示页面中可操作的用户界面和/或承载用户分发内容的用户界面的预设界面父子关系。
根据本公开实施方式的第三方面,提供一种埋点信息的上报装置,包括:埋点对象树确定模块,被配置为响应于针对客户端的触发操作,确定所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树;坑位信息确定模块,被配置为根据所述埋点对象树中的父子关系,确定出所述埋点对象树中的埋点对象的坑位信息;埋点信息上报模块,被配置为针对所述埋点对象树中的每个所述埋点对象,获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值,以对每个所述埋点对象进行埋点信息上报。
在一种可选的实施方式中,所述确定所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树,包括:根据所述目标显示页面的预设界面父子关系,确定出所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树。
在一种可选的实施方式中,所述埋点信息的上报装置还包括预先埋点模块,所述预先埋点模块被配置为:基于所述目标显示页面的用户界面组件,确定所述目标显示页面中可操作的用户界面和/或承载用户分发内容的用户界面的预设界面父子关系,以使所述客户端根据所述预设界面父子关系生成所述目标显示页面;根据所述目标显示页面的预设界面父子关系,确定出所述目标显示页面中埋点对象对应的埋点对象树,以使所述客户端根据所述埋点对象树中的埋点对象在对应的用户界面进行埋点。
在一种可选的实施方式中,所述坑位信息确定模块还被具体配置为:针对所述埋点对象树中的每个埋点对象执行以下过程:基于所述埋点对象树中的父子关系和预先为所述埋点对象树中的埋点对象配置的埋点对象标识,确定所述埋点对象到所述埋点对象树中的根对象的埋点对象标识链;在所述埋点对象标识链中添加所述埋点对象的位置属性信息,以得到所述埋点对象的坑位信息。
在一种可选的实施方式中,所述埋点信息上报模块还被具体配置为:根据所述埋点对象的坑位信息中所包含的埋点对象标识在所述埋点对象标识链中的顺序,遍历所述埋点对象的坑位信息中埋点对象标识对应的埋点对象,以获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值。
在一种可选的实施方式中,所述埋点信息上报参数值包括所述客户端对应的设备类型、客户端对应的会话标识、客户端的版本信息、客户端对应的用户标识、埋点对象标识、埋点对象名称、埋点对象内容标识中的至少一种。
在一种可选的实施方式中,所述埋点信息上报参数值包括第一埋点归因参数值,所述第一埋点归因参数值通过以下方式确定:在所述触发操作对应的当前埋点对象的类型为页面时,根据所述客户端启动后所述当前埋点对象所在页面的页面曝光顺序、所述客户端启动后所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第一埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;在所述触发操作对应的当前埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第一埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述当前埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
在一种可选的实施方式中,所述埋点信息的上报装置还包括第二埋点归因参数值上报模块,该模块被配置为:确定创建所述目标显示页面的原始触发操作针对的原始埋点对象;根据所述原始触发操作针对的原始埋点对象的类型,确定出所述目标显示页面中埋点对象的第二埋点归因参数值,对所述第二埋点归因参数值进行上报;其中,所述第二埋点归因参数值通过以下方式确定:在所述原始触发操作针对的原始埋点对象的类型为页面时,根据所述客户端启动后所述原始埋点对象所在页面的页面曝光顺序、所述客户端启动后所述原始埋点对象的根对象所在页面的页面曝光顺序以及所述原始埋点对象的坑位信息,确定出所述目标显示页面中的埋点对象的第二埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;在所述原始触发操作对应的原始埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述原始埋点对象的根对象所在页面的曝光顺序以及所述原始埋点对象的坑位信息,确定出所述目标显示页面中的埋点对象的第二埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述原始埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
在一种可选的实施方式中,所述埋点信息的上报装置还包括第三埋点归因参数值上报模块,该模块被具体配置为:根据所述客户端最近一次启动时的会话标识,确定出所述目标显示页面中的埋点对象的第三埋点归因参数值,对所述第三埋点归因参数值进行上报。
在一种可选的实施方式中,所述埋点信息的上报装置还包括第四埋点归因参数值上报模块,该模块被具体配置为:确定与所述触发操作预先关联的服务端埋点对象;对所述服务端埋点对象对应的第四埋点归因参数值进行上报;其中,所述第四埋点归因参数值通过以下方式确定:在所述触发操作对应的当前埋点对象的类型为页面时,根据所述客户端启动后所述当前埋点对象所在页面的页面曝光顺序、所述客户端启动后所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第四埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;在所述触发操作对应的当前埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述当前埋点对象的根对象所在页面的曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第四埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述当前埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
根据本公开实施方式的第四方面,提供一种埋点装置,包括:预设埋点对象树确定模块,被配置为根据待埋点显示页面的预设界面父子关系,确定出所述待埋点显示页面的预设埋点对象树;埋点上报参数配置模块,被配置为为所述预设埋点对象树中的各埋点对象配置埋点对象标识和埋点信息上报参数;埋点模块,被配置为针对所述预设埋点对象树中的每个埋点对象根据所述埋点对象标识和埋点信息上报参数在所述埋点对象对应的界面中进行埋点,以使得客户端在接收到曝光所述待埋点显示页面的触发操作后,根据所述预设埋点对象树进行埋点信息上报。
在一种可选的实施方式中,所述待埋点显示页面的预设界面父子关系通过以下方式确定:基于所述待埋点的显示页面的用户界面组件,确定待埋点显示页面中可操作的用户界面和/或承载用户分发内容的用户界面的预设界面父子关系。
根据本公开实施方式的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种埋点信息的上报方法和/或埋点方法。
根据本公开实施方式的第六方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一种埋点信息的上报方法和/或埋点方法。
根据本公开实施方式的埋点信息上报方法、埋点信息上报装置、埋点方法、埋点装置、介质及电子设备,通过确定针对客户端的触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树,根据埋点对象树中的父子关系,可以确定出埋点对象树中的各埋点对象的坑位信息,进而可以根据埋点对象的坑位信息进行埋点信息的上报。一方面,基于埋点对象树中的父子关系来确定埋点对象的坑位信息,可以避免埋点在不同客户端具有不同的坑位描述,提高埋点坑位信息描述的稳定性,从而降低埋点的维护成本,进而提高埋点信息上报的效率;另一方面,本公开通过确定触发操作所曝光的目标显示页面中的埋点对象对应的埋点对象树,进而根据所确定的埋点对象树实现埋点信息的上报,由于确定的埋点对象树与触发操作所曝光的目标显示页面中的埋点对象对应,从而可以对每个埋点对象提供准确的坑位描述,提高埋点信息上报的准确性。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示出了根据本公开实施方式的一种埋点信息的上报方法的示意图;
图2示出了根据本公开实施方式的一种在目标显示页面中进行埋点的方法示意图;
图3A示出了根据本公开实施方式的一种页面;
图3B示出了图3A中的页面的实际用户界面层级实现的树形结构的示意图;
图3C示出了图3A中的页面的埋点对象树的示意图;
图4A、图4B、图4C、图4D、图4E示出了根据本公开实施方式的一种埋点对象树随客户端的显示页面变化的示意图;
图5示出了根据本公开实施方式的一种埋点对象的坑位信息确定方法示意图;
图6示出了根据本公开实施方式的一种埋点对象管理界面;
图7示出了根据本公开实施方式的一种埋点对象树的显示界面;
图8示出了根据本公开实施方式的一种触发操作所曝光的显示页面的实际界面层级和埋点对象树的示意图;
图9示出了根据本公开实施方式的一种与用户进行的一系列操作对应的所曝光的显示页面的变化情况示意图;
图10示出了根据本公开实施方式的一种埋点方法的示意图;
图11示出了根据公开实施方式的一种埋点信息上报装置的结构图;
图12示出了根据本公开实施方式的一种埋点装置的结构图;
图13示出了根据本公开实施方式的一种电子设备的结构图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本公开的实施方式,提供一种埋点信息的上报方法、埋点方法、埋点信息的上报装置、埋点装置、计算机可读存储介质及电子设备。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本公开的若干代表性实施方式,详细阐述本公开的原理和精神。
发明概述
本公开的发明人发现,在现有的一些埋点方案中,对于不同版本的客户端或者不同操作系统对应的客户端而言,存在埋点的坑位信息描述不一致的问题,从而造成了埋点的坑位信息描述的不稳定,每次客户端新版本更新时,都需要对坑位信息全面排查以及重新选定,进而导致埋点后期维护成本高,且埋点信息上报的效率也较低;在现有的另一些埋点方案中,存在埋点的坑位信息描述不准确的问题,造成埋点信息上报的准确性较低。
鉴于上述内容,本公开的基本思想在于:提供一种埋点信息的上报方法、埋点方法、埋点信息的上报装置、埋点装置、计算机可读存储介质及电子设备,通过确定触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树,根据埋点对象树中的父子关系,可以确定出埋点对象树中的各埋点对象的坑位信息,进而可以根据埋点对象的坑位信息进行埋点信息的上报。一方面,基于埋点对象树中的父子关系来确定埋点对象的坑位信息,可以避免埋点在不同客户端具有不同的坑位描述,提高埋点坑位信息描述的稳定性,从而降低埋点的维护成本,进而提高埋点信息上报的效率;另一方面,本公开通过确定触发操作所曝光的目标显示页面中的埋点对象对应的埋点对象树,进而根据所确定的埋点对象树实现埋点信息的上报,由于确定的埋点对象树与触发操作所曝光的目标显示页面中的埋点对象对应,从而可以对每个埋点对象提供准确的坑位描述,提高埋点信息上报的准确性。
在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
应用场景总览
需要注意的是,下述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
本公开可以应用于对数据进行采集的场景,例如:可以使用本公开提供的埋点信息上报方法采集应用的使用数据(如访问数、访客数、停留时长、页面浏览数等),基于此来跟踪应用使用的情况,以为应用的进一步优化提供数据支持;在信息推荐场景中,可以使用本公开提供的埋点信息上报方法采集用户的相关历史行为数据,然后可以基于采集的用户历史行为数据刻画用户画像,以为用户进行信息推荐。
示例性方法
相关技术中的埋点方案,对于不同版本的客户端或者不同操作系统对应的客户端而言,存在埋点的坑位信息描述不一致的问题,从而造成了埋点的坑位信息描述的不稳定,每次客户端新版本更新时,都需要对坑位信息全面排查以及重新选定,进而导致埋点后期维护成本高,且埋点信息上报的效率也较低;且存在埋点的坑位信息描述不准确的问题,造成埋点信息的上报的准确性较低。
本公开的示例性实施方式首先提供一种埋点信息的上报方法,以至少克服相关技术中存在的上述的全部或部分缺陷。
图1示出了本公开一示例性实施例中的埋点信息的上报方法,可以包括:
步骤S110,响应于针对客户端的触发操作,确定所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树;
步骤S120,根据所述埋点对象树中的父子关系,确定出所述埋点对象树中的埋点对象的坑位信息;
步骤S130,针对所述埋点对象树中的每个所述埋点对象,获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值,以对每个所述埋点对象进行埋点信息上报。
下面分别对图1中的每个步骤做具体说明。
步骤S110,响应于针对客户端的触发操作,确定所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树。
在一种可选的实施方式中,触发操作可以包括在客户端中进行点击、滑动或者针对客户端进行的手势操作等。曝光可以理解为页面或元素在客户端的图形用户界面中由不可见到可见的状态。目标显示页面可以包括客户端中的任一显示页面,其和触发操作对应,例如,用户在客户端中点击了按钮1,客户端中显示的页面从点击前的页面1跳转为页面2,则页面2即为点击按钮1这个触发操作所曝光的目标显示页面。
页面可以理解为在一定的用户界面层级上独占显示的一整片区域,如一个新打开的底层页、一个TAB(标签条/选项卡)、一个频道等;页面一般用于组织诸多内容进行分发或者作为单一内容的实际功能承载,页面的流转曝光和停留时长等信息对于应用的分析具有较大的意义。元素可以理解为页面中可被用户交互的UI(User Interface,用户界面)组件和/或单元,如一个列表单元、一个按钮、一个可滑动的内容模块等。列表和模块一般用于承载内容分发,其点击率对内容分发效果具有分析意义,按钮一般用于承载用户互动,按钮通常挂载在某个内容单元或者内容功能的底层页面上。
页面和元素都可以作为埋点对象。一个页面中可以包括子页面和元素,对于一个页面而言,该页面自身、该页面中的子页面和元素都可以作为该页面中的埋点对象,用户可以根据自己的需求进行自定义设置。
示例性的,在确定触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树之前,可以先在目标显示页面中进行埋点。图2示出了根据本公开实施方式的一种在目标显示页面中进行埋点的方法示意图。参考图2,该方法可以包括步骤S210至步骤S220。
在步骤S210中,基于目标显示页面的用户界面组件,确定目标显示页面中可操作的用户界面和/或承载用户分发内容的用户界面的预设界面父子关系,以使客户端根据预设界面父子关系生成目标显示页面。
组件可以理解为根据产品功能、页面局部、用户行为等,对产品的各个功能点进行拆分、归纳、组合,形成的具有标准的规范且可以重复使用的模块。
在一种可选的实施方式中,可操作的用户界面可以包括用于承载用户互动的界面层级,例如按钮所在的用户界面层级,用于承载用户分发内容的用户界面可以包括能够对用户内容进行分发的页面或元素所在的界面层级,例如页面、列表、模块等所在的界面层级。其中,可操作的用户界面还可以包括可操作的用户界面组件所在的界面层级,承载用户内容分发的界面还可以包括承载用户内容分发的用户界面组件所在的界面层级。
在一种可选的实施方式中,基于用户界面组件的思想,可以将目标显示页面中可复用的用户界面组件看做一个界面层级,即用户界面组件中的各个元素或页面所在的界面层级属于同一个界面层级,然后,根据埋点的需要,自定义目标显示页面中可操作的用户界面层级和/或承载用户内容分发的用户界面层级的父子关系,以确定出目标显示页面中可操作的用户界面和/或承载内容分发的用户界面的预设界面父子关系。这样,前端开发人员可以根据预设界面父子关系进行前端页面的开发布局,进而使得客户端在进行页面显示时,可以根据预设界面父子关系渲染生成目标显示页面。
接下来,在步骤S220中,根据目标显示页面的预设界面父子关系,确定出目标显示页面中埋点对象对应的埋点对象树,以使客户端根据埋点对象树中的埋点对象在对应的用户界面进行埋点。
在一种可选的实施方式中,可以将目标显示页面的界面层级的预设界面父子关系中的每个界面层级对应的页面或元素作为一个埋点对象,从而基于预设界面父子关系确定出各埋点对象的父子关系,进而确定出目标显示页面中埋点对象对应的埋点对象树,使得客户端可以在埋点对象树中的各埋点对象所在的用户界面层级对应的进行埋点。
通过上述的步骤S210至步骤S220,可以根据目标显示页面的预设界面父子关系确定出埋点对象树,进而使得开发人员根据预设界面父子关系进行页面的开发且根据埋点对象树在埋点对象所在的界面层级进行对应的埋点。
在一种可选的实施方式中,步骤S110中的确定触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树可以包括:根据目标显示页面的预设界面父子关系,确定出触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树。
由于埋点对象树是基于预设界面父子关系确定的,然后客户端又基于埋点对象树在埋点对象对应的用户界面层级进行埋点,同时客户端又根据预设界面父子关系进行目标显示页面的渲染。所以,根据渲染的目标显示页面的预设界面父子关系,就可以确定出目标显示页面的埋点对象的父子关系,进而确定出目标显示页面中埋点对象对应的埋点对象树。
接下来以图3A中的页面为例,结合图3B示出的图3A中的页面的实际用户界面层级实现的树形结构的示意图和图3C示出的图3A中的页面的埋点对象树的示意图,对上述的步骤S210至步骤S220进行更加直观的说明。
图3B和图3C中P1为首页、P2为云村TAB、P3为关注频道、E8为扩展按钮、E9为发布按钮、E2为用户卡片、E13为引用微博、E7为微博链接、E1为微博单元、E3为微博图片、E4为转发按钮、E5为评论按钮、E6为点赞按钮、E10为Mini播放条(即迷你播放条)、E11为播放按钮、E12为播放列表按钮。图3B中的Recycler View是安卓操作系统中的一个组件,具体的,其是一个固定大小的View(视图容器),但可以显示很多数据的控件,其可以通过通过滚动列表来实现。Viewpager可以理解为用来做左右滑动的视图容器。
从图3B和图3C可知图3A中的页面的实际用户界面层级中的某些层级在埋点对象树中会被忽略(图3B也仅展示了图3A中的页面的部分用户界面层级,未完全展示图3A页面所有的用户界面层级,实际实现上会更复杂),如图3B中的“底部条、发现按钮、博客按钮、我的按钮、K歌按钮、云村按钮”等虚线圈对应的层级在图3C的埋点对象树中被忽略,而在确定埋点对象树时,保留了可操作的用户界面层级和承载用户内容分发的界面层级,且将一些可复用的用户界面组件中的页面或元素所在的页面层级作为一个用户界面层级。
需要说的是,开发人员在进行目标显示页面开发时,需要根据埋点对象树中的父子关系对目标显示页面进行布局,即,埋点对象树中的各埋点对象所在的界面层级的父子关系需要和埋点对象树中的埋点对象的父子关系一致,在这个前提下,可以根据实际的页面显示需要在目标显示页面中添加一些其它的元素或子页面或用户界面组件。如开发人员可以根据图3C中的埋点对象树进行图3A中的页面的布局,而在实际界面层级中可以添加一些其它的元素或子页面或用户界面组件形成图3B中的实际用户界面层级的树形结构。从图3B和图3C也可以看出,图3C中的埋点对象树中的各节点的父子关系在图3B中仍然保持不变,如在图3B和图3C中P1都是P2和E10的根节点。
因此,通过确定目标显示页面中可操作的用户界面和/或承载内容分发的用户界面的预设界面父子关系,可以基于视觉上的用户界面组件的父子关系构建埋点上报的树形结构,忽略客户端的实际用户界面层级,从而提升埋点坑位描述的稳定性和准确性,同时,也可以解决埋点坑位描述在不同版本或不同类型客户端不一致的问题,降低了埋点后期维护成本,提升了埋点上报的效率。
构建埋点对象树后,可以基于埋点对象树的变化情况描述客户端的页面变化和流转的情况。图4A到图4E示出了根据本公开实施方式的一种埋点对象树随客户端的显示页面变化的示意图。
在图4A中,4A1、4A2、4A3、4A4都为视频卡片,但其对应不同的视频内容,即都属于视频卡片这一层级,但其具有不同的位置属性信息。图4C中的动态1表示用户AAA具体发布的动态1,即“正能量”相关的这条动态。图4D和图4E中的动态1和动态2为用户AAA发布的两条具有不同内容的动态。
从图4A至图4E可以看出,当页面发生变化时,埋点对象树也随之发生变化。图4A至图4E中的埋点对象树的虚线框中的埋点对象表示在该页面结束曝光后,会结束曝光的埋点对象。如,当页面从图4A跳转至图4B时,图4A的埋点对象树中的“推荐、导航、视频、视频卡片”对应的埋点对象结束曝光,图4B会新增曝光“关注、微博、用户卡片、云圈入口”对应的埋点对象,进而生成图4B中的埋点对象树,从图4B跳转至图4C时,图4B中的整个埋点对象树中的埋点对象都会结束曝光,然后生成图4C中的埋点对象树,图4C到图4D的变化以及图4D到图4E的变化亦是如此,不再进行赘述。其中,结束曝光可理解为页面或元素在客户端的图形用户界面中从可见到不可见的状态切换。
埋点对象树的变化可以描述页面的变化,所以,可以基于埋点对象树进行埋点信息的上报。因此,在步骤S110中,响应于针对客户端的触发操作,可以确定出该触发操作所曝光的显示页面中埋点对象对应的埋点对象树。进而结合后续的步骤S120和步骤S130,实现埋点信息的上报。
继续参考图1,步骤S120,根据所述埋点对象树中的父子关系,确定出所述埋点对象树中的埋点对象的坑位信息。
坑位可以理解为客户端应用中可被描述的唯一一个位置,坑位可以是一个页面也可以是一个元素,其完整信息可以包含多个层级对应的对象信息。在埋点信息上报中坑位的参数字段可以用超级位置模型(Super Position Model,SPM)表示。
在一种可选的实施方式中,针对埋点对象树中的每个埋点对象可以执行图5所示的步骤,以确定出埋点对象树中的每个埋点对象的坑位信息。图5示出了根据本公开实施方式的一种埋点对象的坑位信息确定方法示意图,参考图5,该方法可以包括步骤S510至步骤S520。
步骤S510,基于埋点对象树中的父子关系和预先为埋点对象树中的埋点对象配置的埋点对象标识,确定埋点对象到埋点对象树中的根对象的埋点对象标识链。
埋点对象标识(Object Id,缩写为oid),是被埋点的页面或元素在客户端的身份标识,同一oid可以用来表征同一种UI样式、同一种内容单元、同一种互动形式或者客户端某一特定位置UI。
在一种可选的实施方式中,开发人员在进行开发时,可以为每个页面和元素配置身份标识,若在某个页面或元素中进行埋点,则该页面或元素的身份标识即为对应的埋点对象标识。例如为页面中的某个用户卡片预先配置身份标识“oid:user_card_hoe”,则表明该用户卡片的对象标识为“user_card_hoe”如果在该用户卡片所在的界面层级进行埋点,那么,该用户卡片所在的界面层级的埋点对象标识就为“user_card_hoe”。
在另一种可选的实施方式中,还可以预先为埋点对象树中的每个埋点对象配置埋点对象标识,开发人员在进行开发时,可以根据配置的埋点对象标识为对应的页面或元素配置身份标识,例如埋点对象树中的埋点对象标识为weibo_card1,其对应于某个页面的某个元素A,那么,可以为该元素A配置身份标识“oid:weibo_card1”。
基于埋点对象树中的父子关系和预先为埋点对象树中的埋点对象配置的埋点对象标识,可以得到当前埋点对象到埋点对象树中的根对象的埋点对象标识链。以图3C中的埋点对象树中的埋点对象P3为例,埋点对象P3对应的埋点对象标识链为“oid_p3|oid_p2|oid_p1”,其中,oid_p3为埋点对象p3的埋点对象标识、oid_p2为埋点对象p2的埋点对象标识、oid_p1为埋点对象p1的埋点对象标识。
步骤S520,在埋点对象标识链中添加埋点对象的位置属性信息,以得到埋点对象的坑位信息。
考虑到有一些重复类型元素在页面内具有相同层级的情况,例如列表复用单元中的每个列表元素的对象标识相同且都属于相同层级,即列表复用单元中的每个列表元素的对象标识都为列表单元的对象标识,每个列表元素的层级都为列表单元的层级,这种情况下,如果仅用埋点对象标识链表示埋点对象的坑位信息,则无法区分当前曝光的到底是列表单元中的第几个元素,进而会影响埋点信息上报的准确性。
为了解决这一问题,在一种可选的实施方式中,可以在埋点对象标识链中添加埋点对象的位置属性信息,以得到埋点对象的坑位信息。例如,某个埋点对象树中的埋点对象A对应的埋点对象标识链为_oid1|_oid2|_oid3|_oid4|_oid5,其中,_oid2的位置属性信息为pos2,_oid5的位置属性信息为pos5,则埋点对象A的坑位信息为_oid1|_oid2:_pos2|_oid3|_oid4|_oid5:_pos5,也就是埋点对象A的spm为_oid1|_oid2:_pos2|_oid3|_oid4|_oid5:_pos5。
在上述的步骤S510至步骤S520中,由于通过埋点对象树确定埋点对象标识链,且为了解决页面中的相同埋点对象标识具有不同实例而导致的坑位描述不准确的问题,在埋点对象标识链中添加了埋点对象的位置属性信息,进而可以得到埋点对象树中的每个埋点对象的准确的坑位信息,提高埋点信息上报的准确性。
接下来,继续参考图1,步骤S130,针对所述埋点对象树中的每个所述埋点对象,获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值,以对每个所述埋点对象进行埋点信息上报。
在一种可选的实施方式中,埋点信息上报参数值可以包括所述客户端对应的设备类型、客户端对应的会话标识、客户端的版本信息、客户端对应的用户标识、埋点对象标识、埋点对象名称、埋点对象内容标识中的至少一种。
在一种可选的实施方式中,可以基于终端、事件、页面、元素等对象在可视化的埋点管理平台管理和配置埋点信息上报参数。同时,还可以在可视化埋点管理平台中通过页面中的可操作的用户界面层级和/或用于承载用户内容分发的用户界面层级的预设界面父子关系配置页面和元素的父子关系,以维护生成埋点对象树,从而使得开发人员可以直观方便的根据埋点管理平台中维护的埋点对象树中的父子关系和埋点上报参数进行前端页面的界面层级开发以及在对应的界面层级进行埋点。
图6示出了根据本公开实施方式的一种埋点对象管理界面。在图6中,可知埋点对象的埋点信息上报参数可以包括标准参数和业务参数,并且参数的变更可以和需求、客户端版本以及需要的事件进行关联。参数约束(是否必须、参数的取值范围约束等)与版本对应的进行保存。同时,图6所示的界面中还有一个血缘关系维护的功能,每个埋点对象可以维护自己的“亲儿子”对象(即和自己下一级子对象建立血缘关系),各个埋点对象层层关联即可得到页面中的整个埋点对象树信息,图7示出了根据根公开实施方式的一种埋点对象树的显示界面。
在一种可选的实施方式中,埋点上报参数值还可以包括埋点管理平台中配置的埋点对象的标准参数和业务参数的值以及确定的埋点对象的坑位信息等。
示例性的,步骤S130中的获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值,包括:根据所述埋点对象的坑位信息中所包含的埋点对象标识在所述埋点对象标识链中的顺序,遍历所述埋点对象的坑位信息中埋点对象标识对应的埋点对象,以获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值。
以触发操作所曝光的目标显示页面的实际界面层级和埋点对象树如图8所示为例,在图8中,在目标显示页面的界面层级P1、P2、P3、e4、e5、e6中进行了埋点,即预设界面父子关系为界面层级P1、P2、P3、e4、e5、e6之间的父子关系,P1、P2、P3、e4、e5、e6以及其它的虚圈表示的界面层级(如81所示)之间的父子关系形成了目标显示页面的实际界面层级。从图8中的实际界面层级关系和埋点对象树的对比也可以看出,实际界面层级关系比埋点对象树对应的界面层级关系复杂的多,且埋点对象所在的界面层级在实际界面层级中的父子关系和在埋点对象树中的父子关系一致,因此,可以根据目标显示页面中的埋点对象所在的界面层级的父子关系确定出目标显示页面中埋点对象对应的埋点对象树。
在图8中,以埋点对象P1、P2、P3、e4、e5、e6对应的埋点对象标识为P1、P2、P3、e4、e5、e6为例,其中,e4为列表复用单元中的第一个元素,其位置属性信息pos=1。则P1的坑位信息为P1,P2的坑位信息为P2|P1,p3的坑位信息为P3|P2|P1,e4的坑位信息为e4:1|P3|P2|P1,e5的坑位信息为e5| e4:1|P3|P2|P1,e6的坑位信息为e6|e4:1|P3|P2|P1。
在进行埋点信息上报时,对于埋点对象P1而言,其直接上报埋点对象P1的埋点信息上报参数值即可;对于埋点对象P2而言,其根据P2-P1的顺序遍历对应的埋点对象,以获取对应的埋点对象的埋点信息上报参数值进行上报,即先上报埋点对象P2的埋点信息上报参数值,再上报埋点对象P1的埋点信息上报参数值;对于埋点对象P3而言,其根据P3-P2-P1的顺序遍历对应的埋点对象,以获取对应的埋点对象的埋点信息上报参数值进行上报,即先上报埋点对象P3的埋点信息上报参数值,再上报埋点对象P2的埋点信息上报参数值,最后上报埋点对象P3的埋点信息上报参数值;对于埋点对象e4、e5、e6也进行类似的埋点信息上报,此处不再进行赘述。
即对于每个埋点对象而言,在进行埋点信息参数值上报时,先上报自己的埋点信息上报参数值,再根据埋点对象树中的父子关系,找到自己的父节点,然后上报父节点的埋点信息上报参数值,父节点再找父节点自己的父节点,以此类推,直到找到根节点,最后对根节点的埋点信息上报参数值进行上报,从而完成该埋点对象的埋点信息参数值上报。
在一种可选的实施方式中,还可以确定埋点归因参数,进而可以基于埋点归因参数上报埋点信息上报参数值,便于后续的埋点归因分析。
对于任一客户端,如任一APP(应用程序)客户端或浏览器客户端,往往会存在如下情况:不同的用户都可以启动进入该客户端,同一个用户也可以反复多次对客户端进行启动,同时在一次启动内用户也可能会多次进入退出或同时打开多个相同页面,对一个页面内的互动对象也可能会产生多次点击行为。
为了严格精准的表达和定位某次埋点事件发生的准确位置和时机,对埋点进行归因时,需要考虑上述的情况,才能通过埋点归因参数在埋点信息上报参数值的数据库中建立埋点信息上报参数值的唯一索引,进而可以根据唯一索引找到准确的埋点信息上报参数值,以对用户行为进行准确的归因分析。
在一种可选的实施方式中,不同的用户可以根据用户使用的设备标识或用户自身的用户标识进行区分,能够区分不同用户的唯一标识可以表示为userid。
对于客户端的某次启动,可以采用与单次启动对应的会话标识Sessionid来标识。具体的,可以以此次启动时的时间戳生成一个唯一的Seesionid值,从而区分不同次的启动。
由于相同的页面单个用户可以反复进入,也可以同时打开多个相同页面(即同一个页面对象可能会有多个实例,同一个实例可能会有多次曝光)。为了对不同页面进行区分,在一种可选的实施方式中,可以用页面曝光的使用深度来标识某个页面埋点对象具体的某次曝光,页面曝光的使用深度可以用参数“pgstep”来表示,其取值为客户端冷启动后页面的曝光顺序。即在客户端冷启动之后,每发生一次页面曝光,页面曝光的使用深度参数pgstep的值就增加1,即使是进入再退回,或者前后台切换的情况页面曝光是使用深度参数pgstep的值也会进行相应的自增,其随着Seessionid的变化而重置,且每次从1开始计数。
同一页面在不同次曝光中具有不同的曝光顺序。例如,在客户端某次启动后,首先曝光了页面1(一般为首页),然后基于用户的一系列操作行为依次曝光了页面2、页面3、页面4、页面3、页面5,那么页面的曝光顺序依次为“页面1:pgstep=1;页面2:pgstep=2;页面3:pgstep=3;页面4:pgstep=4;页面3:pgstep=5;页面5:pgstep=5”。在此次客户端启动期间,页面3被曝光了两次,但页面3的两次曝光具有不同的曝光顺序。当客户端关闭后,下次冷启动时,pgstep重新从1开始计数。换言之,pgstep可以记录此次客户端启动期间所有页面的曝光顺序,其是针对当前客户端启动期间的所有页面而言的,只要发生页面曝光,pgstep就增加单位1,以表示当前曝光的页面是在客户端启动后第几个被曝光的页面。
由于在同一个页面内可能会发生多次互动事件。为了区分同一页面内的多次互动事件,可以采用单次页面内的互动事件发生的序号对不同次的互动事件进行标识,其可以用参数“actseq”进行表示,在一次根页面(rootpage)曝光内,每发生一次互动事件(点击/滑动/下拉刷新等),actseq的值相应的增加1,且actseq随着互动事件对应的元素的根页面的pgstep值的变化而重置,即当互动事件使得曝光的根页面变化时,pgstep会增加1,同时,actseq会从1开始重新计数。
举例而言,A页面中有A1、A2两个元素;B页面中有B1、B2两个元素;某次客户端启动后,用户操作路径为“进入A页面—点击A1—点击A2—进入B页面—点击B1—点击B2—返回A页面—点击A1—点击A2”,则pgstep和actseq的变化过程为“A页面pgstep = 1—pgstep =1/ actseq=1—pgstep = 1/ actseq=2—B页面pgstep = 2—pgstep = 2/ actseq=1—pgstep = 2/ actseq=2—A页面pgstep = 3—pgstep = 3/ actseq=1—pgstep = 3/actseq=2”。
其中,A页面pgstep = 1表示A页面此时是客户端此次启动期间第一个曝光的页面;pgstep = 1/ actseq=1表示点击元素A1是在A页面第一个曝光时,在A页面中发生的第一个互动事件;pgstep = 1/ actseq=2表示点击元素A2是在A页面第一个曝光时,在A页面中发生的二个互动事件;B页面pgstep = 2表示B页面此时是客户端此次启动期间第二个曝光的页面;pgstep = 2/ actseq=1表示在客户端此时第二个曝光的页面B中,点击元素B1是此次在页面B中发生的第一个互动事件;pgstep = 2/ actseq=2表示在客户端此时第二个曝光的页面B中,点击元素B2是此次在页面B中发生的第二个互动事件;A页面pgstep = 3表示此时页面A是客户端启动后第3个曝光的页面;pgstep = 3/ actseq=1表示在客户端此时曝光的第三个页面A中,点击元素A1是此次在页面A中发送的第一个互动事件;pgstep = 3/actseq=2表示表示在客户端此时曝光的第三个页面A中,点击元素A2是此次在页面A中发生的第二个互动事件。
通过上述的分析可知,pgstep和actseq可以将同一页面多次被曝光,以及在同一页面中多次发生相同的触发互动事件的情况进行了区分,可以具体确定每次互动事件是在第几个曝光的哪个页面中的第几次互动事件。
进一步的,通过将代表单次页面内的互动事件发生的序号的参数actseq配置为随着当前互动元素的根页面的变化而重置,而不是随着当前互动元素的子页面的变化而重置,因为根页面一般是全阻挡式的底层页或首页,从而可以实现跨多个子页面的归因分析,而不仅仅是局限于单个子页面内进行归因分析。
通过上述的分析,对于客户端的用户日志,可以通过“userid+Seesionid+spm(坑位信息)+根页面的pgstep+actseq”索引到唯一的一个互动事件;通过“userid+Seesionid+spm(坑位信息)+ 根页面的pgstep”则可以准确的确定出对象在客户端冷启动期间的唯一位置。
在用户的单次启动期间,“userid+Seesionid”是保持不变的,其可以从归因起点的埋点中直接获取,例如,当前曝光了页面1,在对页面1的曝光进行归因时(即在确定是什么行为或事件导致了页面1曝光时),页面1就是归因起点的埋点。
进一步的,对于“spm(坑位信息)”、“根页面的pgstep”和“actseq”这三个信息而言,可以通过在与当前元素进行互动时,获取当前元素的这三个参数信息一起传递给此次互动事件所曝光的下一个页面中,这样,通过传递过来的这三个参数信息来确定埋点归因参数,从而对此次页面曝光进行归因分析,以确定此次页面曝光的来源。
在一种可选的实施方式中,根据触发操作对应的当前埋点对象的类型是页面还是元素,可以具有不同形式的埋点归因参数,其中,埋点归因参数可以用refer进行标识。
具体的,在触发操作对应的当前埋点对象是页面时,埋点归因参数refer可以表示为:[p][pgstep(subpage)][pgstep(rootpage)][spm(subpage)];其中,p表示是当前埋点对象为页面类型,pgstep(subpage)可以理解为当前页面的pgstep,即当前页面是客户端启动后第几次(或第几个)曝光的页面;pgstep(rootpage)可以理解为当前页面的根页面的pgstep,即当前页面的根页面是客户端启动后第几次(或第几个)曝光的页面,spm(subpage)即当前页面的坑位信息。
在触发操作对应的当前埋点对象是元素时,埋点归因参数refer可以表示为:[e][actseq][pgstep(rootpage)][spm(element)]。e表示当前埋点对象为元素类型,actseq可以理解为对当前元素进行触发操作时在当前元素所在根页面中发生的第几次互动事件;pgstep(rootpage)可以理解为当前元素所在页面的根页面的pgstep,即当前元素所在页面的根页面是在客户端启动后第几次(或第几个)曝光的页面,spm(element)为当前触发操作对应的元素的坑位信息。
需要说明的是,上述的refer的表示形式中的[]仅仅是示例性的,只要埋点上报参数值包括上述的refer中的信息都在本公开的保护范围之内。
其中,触发操作对应的当前埋点对象是页面可以理解为针对客户端的埋点页面进行触发操作,触发操作对应的当前埋点对象是元素可以理解为针对客户端的埋点元素进行触发操作。例如,点击客户端的页面1中的元素1跳转到了页面2(即点击元素1的触发操作所曝光的目标显示页面为页面2),那么,触发操作对应的当前埋点对象即为元素1。从页面2返回页面1(即在页面2中进行返回操作所曝光的目显示页面为页面1),那么,触发操作对应的当前埋点对象即为页面2。
基于上述的埋点归因参数,可以针对不同的埋点归因诉求,确定出不同形式的埋点归因参数值,进而适应不同的埋点归因分析场景。
在一种可选的实施方式中,可以基于上述的埋点归因参数确定出第一埋点归因参数值,进而将第一埋点归因参数值作为埋点信息上报参数值进行上报,即埋点信息上报参数值可以包括第一埋点归因参数值。
具体的,第一埋点归因参数值可以通过以下方式确定:
在触发操作对应的当前埋点对象的类型为页面时,根据所述客户端启动后所述当前埋点对象所在页面的页面曝光顺序、所述客户端启动后所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第一埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;
在所述触发操作对应的当前埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第一埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述当前埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
举例而言,页面曝光顺序的值可以理解为上述的pgstep的值。在当前触发操作对应的当前埋点对象类型为页面时,第一埋点归因参数值可以包括3个参数信息,分别为当前埋点对象所在页面的pgstep、当前埋点对象的根对象所在页面的pgstep以及当前埋点对象的坑位信息。在当前触发操作对应的当前埋点对象类型为元素时,第一埋点归因参数值也可以包括3个参数信息,分别为当前元素的actseq的值、当前元素的根对象所在页面的pgstep的值以及当前元素的坑位信息。
将当前埋点对象的相关信息作为触发操作所曝光的目标显示页面的第一埋点参数值进行上报,可以通过第一埋点归因参数值确定目标显示页面中的各埋点对象的曝光来源。第一埋点归因参数值可以记录用户的全部操作路径,对于用户进入某个页面返回后再进入同一个页面的两次进入过程可以进行很好的区分,从而可以提升埋点归因的准确性。
在一种可选的实施方式中,所述方法还包括:确定创建所述目标显示页面的原始触发操作针对的原始埋点对象;根据所述原始触发操作针对的原始埋点对象的类型,确定出所述目标显示页面中埋点对象的第二埋点归因参数值,对所述第二埋点归因参数值进行上报;
其中,所述第二埋点归因参数值通过以下方式确定:
在所述原始触发操作针对的原始埋点对象的类型为页面时,根据所述客户端启动后所述原始埋点对象所在页面的页面曝光顺序、所述客户端启动后所述原始埋点对象的根对象所在页面的页面曝光顺序以及所述原始埋点对象的坑位信息,确定出所述目标显示页面中的埋点对象的第二埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;
在所述原始触发操作对应的原始埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述原始埋点对象的根对象所在页面的曝光顺序以及所述原始埋点对象的坑位信息,确定出所述目标显示页面中的埋点对象的第二埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述原始埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
举例而言,第二埋点归因参数值的页面曝光顺序的值可以理解为上述的pgstep的值。在原始触发操作对应的原始埋点对象类型为页面时,第一埋点归因参数值可以包括3个参数信息,分别为原始埋点对象所在页面的pgstep、原始埋点对象的根对象所在页面的pgstep以及原始埋点对象的坑位信息。在原始触发操作对应的原始埋点对象类型为元素时,第一埋点归因参数值也可以包括3个参数信息,分别为原始埋点对象对应的元素的actseq的值、原始埋点对象对应的元素的根对象所在页面的pgstep的值以及原始埋点对象对应的元素的坑位信息。
在示例性的实施方式中,原始触发操作可以理解为创建了目标显示页面的触发操作,原始触发操作对应的埋点对象即为原始埋点对象。例如,对于一个页面2而言,在页面1中点击元素A进入页面2,在页面2中点击元素B进入页面3,从页面3中又退出返回到了页面2。在整个过程中页面2被曝光了2次,其中,第一次曝光页面2的操作即点击元素A的操作为原始触发操作,元素A即为原始埋点对象,而第二次曝光页面2的返回操作不属于原始触发操作。也就是说,在页面2的两次曝光中,第二埋点归因参数值相同。
换言之,与第一埋点归因参数值不同,第二埋点归因参数值可以仅记录页面的实际创建打开来源,而忽略了页面的更深进入和返回的路径。通过第一埋点归因参数值和第二埋点归因参数值可以对同一用户在单次客户端启动期间内进行跨页面的归因。
图9示出了根据本公开实施方式的一种与用户进行的一系列操作对应的所曝光的显示页面的变化情况示意图。下面,以图9为例,对上述的第一埋点归因参数值和第二埋点归因参数值进行进一步的解释说明。
图9中,用户在页面1中点击了歌单1,该行为曝光了页面2;用户在页面2中又点击了播放全部,该行为曝光了页面3(即播放页);用户在页面3中进行了返回操作从而又返回到页面2,使页面2第二次被曝光。
在图9中,对于页面2的第一埋点归因参数值,在页面2的第一次曝光时,其为在页面1中点击元素的埋点归因参数refer,即为上述的当前埋点对象为元素类型时的refer,具体的,可以包括:歌单1的actseq,即歌单1在歌单1所在页面的根页面的当前次曝光中被点击的顺序值,歌单1所在页面的根页面在客户端启动后中的曝光顺序以及歌单1的坑位信息。在页面2的第二次曝光时,页面2的第一埋点归因参数值为页面3的refer,即为上述的当前埋点对象为页面类型时的refer,具体的,可以包括:页面3在客户端启动后的曝光顺序值、页面3的根页面在客户端启动后的曝光顺序值、以及页面3的坑位信息。
对于页面2在两次曝光中的第二埋点归因参数值,其都为在页面1中点击元素的埋点归因参数refer,即都为上述的当前埋点对象为元素类型时的refer,具体的,可以包括:歌单1的actseq,即歌单1在歌单1所在页面的根页面的当前次曝光中被点击的顺序值,歌单1所在页面的根页面在客户端启动后中的曝光顺序以及歌单1的坑位信息。因为第二埋点归因参数值记录的是页面的实际创建打开来源,在图9中页面2的实际打开是来源是在页面1中点击了歌单1。
在一种可选的实施方式中,所述方法还包括:根据所述客户端最近一次启动时的会话标识,确定出所述目标显示页面中的埋点对象的第三埋点归因参数值,对所述第三埋点归因参数值进行上报。
举例而言,第三埋点归因参数值可以用于存储上次客户端冷启动时的会话标识Sessionid,这样,可以通过第三埋点归因参数值建立客户端不同次冷启动之间的联系,从而可以对客户端不同次冷启动之间的用户行为进行关联分析。
进一步的,在本公开中,可以在客户端埋点,也可以在服务端埋点。比如在客户端中点了某个关注按钮后,客户端上报了按钮的点击埋点事件,但是该关注按钮的实际服务端执行结果是否成功等往往需要在服务端进行埋点。
基于此,可以根据数据分析需求,将客户端的网络请求与某个互动对象(该互动对象可以是页面、也可以是元素)进行关联,具体的,可以直接通过API协议进行约定以将其进行关联,当发生某个触发操作时,可以确定该触发操作对应的网络请求预先关联的服务端埋点对象,然后对该服务端埋点对象的埋点归因参数进行上报。
在一种可选的实施方式中,所述方法还包括:确定与所述触发操作预先关联的服务端埋点对象;对所述服务端埋点对象对应的第四埋点归因参数值进行上报;
其中,所述第四埋点归因参数值通过以下方式确定:
在所述触发操作对应的当前埋点对象的类型为页面时,根据所述客户端启动后所述当前埋点对象所在页面的页面曝光顺序、所述客户端启动后所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第四埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;
在所述触发操作对应的当前埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述当前埋点对象的根对象所在页面的曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第四埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述当前埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
通过上述的第一埋点归因参数值、第二埋点归因参数值、第三埋点归因参数值以及第四埋点归因参数值,与相关技术相比,本公开可以实现跨页面、跨启动的埋点归因分析,提升埋点归因分析的准确性。同时,由于已经对不同的归因分析场景提供了不同的埋点归因参数值,进而可以降低埋点归因分析时的数据量,提高埋点归因分析的效率。
本公开提供的埋点信息上报方法,可以在不同客户端中(Android/Ios/pc/mac/H5/ReactNative/Flutter等)实现对埋点的坑位信息的一致性描述,且可以保证埋点坑位信息的稳定性和准确性。同时,通过基于对象的埋点可视化管理,可以极大降低埋点维护成本,且可提升埋点参数的快速采集;并且由于埋点对象的定义是面向产品上的可视化UI页面或组件,可以很容易与路由系统、UI组件系统等进行对接,进一步降低埋点过程中的沟通成本、维护成本和开发成本。
进一步的,通过上报的不同类型的埋点归因参数,可以实现跨启动跨页面的复杂准确归因逻辑,提升了埋点归因分析的准确性,且大大减小埋点归因的数据分析的工作量,提升埋点归因分析的效率。
接下来,本公开还提供了一种埋点方法。图10示出了根据本公开实施方式的一种埋点方法的示意图。参考图10,埋点方法可以包括步骤S1010至步骤S1030。
步骤S1010,根据待埋点显示页面的预设界面父子关系,确定出待埋点显示页面的预设埋点对象树。
步骤S1020,为所述预设埋点对象树中的各埋点对象配置埋点对象标识和埋点信息上报参数。
步骤S1030,针对所述预设埋点对象树中的每个埋点对象,根据所述埋点对象标识和埋点信息上报参数在所述埋点对象对应的界面中进行埋点,以使得客户端在接收到曝光所述待埋点显示页面的触发操作后,根据所述预设界面父子关系确定的所述预设埋点对象树进行埋点信息上报。
下面,对图10中的每个步骤做具体说明。
步骤S1010,根据待埋点显示页面的预设界面父子关系,确定出待埋点显示页面的预设埋点对象树。
其中,待埋点显示页面可以是客户端中的任一显示页面,其可以根据埋点需求进行自定义确定。此处的待埋点显示页面可以理解为是未真正在客户端显示的页面,仅仅是基于UI设计时的页面,开发人员还未真正实现该显示页面。
在一种可选的实施方式中,待埋点显示页面的预设界面父子关系通过以下方式确定:基于待埋点的显示页面的用户界面组件,确定待埋点显示页面中可操作的用户界面和/或承载用户分发内容的用户界面的预设界面父子关系。
示例性的,待埋点显示页面的预设界面父子关系的确定方法可以参考上述的步骤S210的说明,将步骤S210的说明中的技术术语“目标显示页面”替换为“待埋点显示页面”即可,此处不再进行赘述。
在一种可选的实施方式中,可以将待埋点显示页面的界面层级的预设界面父子关系中的每个界面层级对应的页面或元素作为一个埋点对象,从而基于预设界面父子关系确定出待埋点显示页面中各埋点对象的父子关系,进而确定出待埋点显示页面的预设埋点对象树。
在一种可选的实施方式中,可以根据预设界面父子关系在上述的埋点管理平台中配置各个显示页面或元素的血缘关系,以在埋点管理平台中生成预设埋点对象树。如前所述,每个页面或元素通过血缘关系和自己的“亲儿子”对象,即和以自己为父节点的儿子节点建立联系,层层关联后,即可得到待显示页面的埋点对象树。
确定出待埋点显示页面的预设埋点对象树后,继续参考图10中的步骤S1020,为所述预设埋点对象树中的各埋点对象配置埋点对象标识和埋点信息上报参数。
在一种可选的实施方式中,可以在埋点管理平台中为预设埋点对象树中的各埋点对象配置埋点对象标识和埋点信息上报参数。埋点管理平台的一种示例性的显示界面可以如上述的图6所示。在埋点管理平台中,每个埋点对象会对应第一个埋点详情页,从而在该埋点详情页中配置该埋点对象的相关信息。如埋点对象标识_iod,埋点信息上报参数等,其中,埋点信息上报参数可以包括埋点的客户端对应的设备类型、客户端对应的会话标识、客户端的版本信息、客户端对应的用户标识、埋点对象名称、埋点对象内容标识、坑位信息、上述的第一埋点归因参数、第二埋点归因参数、第三埋点归因参数、第四埋点归因参数中的至少一种。
接下来,在步骤S1030中,针对所述预设埋点对象树中的每个埋点对象,根据所述埋点对象标识和埋点信息上报参数在所述埋点对象对应的界面中进行埋点,以使得客户端在接收到曝光所述待埋点显示页面的触发操作后,根据所述预设界面父子关系确定的所述预设埋点对象树进行埋点信息上报。
在一种可选的实施方式中,开发人员可以根据埋点管理平台中的埋点对象树信息和埋点上报参数信息,在客户端的对应界面层级进行埋点,或者将客户端的触发操作和服务端的埋点进行关联,以在服务端进行埋点。
与此同时,开发人员可以根据预设界面关系进行页面的开发,以使客户端可以根据预设界面关系渲染待显示页面。
这样,客户端在接收到曝光待埋点显示页面的触发操作后,就可以根据预设界面父子关系确定出待埋点显示页面的埋点对象树(即预设埋点对象树),然后,根据埋点对象树中的父子关系,确定埋点对象的坑位信息,基于坑位信息进行埋点信息上报。即客户端在在接收到曝光待埋点显示页面的触发操作后,就可以执行上述的图1所示的各个步骤实现埋点信息的上报。
本公开提供的埋点方法,基于预设界面父子关系所确定的预设埋点对象树,可以避免埋点在不同版本不同类型的客户端中坑位信息不一致的问题,降低了埋点在不同端的差异性,进而降低了埋点的维护管理成本,提高了埋点的开发效率。
示例性装置
本公开示例性实施方式还提供一种埋点信息的上报装置。参考图11所示,该埋点信息的上报装置1100可以包括:
埋点对象树确定模块1110,被配置为响应于针对客户端的触发操作,确定所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树;
坑位信息确定模块1120,被配置为根据所述埋点对象树中的父子关系,确定出所述埋点对象树中的埋点对象的坑位信息;
埋点信息上报模块1130,被配置为针对所述埋点对象树中的每个所述埋点对象,获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值,以对每个所述埋点对象进行埋点信息上报。
在一种可选的实施方式中,所述埋点对象树确定模块1110还被具体配置为:根据所述目标显示页面的预设界面父子关系,确定出所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树。
在一种可选的实施方式中,所述埋点信息的上报装置1100还包括预先埋点模块,所述预先埋点模块被配置为:
基于所述目标显示页面的用户界面组件,确定所述目标显示页面中可操作的用户界面和/或承载用户分发内容的用户界面的预设界面父子关系,以使所述客户端根据所述预设界面父子关系生成所述目标显示页面;
根据所述目标显示页面的预设界面父子关系,确定出所述目标显示页面中埋点对象对应的埋点对象树,以使所述客户端根据所述埋点对象树中的埋点对象在对应的用户界面进行埋点。
在一种可选的实施方式中,所述坑位信息确定模块1120还被具体配置为:
针对所述埋点对象树中的每个埋点对象执行以下过程:
基于所述埋点对象树中的父子关系和预先为所述埋点对象树中的埋点对象配置的埋点对象标识,确定所述埋点对象到所述埋点对象树中的根对象的埋点对象标识链;
在所述埋点对象标识链中添加所述埋点对象的位置属性信息,以得到所述埋点对象的坑位信息。
在一种可选的实施方式中,所述埋点信息上报模块1130还被具体配置为:
根据所述埋点对象的坑位信息中所包含的埋点对象标识在所述埋点对象标识链中的顺序,遍历所述埋点对象的坑位信息中埋点对象标识对应的埋点对象,以获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值。
在一种可选的实施方式中,所述埋点信息上报参数值包括所述客户端对应的设备类型、客户端对应的会话标识、客户端的版本信息、客户端对应的用户标识、埋点对象标识、埋点对象名称、埋点对象内容标识中的至少一种。
在一种可选的实施方式中,所述埋点信息上报参数值包括第一埋点归因参数值,所述第一埋点归因参数值通过以下方式确定:
在所述触发操作对应的当前埋点对象的类型为页面时,根据所述客户端启动后所述当前埋点对象所在页面的页面曝光顺序、所述客户端启动后所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第一埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;
在所述触发操作对应的当前埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第一埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述当前埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
在一种可选的实施方式中,所述埋点信息的上报装置1100还包括第二埋点归因参数值上报模块,该模块被配置为:
确定创建所述目标显示页面的原始触发操作针对的原始埋点对象;
根据所述原始触发操作针对的原始埋点对象的类型,确定出所述目标显示页面中埋点对象的第二埋点归因参数值,对所述第二埋点归因参数值进行上报;
其中,所述第二埋点归因参数值通过以下方式确定:在所述原始触发操作针对的原始埋点对象的类型为页面时,根据所述客户端启动后所述原始埋点对象所在页面的页面曝光顺序、所述客户端启动后所述原始埋点对象的根对象所在页面的页面曝光顺序以及所述原始埋点对象的坑位信息,确定出所述目标显示页面中的埋点对象的第二埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;
在所述原始触发操作对应的原始埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述原始埋点对象的根对象所在页面的曝光顺序以及所述原始埋点对象的坑位信息,确定出所述目标显示页面中的埋点对象的第二埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述原始埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
在一种可选的实施方式中,所述埋点信息的上报装置1100还包括第三埋点归因参数值上报模块,该模块被具体配置为:
根据所述客户端最近一次启动时的会话标识,确定出所述目标显示页面中的埋点对象的第三埋点归因参数值,对所述第三埋点归因参数值进行上报。
在一种可选的实施方式中,所述埋点信息的上报装置1100还包括第四埋点归因参数值上报模块,该模块被具体配置为:
确定与所述触发操作预先关联的服务端埋点对象;对所述服务端埋点对象对应的第四埋点归因参数值进行上报;
其中,所述第四埋点归因参数值通过以下方式确定:
在所述触发操作对应的当前埋点对象的类型为页面时,根据所述客户端启动后所述当前埋点对象所在页面的页面曝光顺序、所述客户端启动后所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第四埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;
在所述触发操作对应的当前埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述当前埋点对象的根对象所在页面的曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第四埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述当前埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
本公开示例性实施方式还提供了一种埋点装置1200,如图12所示,该埋点装置1200可以包括:
预设埋点对象树确定模块1210,被配置为根据待埋点显示页面的预设界面父子关系,确定出所述待埋点显示页面的预设埋点对象树;
埋点上报参数配置模块1220,被配置为为所述预设埋点对象树中的各埋点对象配置埋点对象标识和埋点信息上报参数;
埋点模块1230,被配置为针对所述预设埋点对象树中的每个埋点对象根据所述埋点对象标识和埋点信息上报参数在所述埋点对象对应的界面中进行埋点,以使得客户端在接收到曝光所述待埋点显示页面的触发操作后,根据所述预设埋点对象树进行埋点信息上报。
在一种可选的实施方式中,所述待埋点显示页面的预设界面父子关系通过以下方式确定:基于所述待埋点的显示页面的用户界面组件,确定待埋点显示页面中可操作的用户界面和/或承载用户分发内容的用户界面的预设界面父子关系。
此外,本公开实施方式的其他具体细节在上述方法的发明实施方式中已经详细说明,在此不再赘述。
示例性存储介质
下面对本公开示例性实施方式的存储介质进行说明。
本示例性实施方式中,可以通过程序产品实现上述方法,如可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
该程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RE等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言-诸如Java、C++等,还包括常规的过程式程序设计语言-诸如"C"语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性电子设备
参考图13对本公开示例性实施方式的电子设备进行说明。该电子设备可以是客户端或服务端。
图13显示的电子设备1300仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图13所示,电子设备1300以通用计算设备的形式表现。电子设备1300的组件可以包括但不限于:至少一个处理单元1310、至少一个存储单元1320、连接不同系统组件(包括存储单元1320和处理单元1310)的总线1330、显示单元1340。
其中,存储单元存储有程序代码,程序代码可以被处理单元1310执行,使得处理单元1310执行本说明书上述"示例性方法"部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元1310可以执行如图1所示的方法步骤等。
存储单元1320可以包括易失性存储单元,例如随机存取存储单元(RAM)1321和/或高速缓存存储单元1322,还可以进一步包括只读存储单元(ROM)1323。
存储单元1320还可以包括具有一组(至少一个)程序模块1325的程序/实用工具1324,这样的程序模块1325包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1330可以包括数据总线、地址总线和控制总线。
电子设备1300也可以与一个或多个外部设备1400(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口1350进行。电子设备1300还包括显示单元1340,其连接到输入/输出(I/O)接口1350,用于进行显示。并且,电子设备1300还可以通过网络适配器1360与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1360通过总线1330与电子设备1300的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (16)
1.一种埋点信息的上报方法,其特征在于,包括:
响应于针对客户端的触发操作,确定所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树;
根据所述埋点对象树中的父子关系,确定出所述埋点对象树中的埋点对象的坑位信息;
针对所述埋点对象树中的每个所述埋点对象,获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值,以对每个所述埋点对象进行埋点信息上报。
2.根据权利要求1所述的埋点信息的上报方法,其特征在于,所述确定所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树,包括:
根据所述目标显示页面的预设界面父子关系,确定出所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树。
3.根据权利要求2所述的埋点信息的上报方法,其特征在于,所述方法还包括:
基于所述目标显示页面的用户界面组件,确定所述目标显示页面中可操作的用户界面和/或承载用户分发内容的用户界面的预设界面父子关系,以使所述客户端根据所述预设界面父子关系生成所述目标显示页面;
根据所述目标显示页面的预设界面父子关系,确定出所述目标显示页面中埋点对象对应的埋点对象树,以使所述客户端根据所述埋点对象树中的埋点对象在对应的用户界面进行埋点。
4.根据权利要求1所述的埋点信息的上报方法,其特征在于,所述根据所述埋点对象树中的父子关系,确定出所述埋点对象树中的埋点对象的坑位信息,包括:
针对所述埋点对象树中的每个埋点对象执行以下过程:
基于所述埋点对象树中的父子关系和预先为所述埋点对象树中的埋点对象配置的埋点对象标识,确定所述埋点对象到所述埋点对象树中的根对象的埋点对象标识链;
在所述埋点对象标识链中添加所述埋点对象的位置属性信息,以得到所述埋点对象的坑位信息。
5.根据权利要求4所述的埋点信息的上报方法,其特征在于,所述获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值,包括:
根据所述埋点对象的坑位信息中所包含的埋点对象标识在所述埋点对象标识链中的顺序,遍历所述埋点对象的坑位信息中埋点对象标识对应的埋点对象,以获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值。
6.根据权利要求1至5中任一项所述的埋点信息的上报方法,其特征在于,所述埋点信息上报参数值包括所述客户端对应的设备类型、客户端对应的会话标识、客户端的版本信息、客户端对应的用户标识、埋点对象标识、埋点对象名称、埋点对象内容标识中的至少一种。
7.根据权利要求1所述的埋点信息的上报方法,其特征在于,所述埋点信息上报参数值包括第一埋点归因参数值,所述第一埋点归因参数值通过以下方式确定:
在所述触发操作对应的当前埋点对象的类型为页面时,根据所述客户端启动后所述当前埋点对象所在页面的页面曝光顺序、所述客户端启动后所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第一埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;
在所述触发操作对应的当前埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第一埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述当前埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
8.根据权利要求1所述的埋点信息的上报方法,其特征在于,所述方法还包括:
确定创建所述目标显示页面的原始触发操作针对的原始埋点对象;
根据所述原始触发操作针对的原始埋点对象的类型,确定出所述目标显示页面中埋点对象的第二埋点归因参数值,对所述第二埋点归因参数值进行上报;
其中,所述第二埋点归因参数值通过以下方式确定:
在所述原始触发操作针对的原始埋点对象的类型为页面时,根据所述客户端启动后所述原始埋点对象所在页面的页面曝光顺序、所述客户端启动后所述原始埋点对象的根对象所在页面的页面曝光顺序以及所述原始埋点对象的坑位信息,确定出所述目标显示页面中的埋点对象的第二埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;
在所述原始触发操作对应的原始埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述原始埋点对象的根对象所在页面的曝光顺序以及所述原始埋点对象的坑位信息,确定出所述目标显示页面中的埋点对象的第二埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述原始埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
9.根据权利要求1所述的埋点信息的上报方法,其特征在于,所述方法还包括:
根据所述客户端最近一次启动时的会话标识,确定出所述目标显示页面中的埋点对象的第三埋点归因参数值,对所述第三埋点归因参数值进行上报。
10.根据权利要求1所述的埋点信息的上报方法,其特征在于,所述方法还包括:
确定与所述触发操作预先关联的服务端埋点对象;
对所述服务端埋点对象对应的第四埋点归因参数值进行上报;
其中,所述第四埋点归因参数值通过以下方式确定:
在所述触发操作对应的当前埋点对象的类型为页面时,根据所述客户端启动后所述当前埋点对象所在页面的页面曝光顺序、所述客户端启动后所述当前埋点对象的根对象所在页面的页面曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第四埋点归因参数值,其中,在所述客户端启动后,每发生一次页面曝光,所述页面曝光顺序的值增加单位数值,且所述页面曝光顺序的值随着所述客户端的重新启动而重新开始计数;
在所述触发操作对应的当前埋点对象的类型为元素时,根据所述元素在所述元素所在页面内被触发的顺序、所述当前埋点对象的根对象所在页面的曝光顺序以及所述当前埋点对象的坑位信息,确定出所述触发操作所曝光的目标显示页面中的埋点对象的第四埋点归因参数值,其中,在所述元素所在页面内,每发生一次元素触发操作,所述元素在所述元素所在页面内被触发的顺序的值增加单位数值,且所述元素在所述元素所在页面内被触发的顺序的值随着所述当前埋点对象的根对象所在页面的页面曝光顺序的变化而重新开始计数。
11.一种埋点方法,其特征在于,包括:
根据待埋点显示页面的预设界面父子关系,确定出所述待埋点显示页面的预设埋点对象树;
为所述预设埋点对象树中的各埋点对象配置埋点对象标识和埋点信息上报参数;
针对所述预设埋点对象树中的每个埋点对象,根据所述埋点对象标识和埋点信息上报参数在所述埋点对象对应的界面中进行埋点,以使得客户端在接收到曝光所述待埋点显示页面的触发操作后,根据所述预设界面父子关系确定的所述预设埋点对象树进行埋点信息上报。
12.根据权利要求11所述的埋点方法,其特征在于,所述待埋点显示页面的预设界面父子关系通过以下方式确定:
基于所述待埋点的显示页面的用户界面组件,确定待埋点显示页面中可操作的用户界面和/或承载用户分发内容的用户界面的预设界面父子关系。
13.一种埋点信息的上报装置,其特征在于,包括:
埋点对象树确定模块,被配置为响应于针对客户端的触发操作,确定所述触发操作所曝光的目标显示页面中埋点对象对应的埋点对象树;
坑位信息确定模块,被配置为根据所述埋点对象树中的父子关系,确定出所述埋点对象树中的埋点对象的坑位信息;
埋点信息上报模块,被配置为针对所述埋点对象树中的每个所述埋点对象,获取所述埋点对象的坑位信息中所包含的埋点对象的埋点信息上报参数值,以对每个所述埋点对象进行埋点信息上报。
14.一种埋点装置,其特征在于,包括:
预设埋点对象树确定模块,被配置为根据待埋点显示页面的预设界面父子关系,确定出所述待埋点显示页面的预设埋点对象树;
埋点上报参数配置模块,被配置为为所述预设埋点对象树中的各埋点对象配置埋点对象标识和埋点信息上报参数;
埋点模块,被配置为针对所述预设埋点对象树中的每个埋点对象根据所述埋点对象标识和埋点信息上报参数在所述埋点对象对应的界面中进行埋点,以使得客户端在接收到曝光所述待埋点显示页面的触发操作后,根据所述预设埋点对象树进行埋点信息上报。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至12中任一项所述的方法。
16.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110629381.XA CN113254315B (zh) | 2021-06-07 | 2021-06-07 | 埋点信息的上报方法、埋点方法、装置、介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110629381.XA CN113254315B (zh) | 2021-06-07 | 2021-06-07 | 埋点信息的上报方法、埋点方法、装置、介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254315A true CN113254315A (zh) | 2021-08-13 |
CN113254315B CN113254315B (zh) | 2021-11-05 |
Family
ID=77186623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110629381.XA Active CN113254315B (zh) | 2021-06-07 | 2021-06-07 | 埋点信息的上报方法、埋点方法、装置、介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254315B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114282142A (zh) * | 2021-12-20 | 2022-04-05 | 珠海格力电器股份有限公司 | 一种数据埋点智能推送设备更新信息方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562620A (zh) * | 2017-08-24 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 一种埋点自动设置方法和装置 |
CN107633019A (zh) * | 2017-08-24 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 一种页面事件采集方法和装置 |
CN107992506A (zh) * | 2016-10-27 | 2018-05-04 | 北京京东尚科信息技术有限公司 | 信息处理方法及装置 |
CN110442511A (zh) * | 2019-06-25 | 2019-11-12 | 苏宁云计算有限公司 | 可视化埋点测试方法及装置 |
CN111435298A (zh) * | 2019-01-11 | 2020-07-21 | 北京京东尚科信息技术有限公司 | 埋点方法、装置、电子设备、存储介质 |
-
2021
- 2021-06-07 CN CN202110629381.XA patent/CN113254315B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992506A (zh) * | 2016-10-27 | 2018-05-04 | 北京京东尚科信息技术有限公司 | 信息处理方法及装置 |
CN107562620A (zh) * | 2017-08-24 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 一种埋点自动设置方法和装置 |
CN107633019A (zh) * | 2017-08-24 | 2018-01-26 | 阿里巴巴集团控股有限公司 | 一种页面事件采集方法和装置 |
CN111435298A (zh) * | 2019-01-11 | 2020-07-21 | 北京京东尚科信息技术有限公司 | 埋点方法、装置、电子设备、存储介质 |
CN110442511A (zh) * | 2019-06-25 | 2019-11-12 | 苏宁云计算有限公司 | 可视化埋点测试方法及装置 |
Non-Patent Citations (1)
Title |
---|
栾英英等: "银行业客户交互行为信息采集规范研究", 《第十七届中国标准化论坛论文集》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114282142A (zh) * | 2021-12-20 | 2022-04-05 | 珠海格力电器股份有限公司 | 一种数据埋点智能推送设备更新信息方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113254315B (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11163851B2 (en) | Method, apparatus, computer device and storage medium of page displaying | |
CN111602114B (zh) | 用于在集成开发环境内提供即时通信信道的系统和方法 | |
CN110928772B (zh) | 一种测试方法及装置 | |
US20200285462A1 (en) | Collaborative software development tool for resolving potential code-change conflicts in real time | |
CN111886579A (zh) | 用于在集成开发环境内提供即时通信信道的系统和方法 | |
CN109284102B (zh) | 信息采集方法及装置 | |
CN113010395A (zh) | 数据采集方法、装置、设备、介质和程序产品 | |
CN113485909B (zh) | 测试方法、装置、计算设备以及介质 | |
CN115576772A (zh) | 埋点信息上报方法及装置、介质及电子设备 | |
US10372760B2 (en) | Building queries directed to objects hosted on clouds | |
CN116360735A (zh) | 一种表单生成方法、装置、设备和介质 | |
CN110866205A (zh) | 用于存储信息的方法和装置 | |
CN113254315B (zh) | 埋点信息的上报方法、埋点方法、装置、介质、电子设备 | |
CN111581518A (zh) | 信息推送方法和装置 | |
CN107710190B (zh) | 使用去耦合的呈现资源来呈现内容 | |
CN115454400A (zh) | 接口参数的处理方法、装置、设备、介质及程序产品 | |
CN113971191A (zh) | 一种数据导入方法、装置和计算机可读存储介质 | |
US9164746B2 (en) | Automatic topology extraction and plotting with correlation to real time analytic data | |
CN114928566B (zh) | 客户端的功能测试方法、装置、存储介质与电子设备 | |
CN115454770A (zh) | 埋点信息的上报方法及装置、存储介质、电子设备 | |
CN110554892A (zh) | 信息获取方法和装置 | |
US20140244698A1 (en) | Method for Skipping Empty Folders when Navigating a File System | |
CN111459547B (zh) | 一种函数调用链路的展示方法和装置 | |
CN110221952B (zh) | 业务数据的处理方法及装置、业务数据处理系统 | |
US10938752B2 (en) | Online forum automated feedback generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |