CN112363943A - 一种埋点设置方法、装置、计算机设备和存储介质 - Google Patents
一种埋点设置方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112363943A CN112363943A CN202011307321.8A CN202011307321A CN112363943A CN 112363943 A CN112363943 A CN 112363943A CN 202011307321 A CN202011307321 A CN 202011307321A CN 112363943 A CN112363943 A CN 112363943A
- Authority
- CN
- China
- Prior art keywords
- identifier
- buried point
- object attribute
- attribute
- acquiring
- 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/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geophysics And Detection Of Objects (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种埋点设置方法、装置、计算机设备和存储介质。本申请实施例通过获取客户端的显示页面对应的对象的对象属性;若对象属性的类型为目标类型,则为对象属性添加监测代码;通过监测代码获取针对被触发目标对象属性的埋点设置指令;根据埋点设置指令,获取目标对象属性的埋点标识,并将埋点标识发送至服务器。该方案通过对目标类型的对象属性增加监测代码后,可以捕获在显示页面触发的埋点设置指令以进行埋点设置,不需要开发人员的参与;可以根据实际需求进行埋点设置,以获取针对所设置的埋点的操作行为,减少获取不需要统计的操作行为,降低处理数据的难度;减少向服务器发送埋点标识的数量,改善客户端显示页面的显示效果。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种埋点设置方法、计算机设备和存储介质。
背景技术
埋点是指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。可以用于监测和收集终端用户的操作行为,通过将收集的用户操作行为转化为数据,并进行数据分析,为小程序的优化提供数据支持。
现有的埋点方式主要有两种,一是代码埋点,对终端显示页面上每一个需要埋点的位置,增加相应的监测代码以捕获用户的操作行为,测试增加的检测代码对用户的操作行为的捕获效果,若捕获效果达到预期,发布产品的新版本之后,可以捕获下载了新版本产品的终端用户的操作行为,并将捕获到的操作行为(即埋点数据)发送给服务器,服务器对接收到的操作行为进行统计;二是全埋点,产品的代码程序可以直接对终端显示页面中可以与用户产生交互的位置进行监测,捕获终端用户的操作行为,并将捕获到的操作行为发送给服务器,服务器对接收到的操作行为进行统计。
在对现有技术的研究和实践过程中,本发明的发明人发现,代码埋点需要开发人员撰写埋点代码,测试埋点效果,埋点周期长,且产品需要重新发布版本才能够生效;全埋点会获取到非常多的埋点数据,需要对埋点数据进行清洗的得到需要的埋点数据,且向服务器发送的埋点数据过多会影响终端显示页面的效果。
发明内容
本申请实施例提供一种埋点设置方法、装置、计算机设备和存储介质,可以通过对目标类型的对象属性增加监测代码后,捕获在客户端的显示页面触发的埋点设置指令以进行埋点设置,不需要开发人员的参与;可以根据实际需求触发埋点设置指令进行埋点设置,以获取针对所设置的埋点的用户的操作行为,减少对不需要统计的用户的操作行为的获取,降低处理数据的难度,以及,减少向服务器发送埋点标识的数量,改善客户端显示页面的显示效果。
本申请实施例提供一种埋点设置方法,包括:
获取客户端的显示页面对应的对象的对象属性;
若所述对象属性的类型为目标类型,则为所述对象属性添加监测代码;
通过所述监测代码获取埋点设置指令,所述埋点设置指令为针对被触发的目标显示页面的目标对象属性的指令;
根据所述埋点设置指令,获取所述目标对象属性的埋点标识,并将所述埋点标识发送给服务器。
相应的,本申请实施例提供另一种埋点设置方法,包括:
从服务器上获取客户端的显示页面对应的埋点标识,所述埋点标识为对目标类型的对象属性增加监测代码后,根据通过所述监测代码获取的埋点设置指令,获取的埋点标识;
获取与所述埋点标识对应的所述显示页面的对象属性;
为所述对象属性添加监测代码,以在所述对象属性所在的显示页面上设置埋点;
通过所述监测代码采集针对所述对象属性的操作行为;
响应所述操作行为,按照预设规则获取所述对象属性的数据信息,将所述数据信息发送至服务器,以使得服务器对所述数据信息进行处理并存储至数据库。
相应的,本申请实施例还提供一种埋点设置装置,包括:
获取单元,用于获取客户端的显示页面对应的对象的对象属性;
监测单元,用于若所述对象属性的类型为目标类型,则为所述对象属性添加监测代码;
指令获取单元,用于通过所述监测代码获取埋点设置指令,所述埋点设置指令为针对被触发的目标显示页面的目标对象属性的指令;
发送单元,用于将根据所述埋点设置指令,获取所述目标对象属性的埋点标识,并将所述埋点标识发送至服务器。
相应的,本申请实施例还提供另一种埋点设置装置,包括:
第一获取单元,用于从服务器上获取客户端的显示页面对应的埋点标识,所述埋点标识为对目标类型的对象属性增加监测代码后,根据通过所述监测代码获取的埋点设置指令,获取的埋点标识;
属性单元,用于获取与所述埋点标识对应的所述显示页面的对象属性;
添加代码单元,用于为所述对象属性添加所述监测代码,以在所述对象属性所在的显示页面上设置埋点;
采集单元,用于通过所述监测代码采集针对所述对象属性的操作行为;
第二获取单元,用于响应所述操作行为,按照预设规则获取所述对象属性的数据信息,将所述数据信息发送至服务器,以使得服务器对所述数据信息进行处理并存储至数据库。
相应的,本申请实施例还提供的一种计算机设备,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行本申请实施例提供的任一种埋点设置方法。
相应的,本申请实施例还提供的一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序被处理器加载以执行本申请实施例提供的任一种埋点设置方法。
本申请实施例采用获取客户端的显示页面对应的对象的对象属性;若对象属性的类型为目标类型,则为对象属性添加监测代码;通过监测代码获取针对被触发的目标显示页面的目标对象属性的埋点设置指令;根据埋点设置指令,获取目标对象属性的埋点标识,并将埋点标识发送至服务器。该方案通过对目标类型的对象属性增加监测代码后,可以捕获在客户端的显示页面触发的埋点设置指令以进行埋点设置,不需要开发人员的参与;可以根据实际需求触发埋点设置指令进行埋点设置,以获取针对所设置的埋点的用户的操作行为,减少对不需要统计的用户的操作行为的获取,降低处理数据的难度,以及,减少向服务器发送埋点标识的数量,改善客户端显示页面的显示效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的埋点设置方法的场景示意图;
图2是本申请实施例提供的埋点设置方法的流程图;
图3是本申请实施例提供的埋点设置方法的埋点类型确认窗口的示意图;
图4是本申请实施例提供的埋点设置方法的显示页面与客户端的关系示意图;
图5是本申请实施例提供的埋点设置方法的埋点设置确认窗口的示意图;
图6是本申请实施例提供的埋点设置方法的事件模型的示意图;
图7是本申请实施例提供的埋点设置方法的另一流程图;
图8是本申请实施例提供的埋点设置方法的另一场景示意图;
图9是本申请实施例提供的埋点设置方法的又一流程图;
图10是本申请实施例提供的埋点设置方法的为对象属性添加监测代码的流程图;
图11是本申请实施例提供的埋点设置方法的双线程模型示意图;
图12是本申请实施例提供的埋点设置方法的区分埋点设置指令的流程图;
图13是本申请实施例提供的埋点设置方法的页面栈示意图;
图14是本申请实施例提供的埋点设置方法的根据埋点标识为对应的对象属性添加监测代码的流程图;
图15是本申请实施例提供的埋点设置装置的示意图;
图16是本申请实施例提供的另一埋点设置装置的示意图;
图17是本申请实施例提供的计算机设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供一种埋点设置方法、装置、计算机设备和存储介质,该埋点设置装置可以集成在计算机设备中,该计算机设备可以是终端,该终端可以为手机、平板电脑、笔记本电脑、车载计算机等设备。
例如,如图1所示,终端获取客户端的显示页面对应的对象的对象属性;若对象属性的类型为目标类型,则为对象属性添加监测代码;然后,通过监测代码获取用户触发的埋点设置指令;最后,根据埋点设置指令,获取目标对象属性的埋点标识,并将埋点标识发送给服务器。
其中,客户端可以是一种应用程序,该应用程序可以是运行在某一应用程序上的子应用,比如小程序等。
小程序,是指一种基于特定编程语言开发完成,无需下载和安装,就可以使用的移动端应用程序,其可以运行在跨平台移动客户端或应用上。小程序的最大特点是使用便捷,用户扫一扫或者搜索一下即可打开应用,无需手动的在移动端的操作***中安装。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本申请实施例将从埋点设置装置的角度进行描述,该埋点装置具体可以集成在终端等设备;其中,该终端可以包括手机、平板电脑、笔记本电脑、以及个人计算(PC,PersonalComputer)、车载计算机等设备。
本申请实施例提供的一种埋点设置方法,该方法可以由终端的处理器执行,如图2所示,该埋点设置方法的具体流程可以如下:
101、获取客户端的显示页面对应的对象的对象属性。
其中,客户端可以是应用程序,或者是运行在某一应用程序上的子应用程序;对象可以用于构建该客户端的显示页面,对象属性是对显示页面对应的对象的详细描述,可以用于实现显示页面的不同的显示方式。
例如,具体可以是在面向对象的程序设计中,对象是***中的基本运行实体,是代码和数据的集合。在应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象,它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是人和有明确边界和意义的东西。
类是具有相同特性(数据元素)和行为(功能)的对象的抽象。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。
在一实施例中,客户端可以是运行在某一应用程序上的子应用程序,例如,运行在即时通讯应用程序上的小程序,比如游戏小程序、购物小程序,或者服务小程序等。
可选的,获取对象属性的方式可以是多个显示页面同时进行获取显示页面的对象属性;也可以是逐个获取显示页面对应的对象的对象属性,获取顺序可以根据显示页面的出现顺序确定,比如在显示页面A点击(或者其他操作行为)之后,出现显示页面B,在显示页面B点击(或者其他操作行为)之后,出现显示页面C,那么按照ABC的顺序逐个获取显示页面对应的对象的对象属性,可以根据需要预设获取顺序;也可以是只获取当前显示页面对应的页面对象的对象属性,比如当前显示页面为显示页面A,获取显示页面A的页面对象的对象属性,在显示页面A触发显示页面B后,再获取显示页面B的页面对象的对象属性。
可选的,用户(例如运营人员)可以根据场景需求进行设置埋点,以获取用户在客户端显示页面上的操作行为,为了提高安全性,可以对设置埋点的用户进行身份验证(例如指纹验证、人脸识别或密码输入等),若验证通过,则说明该用户为运营人员,该运营人员即可进行埋点设置,即终端执行步骤101,以及本实施例的后续步骤,若用户为非运营人员,则不执行步骤101,以及本实施例的后续步骤。
验证用户身份可以有多种方式,比如,通过用户的用户身份识别号(Identitydocument,ID)与预设名单对比,判断用户是否为运营人员;也可以通过比较用户输入口令和预设的口令,以验证用户的身份,若相同,则为运营人员,若不同,则为非运营人员。
其中,预设名单可以根据运营人员的人数、ID进行预先设置;口令可以是数字组合、字符组合或者是数字与字符的组合,预设的口令可以根据实际需要进行预先设置。
102、若对象属性的类型为目标类型,则为对象属性添加监测代码。
其中,类型包括函数、参数、数值类型等;监测代码可以是钩子(Hook)函数。
在***没有调用该函数之前,通过钩子函数先捕获该消息,钩子函数先得到控制权,Hook函数可以用于处理消息,通过设置“钩子”,应用程序可以在***级对所有消息、事件进行过滤,访问在正常情况下无法访问的消息。钩子的本质是一段用以处理***消息的程序,通过***调用,把它挂入***。钩子函数有多种,比如可以是WH_MSGFILTER,添加的钩子函数可以根据实际场景需要进行选择。
例如,具体可以是,客户端显示页面上的控件在代码程序中有对应的对象属性和方法,该对象属性的类型为函数。获知用户对控件的操作情况,比如控件被点击的总次数或者是点击控件的总用户数等数据信息,就可以了解用户的兴趣和偏好,从而对客户端进行优化,因此,运营人员可以根据实际场景需要进行埋点设置,从而获知用户对控件的操作情况,所以,将函数设置为目标类型。
其中,控件的形式有多种,可以是图形、按钮、图片,或者是视频等。每一种控件有自己可以识别的事件,如窗体的加载、单击、双击等事件,用户通过针对控件的操作行为可以在当前页面跳转到其他页面,或者触发特定的程序指令,即用户的针对控件的一次操作行为是一个事件。用户的操作行为是可以被控件识别的操作,如按下确定按钮,或者选择某个单选按钮。
如果目标类型为函数,在步骤101中获取构建客户端的显示页面对应的对象的对象属性,若对象属性为函数,则为该属性添加钩子函数,即该属性包括原来的函数和添加的钩子函数。
在一实施例中,由于部分目标类型的属性在显示页面上不存在对应的控件,或者不需要对用户针对控件的操作行为进行采集,那么该目标属性不需要进行埋点设置,即可以不对该属性增加Hook函数以获取用户的操作行为。比如,用于监听页面加载的属性、用于监听页面显示的属性和用于监听页面隐藏的属性等,可以将上述对象属性作为预设对象属性,在确定对象属性为目标类型之后,判断对象属性是否为不需要添加Hook函数的对象属性,即预设对象属性,若不是,则为该对象属性添加监测代码。若是,不为该属性添加Hook函数,继续获取其他的对象属性。
其中,预设对象可以根据实际场景需要进行预先设置,可以是一个,也可以是有多个。
103、通过监测代码获取埋点设置指令,埋点设置指令为针对被触发的目标显示页面的目标对象属性的指令。
其中,埋点设置指令可以是在客户端的当前显示页面,即目标显示页面上,对一个控件进行操作,比如点击,从而触发了埋点设置指令。
比如,具体可以是,在步骤102中为当前显示页面上的控件在代码程序中对应的对象属性,即目标对象属性,增加了钩子函数后,可以获取针对该控件的操作而触发的埋点设置指令,即针对被触发的目标对象属性(该控件对应的对象属性)的埋点设置指令。
例如,具体可以是用户在当前显示页面上对需要设置埋点的控件进行点击操作,触发对该控件设置埋点的埋点设置请求,步骤102为目标属性添加的监测代码可以获取用户的该点击操作,即获取针对被触发的目标显示页面的目标对象属性的埋点设置指令。
104、根据埋点设置指令,获取目标对象属性的埋点标识,并将埋点标识发送至服务器。
其中,埋点标识用于识别被触发埋点设置指令的目标对象属性。
例如,具体可以是,由于目标对象属性的类型为函数,可以获取该对象属性的属性名称,即函数名称作为埋点标识,以识别该对象属性,然后,将该对象属性的属性名称(即,埋点标识)发送给服务器。
客户端通常有多个显示页面,在不同的显示页面可能有相同的函数,获取函数名称不能唯一识别目标显示页面的目标对象属性,即不能唯一标识当前显示页面的目标属性对应的控件,可以根据需要获取埋点标识,比如获取页面标识和对象属性的第一属性作为埋点标识。
在一实施例中,获取埋点设置指令后,发送埋点类型确认请求;根据针对埋点类型确认请求的返回信息,获取目标对象属性的埋点标识。
其中,埋点类型包括全局事件、页面事件和列表事件,全局事件是指需要采集用户在客户端的所有显示页面上,针对对象属性相同(比如,可以是对象属性的属性名称相同)的控件的操作行为;页面事件是指只统计在当前显示页面上,针对对象属性相同的控件的操作行为;列表事件是指需要区别统计在当前显示页面上,针对对象属性相同的控件的操作行为。
其中,返回信息可以是用户针对埋点类型确认请求,选择埋点类型后,终端获取到的信息。
比如,具体可以是,用户在当前显示页面上对需要设置埋点的控件进行点击操作,触发对该控件设置埋点的埋点设置请求,步骤102为目标属性添加的监测代码可以捕获该埋点设置请求,获取到该埋点设置请求后,向用户发送埋点类型确认请求,比如,如图3所示,可以是在客户端的当前显示页面上弹出窗口(埋点类型确认窗口)以供用户选择埋点类型,用户点击“新增埋点事件”控件,确认埋点类型。
可选的,弹出窗口还可以包括输入区域,以供用户该输入区域输入事件名称,用户点击“新增埋点事件”控件后,将埋点标识和事件名称进行关联后,发送给服务器。事件名称即为事件标识,事件标识还可以是其他方式,在此不做限定。
终端获取返回信息后,可以确定埋点类型,根据埋点类型获取埋点标识,比如,若埋点类型为全局事件,则获取目标对象属性的第一属性标识,将第一属性标识作为埋点标识;
若埋点类型为页面事件,则获取目标对象属性的第一属性标识和目标显示页面的页面标识,将第一属性标识和页面标识作为埋点标识;
若埋点类型为列表事件,则获取目标对象属性的第一属性标识、第二属性标识和目标显示页面的页面标识,将第一属性标识、第二属性标识和页面标识作为埋点标识。
其中,第一属性标识可以标识目标对象属性,也可以标识与目标对象属性相同的对象属性,比如可以是对象属性的名称,或者其他可以识别该目标对象属性的标识符;第二属性标识可以是目标对象属性的参数;页面标识可以标识目标显示页面,比如可以是目标显示页面的页面路径,页面路径为标记一个显示页面在客户端中的位置,可以理解的是类似于操作***中文件的路径;或者其他可以识别该目标显示页面的标识。
由于,全局事件是统计在所有显示页面上,针对对象属性相同的控件的操作行为,不需要区分是在哪一个显示页面上的操作行为,因此,获取对象属性的属性名称即可识别该对象属性;页面事件是统计针对当前页面的对象属性相同的控件的操作行为,需要确定操作所在的显示页面,比如如图4所示,统计显示页面B的对象属性A,所以,需要获取对象属性的属性名称和当前页面的页面路径,即当前页面的页面标识,作为埋点标识;列表事件需要分别统计针对当前页面的对象属性相同的控件的操作行为,因为针对不同控件的操作行为,对应的对象属性会接收到不同的参数,根据参数可以区分不同的控件,因此获取对象属性的属性名称、当前页面的页面标识和对象属性的参数作为埋点标识。
在一实施例中,在步骤103获取埋点设置指令后,为了防止是用户错误触发的埋点设置指令,在向用户发送埋点类型确认请求之前,如图5所示,向用户发送埋点设置确认请求,即弹出埋点设置确认窗口,若用户点击“确认”,再向用户发送埋点类型确认请求。
如图6所示,事件捕获时,事件会从最顶层的显示页面,经过多个显示页面后,到达代码程序中对应的对象属性,事件冒泡的顺序则相反。在经过其他显示页面时,如果在相同的位置有控件,会在其他显示页面上触发事件。相同的位置指的相对于终端显示屏幕的属于同一个位置(位置标识相同)。
在一实施例中,用户在当前显示页面触发的埋点设置指令经过多个显示页面的过程中触发了多个埋点设置指令,多个埋点设置指令存在先后顺序,但几乎是同时的,因此可以根据位置标识和时间戳来判断是否是埋点设置指令经过不同显示页面时触发的埋点设置指令,而不是在目标显示页面触发的埋点设置请求。即在步骤“根据埋点设置指令获取目标对象属性的埋点标识,并将埋点标识发送至服务器”包括:
根据埋点设置指令获取对应时间戳和位置标识;
根据时间戳和位置标识判断埋点设置指令是否已被执行;
若否,则根据埋点设置指令,获取目标对象属性的埋点标识,并将埋点标识发送至服务器,以及将时间戳和位置标识进行匹配并记录。
具体可以是,获取埋点设置指令,以及获取埋点设置指令对应时间戳和位置标识,根据时间戳和位置标识判断埋点设置指令是否已被执行,若该埋点设置指令未被执行,则根据埋点设置指令,获取目标对象属性的埋点标识,并将埋点标识发送至服务器,以及将时间戳和位置标识进行匹配,并记录,以用于与在该埋点设置指令之后获取的其他埋点设置指令对应的时间戳和位置标识进行比较。
其中,“根据时间戳和位置标识判断埋点设置指令是否已被执行”具体步骤可以是:
获取预先存储的历史时间戳和历史位置标识,历史时间戳和历史位置标识存在映射关系。
将时间戳与历史时间戳进行比较,以及将位置标识与历史时间戳对应的历史位置标识进行比较;
当时间戳与历史时间戳一致,以及位置标识与历史位置标识一致时,确定埋点设置指令已被执行;
当时间戳与历史时间戳不一致,或位置标识与历史位置标识不一致时,确定埋点设置指令未被执行。
其中,历史时间戳和历史位置标识可以包括获取埋点设置指令后,记录的时间戳和位置标识,历史时间戳和历史位置标识存在映射关系,即映射关系可以是针对同一埋点设置指令获取的时间戳和位置标识。
比如,具体可以是将时间戳和位置标识和历史时间戳和历史位置标识相比较,如果时间戳和位置标识与历史时间戳和历史位置标识一致,则该埋点设置指令已经被执行,不进行获取埋点标点标识的操作;若时间戳相同,位置标识不同,或者时间戳不同,位置标识相同,则与历史时间戳和历史位置标识所对应的埋点设置指令不属于在同一时间,同一显示页面的同一位置触发的埋点设置指令,即该埋点设置指令未被执行,记录获取的时间戳和位置标识,用于与在该埋点设置指令之后获取的埋点设置指令对应的时间戳和位置标识进行比较,判断在该埋点设置指令之后获取的埋点设置指令是否已经被执行。
其中,历史时间戳和历史位置标识(也称为记录信息)可以根据实际需要进行定时删除,或者定量删除,或者按照预设规则进行删除。比如每天零点删除前一次的历史时间戳和历史位置标识;或者超过50条记录数据,删除记录信息;或者,获取未执行的埋点设置指令,删除记录信息,并记录埋点设置指令对应的时间戳和位置标识
其中,时间戳可以是用户打开客户端到终端获取埋点设置指令的时间,用于标识埋点设置指令产生的时间,可以根据实际情况设置获取的时间戳的精度,以使得在目标显示页面触发的埋点设置指令在经过其他显示页面时,触发的埋点设置指令的时间戳相同。
其中,位置标识可以标识埋点设置指令在显示页面被触发的位置,终端显示屏幕上位置a在不同显示页面的对应位置的位置标识是相同的。比如,以触屏手机为例,在手机屏幕上点击同个位置,当前显示页面为A、B或者C,终端获取到的位置标识是相同的。
终端将埋点标识发送给服务器,以供其他终端打开客户端时从服务器获取埋点标识,获取与埋点标识对应的显示页面的对象属性,为埋点标识对应的对象属性添加监测代码,即设置埋点,埋点设置完成后,可以采集针对添加了监测代码的对象属性的操作行为,响应操作行为,按照预设规则获取对象属性的数据信息,将数据信息发送至服务器,以使得服务器对数据信息进行处理并存储至数据库。
以上各个操作的具体实施可参见后续的实施例,在此不作赘述。
由上可知,本申请实施例采用获取客户端的显示页面对应的对象的对象属性;若对象属性的类型为目标类型,则为对象属性添加监测代码;通过监测代码获取针对被触发的目标显示页面的目标对象属性的埋点设置指令;根据埋点设置指令,获取目标对象属性的埋点标识,并将埋点标识发送给服务器。该方案通过对目标类型的对象属性增加监测代码后,可以捕获在客户端的显示页面触发的埋点设置指令以进行埋点设置,不需要开发人员的参与;可以根据实际需求触发埋点设置指令进行埋点设置,以获取针对所设置的埋点的用户的操作行为,减少对不需要统计的用户的操作行为的获取,降低处理数据的难度,以及,减少向服务器发送埋点标识的数量,改善客户端显示页面的显示效果。
本申请实施例将从埋点设置装置的角度进行描述,该埋点装置具体可以集成在终端等设备;其中,该终端可以包括手机、平板电脑、笔记本电脑、以及个人计算(PC,PersonalComputer)、车载计算机等设备。
本申请实施例提供的一种埋点设置方法,该方法可以由终端的处理器执行,如图7所示,该埋点设置方法的具体流程可以如下:
201、从服务器上获取客户端的显示页面对应的埋点标识。
其中,埋点标识可以是在前一实施例中获取并发送给服务器的埋点标识,具体可以是对象属性的第一属性标识,或者是第一属性标识和页面标识,又或者是第一属性标识、第二属性标识和页面标识。
其中,客户端可以是应用程序,或者是运行在某一应用程序上的子应用程序。
用户打开客户端后,终端从服务器上获取埋点标识,以进行埋点设置。
可选的,获取埋点标识,以及获取事件名称,事件名称和埋点标识存在对应关系,在前一实施例步骤104中,在弹出窗口选择埋点类型和输入事件名称后,获取的埋点标识与输入的事件名称是关联的。
202、获取与埋点标识对应的显示页面的对象属性。
比如,具体可以是,获取到埋点标识后,获取显示页面的对象属性,将对象属性与埋点标识对比,若相对应,则该对象属性为所要获取的对象属性,执行步骤203。若不对应,则继续获取下一个对象属性。
若埋点标识是第一属性标识,获取的对象属性的第一属性标识与埋点标识相同,则该对象属性为所需要添加监测代码的对象属性,执行步骤203。
若埋点标识是第一属性标识和页面标识,若埋点标识与获取的对象属性的第一属性标识和对象属性所在显示页面的页面标识均相同,则该对象属性为所需要添加监测代码的对象属性,
比如,具体可以是判断埋点标识的第一属性标识和获取的对象属性的第一属性标识是否相同,若相同,则判断埋点标识的页面标识和获取的对象属性所在的显示页面的页面标识是否相同。若两个页面标识相同,则该对象属性为所需要添加监测代码的对象属性,执行步骤203;若两个页面标识不同,则继续获取下一个对象属性。若埋点标识的第一属性标识和获取的对象属性的第一属性标识不同,则继续获取下一个对象属性。
可选的,可以改变判断第一属性标识和页面标识的顺序,比如先判断页面标识是否相同,若相同,判断第一属性标识是否相同。
若埋点标识是第一属性标识、第二属性标识和页面标识,若埋点标识与获取的对象属性的第一属性标识、第二属性标识和对象属性所在显示页面的页面标识均相同,则该对象属性为所需要添加监测代码的对象属性,
在一实施例中,可以将全局事件、页面事件和列表事件的埋点标识(即根据埋点类型为全局事件、页面事件或者列表事件,获取的埋点标识)进行分类,比如,可以是分类一:全局事件的埋点标识,分类二:显示页面A的页面事件的埋点标识,分类三:显示页面A的列表事件的埋点标识,分类四:页面B的页面事件的埋点标识,分类五:显示页面B的列表事件的埋点标识……
获取显示页面A对应的页面对象的对象属性,与分类一、分类二和分类三的埋点标识进行比较,因为,分类二和分类三是关于显示页面A的页面事件和列表事件,所以,不需要要判断埋点标识的页面标识和获取的对象属性所在的显示页面的页面标识是否相同,只需要要判断第一属性标识,或者比较第一属性标识和第二属性标识即可。获取显示页面B对应的页面对象的对象属性,与分类一、分类四和分类五的埋点标识进行比较,其他显示页面与全局事件的埋点标识(分类一),和显示页面对应的页面事件和列表事件的埋点标识。
在一实施例中,可以在“获取与埋点标识对应的显示页面的对象属性”之前,先判断对象属性的类型是否为目标类型。
例如,具体可以是,若目标类型为函数,判断对象属性的类型是否为函数,若是,判断该对象属性是否为埋点标识对应的对象属性,若是,则该对象属性为所需要添加监测代码的对象属性,执行步骤203;若否,则获取下一个对象属性。
203、为对象属性添加监测代码,以在对象属性所在的显示页面上设置埋点。
比如,具体可以是获取与埋点标识对应的对象属性,为该对象属性添加监测代码。
可选的,为该对象属性添加相关代码以将事件名称写入,以在步骤205中获取数据信息时可以获取该事件名称。
可选的,为该对象属性添加相关代码以将埋点类型写入,以在步骤205中获取数据信息时可以获取该埋点类型。
其中,埋点类型可以以数字1、2和3分别代表全局事件、页面事件和列表事件,也可以采用其他数字或者字符表示。
204、通过监测代码采集针对对象属性的操作行为。
例如,具体可以是用户在客户端的显示页面进行操作行为,比如点击,若该被点击的位置对应的对象属性添加了监测代码,则监测代码可以采集该操作行为。
在一实施例中,用户在当前显示页面的操作行为,比如点击操作(即,事件),经过多个显示页面的过程中可能会产生其他事件,即在其他显示页面进行操作行为,将多个显示页面的事件进行统计会导致重复统计,结果不准确。可以获取该操作行为对应的时间戳和位置标识,通过时间戳和位置标识判断该操作行为是否已经上报,即是否已经获取该行为操作对应的数据信息,并将该数据信息发送给服务器。
如果时间戳和位置标识与历史时间戳和历史位置标识相同,则该操作行为已经上报,不对该操作行为做出响应;若时间戳相同,位置标识不同,或者时间戳不同,位置标识相同,则与记录的时间戳和位置标识对应的操作行为不属于用户在同一时间,同一显示页面的同一位置进行的操作行为,即该操作行为未上报,记录获取的时间戳和位置标识,用于与在该操作行为之后采集到的操作行为对应的时间戳和位置标识进行比较,判断在该操作行为之后采集的操作行为是否已经被执行。
其中,时间戳可以是用户打开客户端到终端采集用户的操作行为的时间,用于标识操作行为产生的时间,可以根据实际情况设置获取的时间戳的精度,以使得在目标显示页面触发的埋点设置指令在经过其他显示页面时,触发的埋点设置指令的时间戳相同。
其中,位置标识可以标识操作行为发生在显示页面的位置,终端显示屏幕上位置a在不同显示页面的对应位置的位置标识是相同的。比如,以触屏手机为例,在手机屏幕上点击同个位置,当前显示页面为A、B或者C,终端获取到的位置标识是相同的。
205、响应操作行为,按照预设规则获取对象属性的数据信息,将数据信息发送给服务器,以使得服务器对数据信息进行处理并存储至数据库。
其中,数据信息可以包括用户的ID、事件名称、操作行为发生的时间和城市、客户端的版本信息、网络运营商和埋点类型等。
比如,具体可以是采集到用户的操作行为后,根据预设的规则获取用户的ID、事件名称和埋点类型,以及操作行为发生的时间,将获取到的数据信息进行关联后发送给服务器。
服务器对接收到的数据信息进行处理,比如根据埋点类型对数据信息进行分类,或者根据操作行为发生的时间对数据信息进行排序,或者计算控件(添加监测代码的对象属性在显示页面上的对应位置)被点击的次数,点击该控件的用户数量。
其中预设规则可以根据获取数据信息的实际需要进行预先设置,对数据信息的处理方式同样可以根据实际场景需要进行预先设置。
在一实施例中,按照预设规则获取对象属性的数据信息后,即时将数据信息发送给服务器。
在另一实施例中,按照预设规则获取对象属性的数据信息,先不将数据信息发送给服务器,待获取到一定数量的数据信息之后,再把获取到的数据信息统一发送给服务器。或者,设置定时发送,比如每12小时,向服务器发送一次获取到数据信息。
其中数量可以根据实际情况进行设置,定时发送的频率可以根据实际情况进行设置。
由上可知,本申请实施例采用从服务器上获取客户端的显示页面对应的埋点标识;然后,获取与埋点标识对应的显示页面的对象属性;为对象属性添加监测代码,以在对象属性所在的显示页面上设置埋点,通过监测代码采集针对对象属性的操作行为,响应操作行为,按照预设规则获取对象属性的数据信息,将数据信息发送给服务器,以使得服务器对数据信息进行处理并存储至数据库。该方案通过对目标类型的对象属性增加监测代码后,可以捕获在客户端的显示页面触发的埋点设置指令以进行埋点设置,不需要开发人员的参与;可以根据实际需求触发埋点设置指令进行埋点设置,以获取针对所设置的埋点的用户的操作行为,减少对不需要统计的用户的操作行为的获取,降低处理数据的难度,以及,减少向服务器发送埋点标识的数量,改善客户端显示页面的显示效果。
在上述实施例的基础上,下面将举例做进一步详细说明。
在本申请实施例将以该埋点设置方法在应用程序上的子应用程序——小程序的应用为例,一埋点设置装置用于执行埋点模式的埋点设置方法,另一埋点设置装置用于执行采集模式的埋点设置方法的角度,进行详细说明。
如图8所示,在埋点模式下,终端将获取的埋点标识发送给服务器,采集模式下,终端从服务器获取埋点标识,进行埋点设置,并通过设置埋点获取用户对该埋点的操作行为(也可以称为事件),并将事件发送给服务器(上报事件),服务器将事件进行保存。运营人员可以通过网页平台访问服务器获取的事件的相关数据信息(统计数据)。
该埋点装置均可以集成在终端等设备;其中,该终端可以包括手机、平板电脑、笔记本电脑、以及个人计算(PC,Personal Computer)、车载计算机等设备。
如图9所示,一种埋点设置方法,具体流程如下;
301、判断是否进入埋点模式。
比如,具体可以是,打开小程序时,小程序进入采集模式,通过预设的方式可以进入埋点模式,比如“摇一摇”,用户通过摇动手机,触发进入埋点模式的请求。若用户的ID在预设名单中,则小程序进入埋点模式,若不在预设名单中,则小程序仍处于采集模式下。
可选的,触发进入埋点模式的请求的方式可以有多种,比如通过点击控件触发,或者通过预设的手机运动轨迹,比如用户使手机沿着“8”的字形运动以触发进入埋点模式的请求。
302、若是,则为对象属性添加监测代码。
例如,如图10所示,具体步骤可以是:
获取小程序显示页面的对应的对象的对象属性;
若对象属性为函数,则判断对象属性是否为预设对象属性;
若不是,则为该对象属性添加监测代码。
在一实施例中,由于小程序可以利用页面构造器(Page)和组件构造器(Component),构造一个显示页面,因此,对象属性可以是小程序的页面对象和组件对象中的对象属性。
如图11所示,小程序采用双线程模型,在渲染层触发的事件都会传递到逻辑层,在渲染层触发一个控件,都会在逻辑层触发对应一个函数。因此,可以通过对函数添加监测代码,以获取在渲染层的操作行为所触发的埋点设置指令。又因为,部分函数不需要添加监测代码,比如监听显示页面初次渲染完成的函数(onReady)、监听显示页面显示的函数(onShow)和监听显示页面加载的函数(onLoad),可将不需要添加监测代码的函数存储在预设名单中,通过与预设名单比较,确定是否为对象属性添加监测代码。
判断小程序的页面对象和组件对象中的对象属性是否为函数类型,即该对象属性是否为函数,若对象属性为函数,判断该对象属性是否在预设名单中,若不在,则为该对象属性添加监测代码。
可选的,有些函数是在显示页面加载过程中形成的,因此添加一个生命周期函数,生命周期函数用于在显示页面加载完成(onLoad执行完成)和显示页面显示完成(onShow执行完成)之后,执行为对象属性添加监测代码的步骤。
303、通过监测代码获取埋点设置指令。
例如,具体可以是用户在当前小程序的显示页面上对需要设置埋点的控件进行点击操作,触发对该控件设置埋点的埋点设置请求,步骤302对该控件在逻辑层对应的对象属性添加的监测代码可以获取用户的该点击操作,即获取埋点设置指令。
304、发送埋点设置指令确认请求。
小程序的事件模型如图6所示,在页面A触发的埋点设置指令,捕获埋点设置指令的是从外到内的,即埋点设置指令从页面A被触发,依次经过页面B、页面C,然后到达逻辑层,在页面B或者页面C的相同位置(位置标识相同),如果存在控件,即会触发针对页面2或者页面3的埋点设置指令,但针对页面B或者页面C的埋点设置指令不是用户在当前显示页面触发的埋点设置指令,因此需要对埋点设置指令进行区分。
比如,具体可以是,如图12所示,获取埋点设置指令的时间戳和位置标识,根据时间戳和位置标识判断该埋点设置指令是否已经被执行,若时间戳和位置标识与记录的时间戳和位置标识相同,则埋点指令已经被执行,结束埋点设置方法的流程。若时间戳和位置标识与历史时间戳和历史位置标识不同,埋点指令未被执行,则根据用户在显示页面的操作行为在逻辑层触发对应对象属性的参数的类型,判断该操作行为是否为点击操作,如果是点击操作,则针对该埋点设置指令在小程序当前显示页面上弹出窗口,如图5所示,询问用户是否设置埋点,用户通过选择“确定”控件,确定设置埋点,或者选择“取消”控件,取消埋点设置。
若用户选择“确定”控件,关闭窗口,如图3所示,弹出另一窗口以供用户在该弹出窗口输入事件名称,和对埋点类型进行选择,点击“新增埋点事件”控件,对埋点设置指令的事件名称和埋点类型进行确认。
305、根据针对埋点设置指令确认请求的返回信息,获取埋点标识。
获取返回信息后,可以确定埋点类型,根据埋点类型获取埋点标识。
比如,具体可以是:
若埋点类型为全局事件,则获取对象属性的属性名称,将属性名称作为埋点标识;
若埋点类型为页面事件,则获取对象属性的属性名称和显示页面的页面路径,将属性名称和显示页面的页面路径作为埋点标识;
若埋点类型为列表事件,则获取目标对象属性的属性名称、对象属性的参数和显示页面的页面路径,将属性名称、对象属性的参数和显示页面的页面路径作为埋点标识。
其中,如果利用组件构造器构造显示页面,因为组件的层级比页面层级低,从组件对象是没法获取页面信息的。但是由于是可视化埋点,所以,如图13所示,当前显示页面所在的页面位于页面栈的最上方,因此,可以通过页面栈获取当前的显示页面对应的对象,然后再获取显示页面的页面标识。
其中,页面路径为标记显示页面在小程序中的位置
306、将埋点标识和返回信息进行关联后,发送至服务器。
将获取的埋点标识和返回信息进行关联后,发送至服务器,以供终端在采集模式下,从服务器获取埋点标识和相关联的返回信息,进行埋点设置。
307、若否,则从服务器获取相关联的埋点标识和返回信息。
比如,具体可以是,打开小程序时,小程序进入采集模式。此时,终端从服务器获取相关联的埋点标识和返回信息,为当前显示页面添加一个生命周期函数,生命周期函数用于在显示页面加载完成(onLoad执行完成)和显示页面显示完成(onShow执行完成)之后,执行为所获取埋点标识对应的对象属性添加监测代码的步骤,即步骤308。
308、根据埋点标识为对应的对象属性添加监测代码,以采集在小程序显示页面针对该对象属性的操作行为。
比如,具体可以是,如图14所示,获取当前显示页面的页面对象的对象属性,若对象属性的类型为函数,则判断该对象属性是否为采集模式下,终端获取的埋点标识对应的对象属性,若是,为该对象属性添加监测函数,以采集用户在当前显示页面针对该对象属性的操作行为。
可选的,为该对象属性添加相关代码以将事件名称写入,以在步骤309获取数据信息时可以获取该事件名称。
309、响应操作行为,按照预设规则获取对象属性的数据信息,将数据信息发送至服务器,以使得服务器对数据信息进行处理并存储至数据库。
比如,具体可以是,获取用户在当前显示页面的操作行为(事件)的时间戳和位置标识,根据时间戳和位置标识判断事件是否已经上报(即已经获取对象属性的数据信息,并发送给服务器)。若时间戳和位置标识与记录的时间戳和位置标识相同,则事件已经上报,结束步骤309。若时间戳和位置标识与记录的时间戳和位置标识不同,则事件未上报,则按照预设规则获取对象属性的数据信息,将数据信息发送给服务器,以使得服务器对数据信息进行处理并存储至数据库。
由上可知,本申请实施例采用判断是否进入埋点模式;若是,则为对象属性添加监测代码;通过监测代码获取埋点设置指令;然后,发送埋点设置指令;根据针对埋点设置指令确认请求的返回信息,获取埋点标识;然后将埋点标识和返回信息进行关联后,发送至服务器。若否,则从服务器获取相关联的埋点标识和返回信息;根据埋点标识为对应的对象属性添加监测代码,以采集在小程序显示页面针对该对象属性的操作行为;响应操作行为,按照预设规则获取对象属性的数据信息,将数据信息发送给服务器,以使得服务器对数据信息进行处理并存储至数据库。该方案通过对目标类型的对象属性增加监测代码后,可以捕获在客户端的显示页面触发的埋点设置指令以进行埋点设置,不需要开发人员的参与;可以根据实际需求触发埋点设置指令进行埋点设置,以获取针对所设置的埋点的用户的操作行为,减少对不需要统计的用户的操作行为的获取,降低处理数据的难度,以及,减少向服务器发送埋点标识的数量,改善客户端显示页面的显示效果。
为了更好地实施以上方法,本申请实施例还提供一种埋点设置装置,如图15所示,该埋点设置装置可以包括属性获取单元401、监测单元402、指令获取单元403和发送单元404,如下:
(1)获取单元401:
获取单元401,用于获取客户端的显示页面对应的对象的对象属性。
(2)监测单元402:
监测单元402,用于若对象属性的类型为目标类型,则为对象属性添加监测代码。
比如,具体可以是如果目标类型为函数,获取单元101获取构建客户端的显示页面对应的对象的对象属性,若对象属性为函数,则为该属性添加监测代码,即该属性包括原来的函数和添加的监测代码。
可选的,监测单元402包括判断子单元,
判断子单元,用于若对象属性的类型为目标类型,则判断对象属性是否为预设对象属性;
若否,则为对象属性添加监测代码。
(3)指令获取单元403:
指令获取单元403,用于通过监测代码获取埋点设置指令,埋点设置指令为针对被触发的目标显示页面的目标对象属性的指令。
比如,具体可以是,监测单元402当对目标对象属性增加监测代码后,可以获取针对该对象属性在目标显示页面对应的位置的操作行为所触发的埋点设置指令,即针对被触发的目标对象属性的埋点设置指令。
(4)发送单元404:
发送单元404,用于将根据埋点设置指令,获取目标对象属性的埋点标识,并将埋点标识发送至服务器。
例如,具体可以是,如果目标对象属性的类型为函数,可以获取该对象属性的属性名称,即函数名称作为埋点标识,以识别该对象属性,然后,将该对象属性的名称,即埋点标识发送给服务器。
可选的,发送单元404可以包括埋点信息子单元和标识子单元,其中:
埋点信息子单元,用于响应埋点设置指令,发送埋点类型确认请求;
根据针对埋点类型确认请求的返回信息,获取目标对象属性的埋点标识,并将埋点标识发送至服务器。
标识子单元,用于根据埋点设置指令获取对应时间戳和位置标识;
根据时间戳和位置标识判断埋点设置指令是否已被执行;
若否,则根据埋点设置指令,获取目标对象属性的埋点标识,并将埋点标识发送至服务器,以及将时间戳和位置标识进行匹配并记录。
可选的,其中对象属性包括第一属性标识和第二属性标识,显示页面包括页面标识,返回信息包括事件标识,埋点信息子单元包括埋点类型模块和事件标识模块。其中:
埋点类型模块,用于接收用户针对显示的埋点类型输入的选择指令,基于选择指令确定返回信息,返回信息携带埋点类型,埋点类型包括全局事件、页面事件和列表事件;
若埋点类型为全局事件,则获取目标对象属性的第一属性标识,将第一属性标识作为埋点标识;
若埋点类型为页面事件,则获取目标对象属性的第一属性标识和目标显示页面的页面标识,将第一属性标识和页面标识作为埋点标识;
若埋点类型为列表事件,则获取目标对象属性的第一属性标识、第二属性标识和目标显示页面的页面标识,将第一属性标识、第二属性标识和页面标识作为埋点标识。
事件标识模块,用于将事件标识与埋点标识进行关联,并将关联后的事件标识与埋点标识发送至服务器。
可选的,标识子单元包括比较模块,比较模块用于获取预先存储的历史时间戳和历史位置标识,历史时间戳和历史位置标识存在映射关系。
将时间戳与历史时间戳进行比较,以及将位置标识与历史时间戳对应的历史位置标识进行比较;
当时间戳与历史时间戳一致,以及位置标识与历史位置标识一致时,确定埋点设置指令已被执行;
当时间戳与历史时间戳不一致,或位置标识与历史位置标识不一致时,确定埋点设置指令未被执行。
由上可知,本实施例在通过获取单元401获取客户端的显示页面对应的对象的对象属性后,由监测单元402若对象属性的类型为目标类型,则为对象属性添加监测代码。由指令获取单元403通过监测代码获取埋点设置指令,埋点设置指令为针对被触发的目标显示页面的目标对象属性的指令;最后,通过发送单元404将根据埋点设置指令,获取目标对象属性的埋点标识,并将埋点标识发送至服务器。该方案通过对目标类型的对象属性增加监测代码后,可以捕获在客户端的显示页面触发的埋点设置指令以进行埋点设置,不需要开发人员的参与;可以根据实际需求触发埋点设置指令进行埋点设置,以获取针对所设置的埋点的用户的操作行为,减少对不需要统计的用户的操作行为的获取,降低处理数据的难度,以及,减少向服务器发送埋点标识的数量,改善客户端显示页面的显示效果。
为了更好地实施以上方法,本申请实施例还提供另一种埋点设置装置,如图16所示,该埋点设置装置可以包括第一获取单元501、属性单元502、采集单元503和第二获取单元504,如下:
(1)第一获取单元501:
第一获取单元501,用于从服务器上获取客户端的显示页面对应的埋点标识,埋点标识为对目标类型的对象属性增加监测代码后,根据通过监测代码获取的埋点设置指令,获取的埋点标识。
(2)属性单元502:
属性单元501,用于获取与埋点标识对应的显示页面的对象属性。
例如,具体可以是通过获取单元501获取到埋点标识后,由属性单元502获取显示页面的对象属性,将对象属性与埋点标识对比,若相对应,则该对象属性为所要获取的对象属性,执行步骤203。若不对应,则继续获取下一个对象属性。
(3)采集单元503:
采集单元503,用于为对象属性添加监测代码,以在对象属性所在的显示页面上设置埋点。
例如,具体可以是用户在客户端的显示页面进行操作行为,比如点击,若该被点击的位置对应的对象属性添加了监测代码,则监测代码可以采集该操作行为。
采集单元503可以包括时间戳单元、位置标识单元和判断单元,其中:
时间戳单元,用于获取用户打开客户端到终端采集用户的操作行为的时间,即时间戳;
位置标识单元,用于获取操作行为发生在显示页面的位置的位置标识。
判断单元,用于根据位置标识和时间戳判断是否已获取数据信息;
若否,记录位置标识和时间戳,并按照预设规则获取对象属性的数据信息,将数据信息发送至服务器。
(4)第二获取单元504:
第二获取单元504,用于响应操作行为,按照预设规则获取对象属性的数据信息,将数据信息发送至服务器,以使得服务器对数据信息进行处理并存储至数据库。
比如,具体可以是采集到用户的操作行为后,根据预设的规则获取用户的ID、事件名称和埋点类型,以及操作行为发生的时间,将获取到的数据信息进行关联后发送给服务器。
由上可知,本实施例在通过第一获取单元501从服务器上获取客户端的显示页面对应的埋点标识,埋点标识为对目标类型的对象属性增加监测代码后,根据通过监测代码获取的埋点设置指令,获取的埋点标识,再由属性单元502用于获取与埋点标识对应的显示页面的对象属性,然后再通过采集单元503为对象属性添加监测代码,以在对象属性所在的显示页面上设置埋点;最后,由第二获取单元504响应操作行为,按照预设规则获取对象属性的数据信息,将数据信息发送至服务器,以使得服务器对数据信息进行处理并存储至数据库。该方案通过对目标类型的对象属性增加监测代码后,可以捕获在客户端的显示页面触发的埋点设置指令以进行埋点设置,不需要开发人员的参与;可以根据实际需求触发埋点设置指令进行埋点设置,以获取针对所设置的埋点的用户的操作行为,减少对不需要统计的用户的操作行为的获取,降低处理数据的难度,以及,减少向服务器发送埋点标识的数量,改善客户端显示页面的显示效果。
本申请实施例还提供一种计算机设备,本申请实施例还提供一种计算机设备,该计算机设备可以是终端,如图17所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图17中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
计算机设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理***与处理器601逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
获取客户端的显示页面对应的对象的对象属性;若对象属性的类型为目标类型,则为对象属性添加监测代码;通过监测代码获取针对被触发的目标显示页面的目标对象属性的埋点设置指令;根据埋点设置指令,获取目标对象属性的埋点标识,并将埋点标识发送给服务器。
以及,从服务器上获取客户端的显示页面对应的埋点标识;然后,获取与埋点标识对应的显示页面的对象属性;为对象属性添加监测代码,以在对象属性所在的显示页面上设置埋点,通过监测代码采集针对对象属性的操作行为,响应操作行为,按照预设规则获取对象属性的数据信息,将数据信息发送给服务器,以使得服务器对数据信息进行处理并存储至数据库。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
由上可知,本实施例的计算机设备通过对目标类型的对象属性增加监测代码后,可以捕获在客户端的显示页面触发的埋点设置指令以进行埋点设置,不需要开发人员的参与;可以根据实际需求触发埋点设置指令进行埋点设置,以获取针对所设置的埋点的用户的操作行为,减少对不需要统计的用户的操作行为的获取,降低处理数据的难度,以及,减少向服务器发送埋点标识的数量,改善客户端显示页面的显示效果。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有计算机程序,该计算机程序被处理器进行加载,以执行本发明实施例所提供的任一种埋点设置方法。
以上埋点设置方法的各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本发明实施例所提供的任一种埋点设置方法中的步骤,因此,可以实现本发明实施例所提供的任一种埋点设置方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种埋点设置方法、装置、计算机设备和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上该,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种埋点设置方法,其特征在于,包括:
获取客户端的显示页面对应的对象的对象属性;
若所述对象属性的类型为目标类型,则为所述对象属性添加监测代码;
通过所述监测代码获取埋点设置指令,所述埋点设置指令为针对被触发的目标显示页面的目标对象属性的指令;
根据所述埋点设置指令,获取所述目标对象属性的埋点标识,并将所述埋点标识发送至服务器。
2.根据权利要求1所述的方法,其特征在于,所述根据所述埋点设置指令获取所述目标对象属性的埋点标识,并将所述埋点标识发送至服务器,包括:
响应所述埋点设置指令,发送埋点类型确认请求;
根据针对所述埋点类型确认请求的返回信息,获取所述目标对象属性的埋点标识,并将所述埋点标识发送至服务器。
3.根据权利要求2所述的方法,其特征在于,所述对象属性包括第一属性标识和第二属性标识,所述显示页面包括页面标识,
所述根据针对所述埋点类型确认请求的返回信息,获取所述目标对象属性的埋点标识,包括:
接收用户针对显示的埋点类型输入的选择指令,基于所述选择指令确定所述返回信息,所述返回信息携带埋点类型,所述埋点类型包括全局事件、页面事件和列表事件;
若所述埋点类型为全局事件,则获取所述目标对象属性的第一属性标识,将所述第一属性标识作为埋点标识;
若所述埋点类型为页面事件,则获取所述目标对象属性的第一属性标识和所述目标显示页面的页面标识,将所述第一属性标识和所述页面标识作为埋点标识;
若所述埋点类型为列表事件,则获取所述目标对象属性的第一属性标识、第二属性标识和所述目标显示页面的页面标识,将所述第一属性标识、所述第二属性标识和所述页面标识作为埋点标识。
4.根据权利要求2所述的方法,其特征在于,所述返回信息包括事件标识;所述将所述埋点标识发送至服务器包括:
将所述事件标识与所述埋点标识进行关联,并将关联后的所述事件标识与所述埋点标识发送至服务器。
5.根据权利要求1所述的方法,其特征在于,所述根据所述埋点设置指令获取所述目标对象属性的埋点标识,并将所述埋点标识发送至服务器包括:
根据所述埋点设置指令获取对应时间戳和位置标识;
根据所述时间戳和所述位置标识判断所述埋点设置指令是否已被执行;
若否,则根据所述埋点设置指令,获取所述目标对象属性的埋点标识,并将所述埋点标识发送至服务器,以及将所述时间戳和所述位置标识进行匹配并记录。
6.根据权利要求5所述的方法,其特征在于,根据所述时间戳和所述位置标识判断所述埋点设置指令是否已被执行,包括:
获取预先存储的历史时间戳和历史位置标识,所述历史时间戳和所述历史位置标识存在映射关系。
将所述时间戳与所述历史时间戳进行比较,以及将所述位置标识与所述历史时间戳对应的历史位置标识进行比较;
当所述时间戳与所述历史时间戳一致,以及所述位置标识与所述历史位置标识一致时,确定所述埋点设置指令已被执行;
当所述时间戳与所述历史时间戳不一致,或所述位置标识与所述历史位置标识不一致时,确定所述埋点设置指令未被执行。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述若所述对象属性的类型为目标类型,则为所述对象属性添加监测代码,包括:
若所述对象属性的类型为目标类型,则判断所述对象属性是否为预设对象属性;
若否,则为所述对象属性添加监测代码。
8.一种埋点设置方法,其特征在于,包括:
从服务器上获取客户端的显示页面对应的埋点标识,所述埋点标识为对目标类型的对象属性增加监测代码后,根据通过所述监测代码获取的埋点设置指令,获取的埋点标识;
获取与所述埋点标识对应的所述显示页面的对象属性;
为所述对象属性添加所述监测代码,以在所述对象属性所在的显示页面上设置埋点;
通过所述监测代码采集针对所述对象属性的操作行为;
响应所述操作行为,按照预设规则获取所述对象属性的数据信息,将所述数据信息发送至所述服务器,以使得所述服务器对所述数据信息进行处理并存储至数据库。
9.根据权利要求8所述的方法,其特征在于,所述按照预设规则获取所述对象属性的数据信息,将所述数据信息发送至所述服务器,以使得服务器对所述数据信息进行处理并存储至数据库之前,包括:
获取所述操作行为对应的位置标识和时间戳;
根据所述位置标识和所述时间戳判断是否已获取所述数据信息;
若否,记录所述位置标识和所述时间戳,并按照预设规则获取所述对象属性的数据信息,将所述数据信息发送至所述服务器。
10.一种埋点设置装置,其特征在于,包括:
属性获取单元,用于获取客户端的显示页面对应的对象的对象属性;
监测单元,用于若所述对象属性的类型为目标类型,则为所述对象属性添加监测代码;
指令获取单元,用于通过所述监测代码获取埋点设置指令,所述埋点设置指令为针对被触发的目标显示页面的目标对象属性的指令;
发送单元,用于将根据所述埋点设置指令,获取所述目标对象属性的埋点标识,并将所述埋点标识发送至服务器。
11.一种埋点设置装置,其特征在于,包括:
第一获取单元,用于从服务器上获取客户端的显示页面对应的埋点标识,所述埋点标识为对目标类型的对象属性增加监测代码后,根据通过所述监测代码获取的埋点设置指令,获取的埋点标识;
属性单元,用于获取与所述埋点标识对应的所述显示页面的对象属性;
添加代码单元,用于为所述对象属性添加监测代码,以在所述对象属性所在的显示页面上设置埋点;
采集单元,用于通过所述监测代码采集针对所述对象属性的操作行为;
第二获取单元,用于响应所述操作行为,按照预设规则获取所述对象属性的数据信息,将所述数据信息发送至服务器,以使得服务器对所述数据信息进行处理并存储至数据库。
12.一种计算机设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至9任一项所述的埋点设置方法。
13.一种存储介质,其特征在于,所述存储介质用于存储计算机程序,所述计算机程序被处理器加载以执行权利要求1至9任一项所述的埋点设置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011307321.8A CN112363943B (zh) | 2020-11-20 | 2020-11-20 | 一种埋点设置方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011307321.8A CN112363943B (zh) | 2020-11-20 | 2020-11-20 | 一种埋点设置方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112363943A true CN112363943A (zh) | 2021-02-12 |
CN112363943B CN112363943B (zh) | 2023-05-30 |
Family
ID=74532680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011307321.8A Active CN112363943B (zh) | 2020-11-20 | 2020-11-20 | 一种埋点设置方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112363943B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055248A (zh) * | 2021-03-12 | 2021-06-29 | 土巴兔集团股份有限公司 | 流量分配方法、装置、计算机设备及存储介质 |
CN113238948A (zh) * | 2021-05-19 | 2021-08-10 | 北京达佳互联信息技术有限公司 | 埋点检测方法、装置、电子设备及存储介质 |
CN113268695A (zh) * | 2021-05-31 | 2021-08-17 | 平安国际智慧城市科技股份有限公司 | 数据埋点处理方法、装置及相关设备 |
CN113472858A (zh) * | 2021-06-10 | 2021-10-01 | 北京达佳互联信息技术有限公司 | 埋点数据处理方法、装置及电子设备 |
CN113553269A (zh) * | 2021-07-27 | 2021-10-26 | 深圳市腾讯网域计算机网络有限公司 | 页面埋点上报方法及相关装置 |
CN113590447A (zh) * | 2021-08-02 | 2021-11-02 | 北京百度网讯科技有限公司 | 埋点处理方法和装置 |
CN114356733A (zh) * | 2021-12-30 | 2022-04-15 | 山东辰华科技信息有限公司 | 一种数据埋点的配置方法、存储介质及设备 |
CN114817792A (zh) * | 2022-06-21 | 2022-07-29 | 好享家舒适智能家居股份有限公司 | 单页面应用交互体验优化方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844217A (zh) * | 2017-01-26 | 2017-06-13 | 网易(杭州)网络有限公司 | 对应用的控件进行埋点的方法及装置、可读存储介质 |
US20180048724A1 (en) * | 2015-04-22 | 2018-02-15 | Alibaba Group Holding Limited | Data Collecting Method, System, Terminal, and Server |
CN108920354A (zh) * | 2018-05-07 | 2018-11-30 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 埋点管理方法、装置、计算机设备和存储介质 |
CN110647438A (zh) * | 2019-08-13 | 2020-01-03 | 平安科技(深圳)有限公司 | 事件监控方法、装置、计算机设备和存储介质 |
CN110851326A (zh) * | 2019-11-08 | 2020-02-28 | 浙江每日互动网络科技股份有限公司 | 一种埋点方法、数据采集方法和装置 |
-
2020
- 2020-11-20 CN CN202011307321.8A patent/CN112363943B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180048724A1 (en) * | 2015-04-22 | 2018-02-15 | Alibaba Group Holding Limited | Data Collecting Method, System, Terminal, and Server |
CN106844217A (zh) * | 2017-01-26 | 2017-06-13 | 网易(杭州)网络有限公司 | 对应用的控件进行埋点的方法及装置、可读存储介质 |
CN108920354A (zh) * | 2018-05-07 | 2018-11-30 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 埋点管理方法、装置、计算机设备和存储介质 |
CN110647438A (zh) * | 2019-08-13 | 2020-01-03 | 平安科技(深圳)有限公司 | 事件监控方法、装置、计算机设备和存储介质 |
CN110851326A (zh) * | 2019-11-08 | 2020-02-28 | 浙江每日互动网络科技股份有限公司 | 一种埋点方法、数据采集方法和装置 |
Non-Patent Citations (1)
Title |
---|
君临天下夜未央: "可视化埋点技术揭秘", 《HTTPS://WWW.JIANSHU.COM/P/CBF60E8FC087》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055248A (zh) * | 2021-03-12 | 2021-06-29 | 土巴兔集团股份有限公司 | 流量分配方法、装置、计算机设备及存储介质 |
CN113238948B (zh) * | 2021-05-19 | 2024-03-12 | 北京达佳互联信息技术有限公司 | 埋点检测方法、装置、电子设备及存储介质 |
CN113238948A (zh) * | 2021-05-19 | 2021-08-10 | 北京达佳互联信息技术有限公司 | 埋点检测方法、装置、电子设备及存储介质 |
CN113268695A (zh) * | 2021-05-31 | 2021-08-17 | 平安国际智慧城市科技股份有限公司 | 数据埋点处理方法、装置及相关设备 |
CN113268695B (zh) * | 2021-05-31 | 2024-05-31 | 深圳赛安特技术服务有限公司 | 数据埋点处理方法、装置及相关设备 |
CN113472858A (zh) * | 2021-06-10 | 2021-10-01 | 北京达佳互联信息技术有限公司 | 埋点数据处理方法、装置及电子设备 |
CN113472858B (zh) * | 2021-06-10 | 2023-09-29 | 北京达佳互联信息技术有限公司 | 埋点数据处理方法、装置及电子设备 |
CN113553269A (zh) * | 2021-07-27 | 2021-10-26 | 深圳市腾讯网域计算机网络有限公司 | 页面埋点上报方法及相关装置 |
CN113553269B (zh) * | 2021-07-27 | 2024-04-12 | 深圳市腾讯网域计算机网络有限公司 | 页面埋点上报方法及相关装置 |
CN113590447A (zh) * | 2021-08-02 | 2021-11-02 | 北京百度网讯科技有限公司 | 埋点处理方法和装置 |
CN113590447B (zh) * | 2021-08-02 | 2024-04-19 | 北京百度网讯科技有限公司 | 埋点处理方法和装置 |
CN114356733A (zh) * | 2021-12-30 | 2022-04-15 | 山东辰华科技信息有限公司 | 一种数据埋点的配置方法、存储介质及设备 |
CN114356733B (zh) * | 2021-12-30 | 2022-09-16 | 山东辰华科技信息有限公司 | 一种数据埋点的配置方法、存储介质及设备 |
CN114817792B (zh) * | 2022-06-21 | 2022-09-16 | 好享家舒适智能家居股份有限公司 | 单页面应用交互体验优化方法、装置、设备及存储介质 |
CN114817792A (zh) * | 2022-06-21 | 2022-07-29 | 好享家舒适智能家居股份有限公司 | 单页面应用交互体验优化方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112363943B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112363943B (zh) | 一种埋点设置方法、装置、计算机设备和存储介质 | |
CN107025165B (zh) | 游戏自动化测试方法及相关装置 | |
CN106844217B (zh) | 对应用的控件进行埋点的方法及装置、可读存储介质 | |
CN110362480A (zh) | 客户端埋点测试方法、装置、设备及存储介质 | |
CN103984626B (zh) | 一种生成测试用例脚本的方法及装置 | |
CN104602131A (zh) | 一种弹幕处理方法及*** | |
CN104182232B (zh) | 一种创建上下文感知应用的方法及用户终端 | |
CN106326113A (zh) | 一种游戏数据监控方法和装置 | |
JP5452030B2 (ja) | 統合ログ生成装置及び統合ログ生成プログラム及び記録媒体 | |
CN102323873B (zh) | 即时通信中用以触发图标回复的方法及*** | |
CN111488088B (zh) | 设备状态标识方法、装置及智能终端 | |
CN109905492B (zh) | 基于分布式模块化数据中心的安全运营管理***及方法 | |
CN112817817A (zh) | 埋点信息查询方法、装置、计算机设备和存储介质 | |
CN112799925A (zh) | 数据采集方法、装置、电子设备和可读存储介质 | |
CN113792341B (zh) | 应用程序的隐私合规自动化检测方法、装置、设备及介质 | |
CN105577472A (zh) | 一种数据采集测试方法和装置 | |
CN105574150A (zh) | 一种数据处理方法和装置 | |
CN112650688A (zh) | 自动化回归测试方法、关联设备以及计算机程序产品 | |
CN115525563A (zh) | 一种测试方法、装置、计算机设备和存储介质 | |
CN114661551A (zh) | 软件运行状态的监控方法、设备及计算机可读存储介质 | |
CN114419631A (zh) | 一种基于rpa的网管虚拟*** | |
CN113360728A (zh) | 用户操作审计方法、装置、计算机设备和存储介质 | |
CN113971191A (zh) | 一种数据导入方法、装置和计算机可读存储介质 | |
CN113918534A (zh) | 一种策略处理***及方法 | |
CN104471531A (zh) | 捕获会话中的应用状态 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40038719 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |