发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种打点信息监测方法,应用于与服务端通信的客户端,所述方法包括:
侦测应用页面上的用户点击操作产生的网络请求;
判断侦测到的网络请求是否为打点请求;
若侦测到的网络请求为打点请求,解析所述打点请求得到打点信息并显示该打点信息。
进一步地,在上述方法中,所述判断侦测到的网络请求是否为打点请求的步骤,包括:
判断所述网络请求的目的地址是否为预设地址;
若该目的地址为预设地址,则判定该网络请求为打点请求。
进一步地,在上述方法中,所述解析所述打点请求得到打点信息并显示该打点信息的步骤,包括:
解析所述打点请求得到该打点请求包括的请求参数;
检测预设的请求参数是否正确;
若检测到错误的预设请求参数,生成用于提示打点错误的第一提示信息并进行显示;
若没有检测到错误的预设请求参数,生成用于提示打点正确的第二提示信息并进行显示。
进一步地,在上述方法中,所述第一提示信息中包括错误的预设请求参数。
进一步地,在上述方法中,所述检测预设的请求参数是否正确的步骤,包括:
检测所述预设的请求参数对应的配置字段是否为空;
若该配置字段为空,则判定该预设的请求参数错误;
若该配置字段不为空,则判定该预设的请求参数正确。
进一步地,在上述方法中,所述打点信息通过弹窗进行显示。
本发明的另一目的在于提供一种打点信息监测装置,应用于与服务端通信的客户端,所述装置包括:
侦测模块,用于侦测应用页面上的用户点击操作产生的网络请求;
判断模块,用于判断侦测到的网络请求是否为打点请求;
解析模块,用于当侦测到的网络请求为打点请求时,解析所述打点请求得到打点信息并显示该打点信息。
进一步地,在上述装置中,所述判断模块判断侦测到的网络请求是否为打点请求的方式,包括:
判断所述网络请求的目的地址是否为预设地址;
若该目的地址为预设地址,则判定该网络请求为打点请求。
进一步地,在上述装置中,所述解析模块包括:
打点请求解析子模块,用于解析所述打点请求得到该打点请求包括的请求参数;
预设参数检测子模块,用于检测预设的请求参数是否正确;
第一显示子模块,用于当检测到错误的预设参数时,生成用于提示打点错误的第一提示信息并进行显示;
第二显示子模块,用于当没有检测到错误的预设参数时,生成用于提示打点正确的第二提示信息并进行显示。
进一步地,在上述装置中,所述第一提示信息中包括错误的预设请求参数。
进一步地,在上述装置中,所述预设参数检测子模块检测预设的请求参数是否正确的方式,包括:
检测所述预设的请求参数对应的配置字段是否为空;
若该配置字段为空,则判定该预设的请求参数错误;
若该配置字段不为空,则判定该预设的请求参数正确。
进一步地,在上述装置中,所述打点信息通过弹窗进行显示。
本发明的另一目的在于提供一种客户端,所述客户端能够与服务端通信,所述客户端包括:
存储器;
处理器;及
打点信息监测装置,所述装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,所述装置包括:
侦测模块,用于侦测应用页面上的用户点击操作产生的网络请求;
判断模块,用于判断侦测到的网络请求是否为打点请求;
解析模块,用于当侦测到的网络请求为打点请求时,解析所述打点请求得到打点信息并显示该打点信息。
进一步地,在上述客户端中,所述判断模块判断侦测到的网络请求是否为打点请求的方式,包括:
判断所述网络请求的目的地址是否为预设地址;
若该目的地址为预设地址,则判定该网络请求为打点请求。
进一步地,在上述客户端中,所述解析模块包括:
打点请求解析子模块,用于解析所述打点请求得到该打点请求包括的请求参数;
预设参数检测子模块,用于检测预设的请求参数是否正确;
第一显示子模块,用于当检测到错误的预设请求参数时,生成用于提示打点错误的第一提示信息并进行显示;
第二显示子模块,用于当没有检测到错误的预设请求参数时,生成用于提示打点正确的第二提示信息并进行显示。
进一步地,在上述客户端中,所述第一提示信息中包括错误的预设请求参数。
进一步地,在上述客户端中,所述预设参数检测子模块检测预设的请求参数是否正确的方式,包括:
检测所述预设的请求参数对应的配置字段是否为空;
若该配置字段为空,则判定该预设的请求参数错误;
若该配置字段不为空,则判定该预设的请求参数正确。
进一步地,在上述客户端中,所述打点信息通过弹窗进行显示。
相对于现有技术而言,本发明具有以下有益效果:
本发明提供的打点信息监测方法、装置及客户端,通过在客户端侦测应用页面上的用户点击操作产生的网络请求,在该网络请求为打点请求时解析该打点请求得到打点信息并进行显示。通过上述设计,在客户端实现打点请求的拦截,一方面节约了服务器资源,降低了服务器运行压力。另一方面,在客户端实现打点请求的拦截可将打点信息及时显示给用户,便于用户快速确认打点信息是否正确,提高打点信息监测的效率。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
请参阅图1,是本发明较佳实施例提供的客户端100与服务端200通信的交互示意图。所述客户端100可通过网络300与所述服务端200进行通信,以实现客户端100与服务端200之间的数据通信或交互。
在本实施例中,所述客户端100中安装有至少一个应用程序(APP),与服务端200相对应,为用户提供服务。所述客户端100可以是,但不限于,智能手机、个人电脑personalcomputer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。所述服务端200可以是,但不限于,web(网站)服务器、ftp(file transfer protocol,文件传输协议)服务器、日志服务器、应用服务器等。
所述网络300可以是,但不限于,有线网络或无线网络。
如图2所示,是图1所示的客户端100的方框示意图。所述客户端100包括打点信息监测装置110、存储器120、处理器130、通信单元140及显示单元150。
所述存储器120、处理器130、通信单元140及显示单元150各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述打点信息监测装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述客户端100的操作系统(operating system,OS)中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述打点信息监测装置110所包括的软件功能模块及计算机程序等。
其中,所述存储器120可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。
所述处理器130可以是一种集成电路芯片,具有信号的处理能力。所述处理器130可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器120用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。所述通信单元140用于通过所述网络300建立所述客户端100与服务端200之间的通信连接,并用于通过所述网络300收发数据。所述显示单元150在客户端100与用户之间提供一个输出及输入界面。例如,用于显示应用页面,并侦测用户的点击操作。
可以理解,图2所示的结构仅为示意,所述客户端100还可以具有比图2所示更多或者更少的组件,也可以具有与图2所示不同的配置。其中,图2所示的各组件可以通过硬件、软件或其组合实现。
本发明实施例提供的打点信息监测方法及装置,可适用于具有Android操作系统、iOS操作系统、Windows Phone操作系统的各种设备或平台。例如,本发明实施例提供的打点信息监测方法及装置可应用于客户端100的各种应用程序(如UC浏览器客户端、新浪微博客户端等),以对应用程序的页面打点信息进行监测。
请参阅图3,图3为应用于图2所示客户端100的一种打点信息监测方法的流程示意图,以下将对所述方法包括的具体步骤进行详细阐述。
步骤S101,侦测应用页面上的用户点击操作产生的网络请求。
本实施例中,所述应用页面可以是所述客户端100上安装的应用程序的用户交互页面或网络页面等。当用户点击应用页面后,所述应用页面上可能产生多种类型的网络请求。
例如,应用程序的应用页面上通常设置有大量埋点代码,当用户点击埋点所在点位时,会触发所述埋点代码执行,从而将打点信息以网络请求的形式发送到日志服务器进行记录,也即,向所述日志服务器发送打点请求。又例如,当用户点击应用页面时,应用程序会产生与该点击对应的网络请求到该应用程序的应用服务器以请求相应的数据。
应当理解,所述客户端100可以对该应用页面上产生的所有网络请求进行侦测。
具体地,在用户点击应用页面后,所述客户端100监测是否有网络请求发出,在检测到有网络请求发出时截取该网络请求,也即,获取该网络请求数据包。需要说明的是,此处的截取操作并不会阻止该网络请求发送到服务端200。
步骤S102,判断侦测到的网络请求是否为打点请求。
在本实施例中,打点请求与其他网络请求的目的地址不同。故侦测到的网络请求是否为打点请求可通过以下步骤进行判断。
判断所述网络请求的目的地址是否为预设地址。
若该目的地址为预设地址,则判定该网络请求为打点请求。
一般而言,应用程序的页面打点信息会发送到某个固定的网络存储设备(例如,日志服务器)进行存储,该网络存储设备的地址(如MAC地址、IP地址、URL地址等)即为所述预设地址。不同应用程序对应的网络存储设备不同,因而,所述预设地址可以根据不同的应用程序进行灵活设置。
作为一种实施方式,在本实施例中,在截取到网络请求后,可以检测该网络请求的域名是否为预先设置的网络存储设备的地址,当该网络请求的域名是预先设置的网络存储设备的地址时,即可判定该网络请求为打点请求。
步骤S103,若侦测到的网络请求为打点请求,解析所述打点请求得到打点信息并显示该打点信息。
在本实施例中,所述打点信息可以通过弹窗进行显示,所述弹窗可以维持预设时长。作为一种实施方式,所述客户端100可以获取当前时刻的时间信息,并将当前时刻之后、距离当前时刻预设时长的时间点作为所述弹窗的关闭时间。
需要说明的是,在本实施例中,所述打点信息可以是用于提示打点错误的信息,也可以是所述打点请求中包括的数据,也可以同时包括用于提示打点错误的信息及所述打点请求中包括的数据,本实施例对此不做限制。
通常,所述打点请求中包括点位信息、埋点信息、页面信息及用户操作信息等数据,这些数据以请求参数的形式存储在打点请求所包括的不同字段中。因而,所述客户端100在判定截取到的网络请求为打点请求时,还需对该打点请求进行解析。
可选地,本实施例中,步骤S103可以通过以下流程实现。
首先,所述客户端100解析打点请求得到该打点请求包括的请求参数。其中,解析得到的请求参数即为打点信息。
然后,检测预设的请求参数是否正确,当检测到错误的预设请求参数时,生成用于提示打点错误的第一提示信息并进行显示,当没有检测到错误的预设请求参数时,生成用于提示打点正确的第二提示信息并进行显示。
可选地,预设的请求参数可以有一个、两个或多个。在本实施例中,需要对各个预设请求参数的正确性进行检测,当各个预设请求参数均正确时,即可判定打点正确,进而生成第二提示信息。当存在一个预设请求参数错误时,即可判定打点出错,进而生成第一提示信息。
在本实施例中,所述第一提示信息和第二提示信息可以是预先设定的图片信息。例如,当检测到预设的请求参数中有错误的请求参数时,即可判定打点出错,进而生成显示有错误标识符的图片,所述错误标识符可以是“打点错误”等字样或其他图形。
当在预设的请求参数中没有检测到错误的请求参数时,即可判定打点正确,如此,可以生成显示有正确标识符的图片。所述正确标识符可以是“打点正确”等字样或其他图形。
可选地,所述第一提示信息中可以包括错误的预设请求参数。也即,当检测到错误的预设请求参数时,除了提示打点错误,还可以提示具体出错的请求参数。如此,可以让用户更加快捷地查找到错误所在。
经发明人研究发现,若打点正确,则从打点请求解析得到的数据中必定包括某些预设的请求参数(例如,网站标识、页面标题、访问时间等),若解析得到的请求参数中不包括某个预设的请求参数,则说明打点出错。也就是说,在打点正确的情况下,所述打点请求中用于存储所述预设的请求参数的字段必然不会为空。因而,在本实施例中,所述预设的请求参数的正确性可通过以下方式进行检测。
检测所述预设的请求参数对应的配置字段是否为空,若该配置字段为空时,则判定该预设的请求参数错误,若该配置字段不为空,则判定该预设的请求参数正确。
其中,所述预设的请求参数对应的配置字段即为所述打点请求中用于存储所述预设的请求参数的字段,所述字段可以在客户端100中预先配置。
请参阅图4,本实施例还提供一种应用于图2所示客户端100的打点信息监测装置110,所述装置包括侦测模块111、判断模块112及解析模块113。
所述侦测模块111用于侦测应用页面上的用户点击操作产生的网络请求。
本实施例中,所述侦测模块111可用于执行图3所示的步骤S101,关于所述侦测模块111的描述可参考对所述步骤S101的详细描述。
所述判断模块112用于判断侦测到的网络请求是否为打点请求。
本实施例中,所述判断模块112可用于执行图3所示的步骤S102,关于所述判断模块112的描述具体可参考对图3所示步骤S102的详细描述。
可选地,所述判断模块112判断侦测到的网络请求是否为打点请求的方式,包括:
判断所述网络请求的目的地址是否为预设地址;
若该目的地址为预设地址,则判定该网络请求为打点请求。
所述解析模块113用于当侦测到的网络请求为打点请求时,解析所述打点请求得到打点信息并显示该打点信息。其中,所述打点信息可以通过弹窗进行显示,所述弹窗可以维持预设时长。
本实施例中,所述解析模块113可用于执行图3所示的步骤S103,关于所述解析模块113的描述具体可参考对图3所示步骤S103的详细描述。
可选地,请参阅图5,所述解析模块113可以包括打点请求解析子模块1131、预设参数检测子模块1132、第一显示子模块1133以及第二显示子模块1134。
其中,所述打点请求解析子模块1131用于解析所述打点请求得到该打点请求包括的请求参数。
所述预设参数检测子模块1132用于检测预设的请求参数是否正确。
可选地,在本实施例中,所述预设参数检测子模块1132检测预设的请求参数是否正确的方式,可以包括:
检测所述预设的请求参数对应的配置字段是否为空;
若该配置字段为空,则判定该预设的请求参数错误;
若该配置字段不为空,则判定该预设的请求参数正确。
所述第一显示子模块1133用于当检测到错误的预设参数时,生成用于提示打点错误的第一提示信息并进行显示。
在本实施例中,所述第一提示信息中可以包括错误的预设请求参数。
所述第二显示子模块1134用于当没有检测到错误的预设参数时,生成用于提示打点正确的第二提示信息并进行显示。
综上所述,本发明提供的打点信息监测方法、装置及客户端100,通过在客户端100侦测应用页面上的用户点击操作产生的网络请求,在该网络请求为打点请求时解析该打点请求得到打点信息并进行显示。通过上述设计,在客户端100实现打点请求的拦截,一方面节约了服务器资源,降低了服务器运行压力。另一方面,在客户端100实现打点请求的拦截可将打点信息及时显示给用户,便于用户快速确认打点信息是否正确,提高打点信息监测的效率。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。