CN110188308B - 客户端自动打点上报方法、存储介质、设备及系统 - Google Patents
客户端自动打点上报方法、存储介质、设备及系统 Download PDFInfo
- Publication number
- CN110188308B CN110188308B CN201910472357.2A CN201910472357A CN110188308B CN 110188308 B CN110188308 B CN 110188308B CN 201910472357 A CN201910472357 A CN 201910472357A CN 110188308 B CN110188308 B CN 110188308B
- Authority
- CN
- China
- Prior art keywords
- reporting
- dotting
- global object
- control
- calling
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种客户端自动打点上报方法、存储介质、设备及系统,涉及软件开发领域,该方法包括定义一基类,需打点上报的子类控件继承所述基类;定义一全局对象,所述全局对象用于调用所述基类以监听子类控件的打点上报行为;全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中;调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,当用户点击控件按钮时回调函数调用全局对象的上报接口进行打点上报操作。本发明采用统一管理上报的方式,无需对每个子类控件分别编写打点上报功能,节省代码编写量的同时保证应用程序的稳定运行。
Description
技术领域
本发明涉及软件开发领域,具体涉及一种客户端自动打点上报方法、存储介质、设备及系统。
背景技术
当Windows端应用程序开发完成并上线,或者应用程序更新上线新的功能后,需要对应用程序的业务数据进行分析和收集,例如收集应用程序的日活、月活用户数,收集用户对应用程序的点击行为、交互行为等,对用户行为的收集上报称为打点上报。对于某些用户量庞大的应用程序,为了保证应用程序的稳定运行,对用户行为进行收集和分析显得尤为重要,现有技术中一般采用打点上报的方式来进行相关信息的收集和上报,但在打点上报的实现过程中,采用的是对应用程序每个按钮控件的点击响应函数进行调用操作的方式,而应用程序的按钮控件数量较多,导致实现过程中工程量大,且编码繁琐,极易出现错误。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种客户端自动打点上报方法、存储介质、设备及系统,采用统一管理上报的方式,无需对每个子类控件分别编写打点上报功能,节省代码编写量的同时保证应用程序的稳定运行。
本发明提供一种客户端自动打点上报方法,包括以下步骤:
定义一基类,需打点上报的子类控件继承所述基类;
定义一全局对象,所述全局对象用于调用所述基类以监听子类控件的打点上报行为;
全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中;
调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,当用户点击控件按钮时回调函数调用全局对象的上报接口进行打点上报操作。
在上述方案的基础上,所述基类的原型为:
ReportItemBase:{id:reportItem reportUrl:“url”reportData:“data”ReportItemBase()ReportItemBase()}
其中,ReportItemBase表示基类,id:reportItem表示子类控件的ID,reportUrl:“url”表示打点上报的服务器地址,reportData:“data”表示打点上报的数据内容,ReportItemBase()为构造函数,用于创建界面控件时调用,ReportItemBase()为析构函数,用于销毁界面控件时调用。
在上述方案的基础上,当需打点上报的子类控件继承所述基类后,还包括:在子类控件的构造函数中,对基类中打点上报的服务器地址和打点上报的数据内容进行赋值,以使全局对象能够获取到子类控件需要上报的数据内容。
在上述方案的基础上,所述全局对象具体用于:调用所述基类以监听子类控件的点击消息事件,实现对子类控件的打点上报行为的监听,以及调用上报接口。
在上述方案的基础上,所述全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中,具体步骤为:
在全局对象中创建一数组列表;
调用全局对象的缓存接口,将子类控件的对象注册到所述数组列表中。
在上述方案的基础上,所述回调函数调用全局对象的缓存接口进行打点上报操作,具体步骤为:所述回调函数调用全局对象的缓存接口,通过HTTP上报接口将打点上报的数据内容上传至服务器。
本发明提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
定义一基类,需打点上报的子类控件继承所述基类;
定义一全局对象,所述全局对象用于调用所述基类以监听子类控件的打点上报行为;
全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中;
调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,当用户点击控件按钮时回调函数调用全局对象的上报接口进行打点上报操作。
本发明提供一种电子设备,所述电子设备包括:
第一定义单元,其用于定义一基类,并使需打点上报的子类控件继承所述基类;
第二定义单元,其用于定义一全局对象,所述全局对象用于调用所述基类以监听子类控件的打点上报行为;
创建单元,其用于在全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中;
上报单元,其用于调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,当用户点击控件按钮时回调函数调用全局对象的上报接口进行打点上报操作。
本发明提供一种客户端自动打点上报系统,包括:
第一定义模块,其用于定义一基类,并使需打点上报的子类控件继承所述基类;
第二定义模块,其用于定义一全局对象,所述全局对象用于调用所述基类以监听子类控件的打点上报行为;
创建模块,其用于在全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中;
上报模块,其用于调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,当用户点击控件按钮时回调函数调用全局对象的上报接口进行打点上报操作。
在上述方案的基础上,所述第一定义模块定义的基类的原型为:
ReportItemBase:{id:reportItem reportUrl:“url”reportData:“data”ReportItemBase()ReportItemBase()}
其中,ReportItemBase表示基类,id:reportItem表示子类控件的ID,reportUrl:“url”表示打点上报的服务器地址,reportData:“data”表示打点上报的数据内容,ReportItemBase()为构造函数,用于创建界面控件时调用,ReportItemBase()为析构函数,用于销毁界面控件时调用。
与现有技术相比,本发明的优点在于:通过定义基类,需打点上报的子类控件继承基类,同时定义全局对象,全局对象调用所述基类以监听子类控件的打点上报行为,采用统一管理上报的方式,无需对每个子类控件分别编写打点上报功能,节省代码编写量的同时保证应用程序的稳定运行。
附图说明
图1为本发明实施例中一种客户端自动打点上报方法的流程图;
图2为本发明实施例中一种电子设备的结构示意图。
具体实施方式
本发明实施例提供一种客户端自动打点上报方法,采用统一管理上报的方式,无需对每个子类控件分别编写打点上报功能,节省代码编写量的同时保证应用程序的稳定运行。本发明实施例还相应的提供了存储介质、电子设备和客户端自动打点上报方法系统。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
参见图1所示,本发明实施例提供的一种客户端自动打点上报方法的一实施例包括:
S1:定义一基类,需打点上报的子类控件继承所述基类。
本发明实施例的客户端自动打点上报方法应用于Windows操作系统端运行的应用程序上,利用QML界面对象的继承特性,通过定义一个全局的打点上报基类,应用程序中需要打点上报的子类控件只要继承该基类,便可实现自动打点上报功能。QM是一种描述性的脚本语言,文件格式以.qml结尾,用来描述一个程序的用户界面,无论用户界面是什么样子,以及它如何表现,在QML中,一个用户界面被指定为具有属性的对象树。
通过定义基类,使得需打点上报的子类控件继承基类,基类的主要作用是抽象提取出子类控件用于打点上报的共用属性,通过统一调用访问的接口,将提取出的属性提供给外部对象。应用程序中,不同的子类控件都可以转换为父类对象,进而采用父类对象统一的调用方式。
本发明实施例中,基类的原型为:
ReportItemBase:{id:reportItem reportUrl:“url”reportData:“data”ReportItemBase()ReportItemBase()}
其中,ReportItemBase表示基类;id:reportItem表示子类控件的ID,每个子类控件的ID均不相同;reportUrl:“url”表示打点上报的服务器地址;reportData:“data”表示打点上报的数据内容,打点上报的数据内容是指对应用程序中某个操作按钮的点击次数等;ReportItemBase()为构造函数,用于创建界面控件时调用;ReportItemBase()为析构函数,用于销毁界面控件时调用。
本发明实施例步骤S1的实现方式中,通过定义基类的方式,使得需打点上报的子类控件继承基类,从而便于通过基类直接对所有的子类控件进行监控和控制,进而达到全局控制的效果,通过继承的方式实现对于所有需要打点上报的子类控件的管理和监控。
S2:定义一全局对象,全局对象用于调用所述基类以监听子类控件的打点上报行为。
本发明实施例中,定义的全局对象的作用是集中管理所有子类控件的打点上报行为,通过监听所有子类控件的点击消息事件来达到监听子类控件打点上报行为的目的,同时,全局对象还用于自动调用上报接口,以便于将打点上报的数据内容上报至服务器。
本发明实施例中,因为子类控件继承于基类,故全局对象只需对基类进行调用操作,就能实现所有子类控件的自动打点上报行为,即通过监听所有子类控件的点击消息事件来达到监听子类控件打点上报行为的目的。
本发明实施例步骤S2的实现方式中,因子类控件继承于基类,全局对象对基类进行调用操作,通过监听所有子类控件的点击消息事件,便可以便捷的达到监听子类控件打点上报行为的目的。
S3:全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中。
本发明实施例中,在全局对象中创建数组列表,然后在基类的构造函数中,调用全局对象的缓存接口将子类控件的对象注册到数组列表中,通过数组列表来保存所有打点上报子类控件的指针。
S4:调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,当用户点击控件按钮时回调函数调用全局对象的上报接口进行打点上报操作。
本发明实施例中,connectClick函数用于建立与指定socket的连接,调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,达到集中管理子类控件的点击事件,方便统一进行打点上报数据行为。
由于基类在构造函数中已经被注册到了全局对象中,所以全局对象可以获取到所有子类控件需要上报的数据,当用户点击事件按钮时,connectClick函数会被系统自动调用,接着回调函数调用全局对象的上报接口进行打点上报操作。采用将基类指针注册到全局对象中,全局对象监听所有注册的子类控件的点击消息事件。
本发明实施例的客户端自动打点上报方法,通过定义基类,需打点上报的子类控件继承基类,同时定义全局对象,全局对象调用所述基类以监听子类控件的打点上报行为,采用统一管理上报的方式,无需对每个子类控件分别编写打点上报功能,节省代码编写量的同时保证应用程序的稳定运行。
可选地,在上述图1对应实施例的基础上,本发明实施例提供的一种客户端自动打点上报方法的第一个可选实施例中,当需打点上报的子类控件继承所述基类后,还包括:在子类控件的构造函数中,对基类中打点上报的服务器地址和打点上报的数据内容进行赋值,以使全局对象能够获取到子类控件需要上报的数据内容。
全局对象具体用于:调用所述基类以监听子类控件的点击消息事件,实现对子类控件的打点上报行为的监听,以及调用上报接口。全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中,具体步骤为:
S301:在全局对象中创建一数组列表;
S302:调用全局对象的缓存接口,将子类控件的对象注册到所述数组列表中。
回调函数调用全局对象的缓存接口进行打点上报操作,具体步骤为:所述回调函数调用全局对象的缓存接口,通过HTTP上报接口将打点上报的数据内容上传至服务器。
本发明实施例提供的一种存储介质的一实施例包括,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
定义一基类,需打点上报的子类控件继承所述基类;
定义一全局对象,所述全局对象用于调用所述基类以监听子类控件的打点上报行为;
全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中;
调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,当用户点击控件按钮时回调函数调用全局对象的上报接口进行打点上报操作。
可选地,在上述存储介质实施例的基础上,本发明实施例提供的一种存储介质的第一个可选实施例中,存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可选地,在上述存储介质的实施例及第一个可选实施例的基础上,本发明实施例提供的一种存储介质的第二个可选实施例中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可选地,在上述存储介质的实施例及第一、第二个可选实施例的基础上,本发明实施例提供的一种存储介质的第三个可选实施例中,可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
参见图2所示,本发明实施例提供的一种电子设备,包括:
第一定义单元,其用于定义一基类,并使需打点上报的子类控件继承所述基类;
第二定义单元,其用于定义一全局对象,所述全局对象用于调用所述基类以监听子类控件的打点上报行为;
创建单元,其用于在全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中;
上报单元,其用于调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,当用户点击控件按钮时回调函数调用全局对象的上报接口进行打点上报操作。
上述基类的原型为:
ReportItemBase:{id:reportItem reportUrl:“url”reportData:“data”ReportItemBase()ReportItemBase()}
其中,ReportItemBase表示基类,id:reportItem表示子类控件的ID,reportUrl:“url”表示打点上报的服务器地址,reportData:“data”表示打点上报的数据内容,ReportItemBase()为构造函数,用于创建界面控件时调用,ReportItemBase()为析构函数,用于销毁界面控件时调用。
本发明实施例中,当需打点上报的子类控件继承所述基类后,还包括:在子类控件的构造函数中,对基类中打点上报的服务器地址和打点上报的数据内容进行赋值,以使全局对象能够获取到子类控件需要上报的数据内容。
全局对象具体用于:调用所述基类以监听子类控件的点击消息事件,实现对子类控件的打点上报行为的监听,以及调用上报接口。回调函数调用全局对象的缓存接口进行打点上报操作,具体步骤为:回调函数调用全局对象的缓存接口,通过HTTP上报接口将打点上报的数据内容上传至服务器。
本发明实施例提供的一种客户端自动打点上报系统,包括:
第一定义模块,其用于定义一基类,并使需打点上报的子类控件继承所述基类;
第二定义模块,其用于定义一全局对象,所述全局对象用于调用所述基类以监听子类控件的打点上报行为;
创建模块,其用于在全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中;
上报模块,其用于调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,当用户点击控件按钮时回调函数调用全局对象的上报接口进行打点上报操作。
本发明实施例中,基类的原型为:
ReportItemBase:{id:reportItem reportUrl:“url”reportData:“data”ReportItemBase()ReportItemBase()}
其中,ReportItemBase表示基类,id:reportItem表示子类控件的ID,reportUrl:“url”表示打点上报的服务器地址,reportData:“data”表示打点上报的数据内容,ReportItemBase()为构造函数,用于创建界面控件时调用,ReportItemBase()为析构函数,用于销毁界面控件时调用。
当需打点上报的子类控件继承所述基类后,还包括:在子类控件的构造函数中,对基类中打点上报的服务器地址和打点上报的数据内容进行赋值,以使全局对象能够获取到子类控件需要上报的数据内容。
全局对象具体用于:调用所述基类以监听子类控件的点击消息事件,实现对子类控件的打点上报行为的监听,以及调用上报接口。回调函数调用全局对象的缓存接口进行打点上报操作,具体步骤为:回调函数调用全局对象的缓存接口,通过HTTP上报接口将打点上报的数据内容上传至服务器。
本发明实施例的客户端自动打点上报系统,通过定义基类,需打点上报的子类控件继承基类,同时定义全局对象,全局对象调用所述基类以监听子类控件的打点上报行为,采用统一管理上报的方式,无需对每个子类控件分别编写打点上报功能,节省代码编写量的同时保证应用程序的稳定运行。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (4)
1.一种客户端自动打点上报方法,其特征在于,所述客户端自动打点上报方法应用于,所述方法包括以下步骤:
利用QML界面对象的继承特性定义一基类,需打点上报的子类控件继承所述基类;
定义一全局对象,所述全局对象用于调用所述基类以监听子类控件的打点上报行为;
全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中;
调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,当用户点击控件按钮时回调函数调用全局对象的上报接口进行打点上报操作;
所述基类的原型为:
ReportItemBase:{id:reportItem reportUrl:“url”reportData:“data”ReportItemBase()ReportItemBase()}
其中,ReportItemBase表示基类,id:reportItem表示子类控件的ID,reportUrl:“url”表示打点上报的服务器地址,reportData:“data”表示打点上报的数据内容,ReportItemBase()为构造函数,用于创建界面控件时调用,ReportItemBase()为析构函数,用于销毁界面控件时调用;
当需打点上报的子类控件继承所述基类后,还包括:在子类控件的构造函数中,对基类中打点上报的服务器地址和打点上报的数据内容进行赋值,以使全局对象能够获取到子类控件需要上报的数据内容;
所述全局对象具体用于:调用所述基类以监听子类控件的点击消息事件,实现对子类控件的打点上报行为的监听,以及调用上报接口;
所述全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中,具体步骤为:
在全局对象中创建一数组列表;
调用全局对象的缓存接口,将子类控件的对象注册到所述数组列表中;
所述回调函数调用全局对象的缓存接口进行打点上报操作,具体步骤为:所述回调函数调用全局对象的缓存接口,通过HTTP上报接口将打点上报的数据内容上传至服务器。
2.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现以下步骤:
定义一基类,需打点上报的子类控件继承所述基类;
定义一全局对象,所述全局对象用于调用所述基类以监听子类控件的打点上报行为;
全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中;
调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,当用户点击控件按钮时回调函数调用全局对象的上报接口进行打点上报操作;
所述基类的原型为:
ReportItemBase:{id:reportItem reportUrl:“url”reportData:“data”ReportItemBase()ReportItemBase()}
其中,ReportItemBase表示基类,id:reportItem表示子类控件的ID,reportUrl:“url”表示打点上报的服务器地址,reportData:“data”表示打点上报的数据内容,ReportItemBase()为构造函数,用于创建界面控件时调用,ReportItemBase()为析构函数,用于销毁界面控件时调用;
当需打点上报的子类控件继承所述基类后,还包括:在子类控件的构造函数中,对基类中打点上报的服务器地址和打点上报的数据内容进行赋值,以使全局对象能够获取到子类控件需要上报的数据内容;
所述全局对象具体用于:调用所述基类以监听子类控件的点击消息事件,实现对子类控件的打点上报行为的监听,以及调用上报接口;
所述全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中,具体步骤为:
在全局对象中创建一数组列表;
调用全局对象的缓存接口,将子类控件的对象注册到所述数组列表中;
所述回调函数调用全局对象的缓存接口进行打点上报操作,具体步骤为:所述回调函数调用全局对象的缓存接口,通过HTTP上报接口将打点上报的数据内容上传至服务器。
3.一种电子设备,其特征在于,所述电子设备包括:
第一定义单元,其用于定义一基类,并使需打点上报的子类控件继承所述基类;
第二定义单元,其用于定义一全局对象,所述全局对象用于调用所述基类以监听子类控件的打点上报行为;
创建单元,其用于在全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中;
上报单元,其用于调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,当用户点击控件按钮时回调函数调用全局对象的上报接口进行打点上报操作;
所述基类的原型为:
ReportItemBase:{id:reportItem reportUrl:“url”reportData:“data”ReportItemBase()ReportItemBase()}
其中,ReportItemBase表示基类,id:reportItem表示子类控件的ID,reportUrl:“url”表示打点上报的服务器地址,reportData:“data”表示打点上报的数据内容,ReportItemBase()为构造函数,用于创建界面控件时调用,ReportItemBase()为析构函数,用于销毁界面控件时调用;
当需打点上报的子类控件继承所述基类后,还包括:在子类控件的构造函数中,对基类中打点上报的服务器地址和打点上报的数据内容进行赋值,以使全局对象能够获取到子类控件需要上报的数据内容;
所述全局对象具体用于:调用所述基类以监听子类控件的点击消息事件,实现对子类控件的打点上报行为的监听,以及调用上报接口;
所述全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中,具体步骤为:
在全局对象中创建一数组列表;
调用全局对象的缓存接口,将子类控件的对象注册到所述数组列表中;
所述回调函数调用全局对象的缓存接口进行打点上报操作,具体步骤为:所述回调函数调用全局对象的缓存接口,通过HTTP上报接口将打点上报的数据内容上传至服务器。
4.一种客户端自动打点上报系统,其特征在于,包括:
第一定义模块,其用于定义一基类,并使需打点上报的子类控件继承所述基类;
第二定义模块,其用于定义一全局对象,所述全局对象用于调用所述基类以监听子类控件的打点上报行为;
创建模块,其用于在全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中;
上报模块,其用于调用全局对象的connectClick函数监听子类控件对象的点击消息事件的回调函数,当用户点击控件按钮时回调函数调用全局对象的上报接口进行打点上报操作;
所述第一定义模块定义的基类的原型为:
ReportItemBase:{id:reportItem reportUrl:“url”reportData:“data”ReportItemBase()ReportItemBase()}
其中,ReportItemBase表示基类,id:reportItem表示子类控件的ID,reportUrl:“url”表示打点上报的服务器地址,reportData:“data”表示打点上报的数据内容,ReportItemBase()为构造函数,用于创建界面控件时调用,ReportItemBase()为析构函数,用于销毁界面控件时调用;
当需打点上报的子类控件继承所述基类后,还包括:在子类控件的构造函数中,对基类中打点上报的服务器地址和打点上报的数据内容进行赋值,以使全局对象能够获取到子类控件需要上报的数据内容;
所述全局对象具体用于:调用所述基类以监听子类控件的点击消息事件,实现对子类控件的打点上报行为的监听,以及调用上报接口;
所述全局对象中创建数组列表,并将子类控件的对象注册到创建的所述数组列表中,具体步骤为:
在全局对象中创建一数组列表;
调用全局对象的缓存接口,将子类控件的对象注册到所述数组列表中;
所述回调函数调用全局对象的缓存接口进行打点上报操作,具体步骤为:所述回调函数调用全局对象的缓存接口,通过HTTP上报接口将打点上报的数据内容上传至服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910472357.2A CN110188308B (zh) | 2019-05-31 | 2019-05-31 | 客户端自动打点上报方法、存储介质、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910472357.2A CN110188308B (zh) | 2019-05-31 | 2019-05-31 | 客户端自动打点上报方法、存储介质、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110188308A CN110188308A (zh) | 2019-08-30 |
CN110188308B true CN110188308B (zh) | 2021-11-09 |
Family
ID=67719737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910472357.2A Active CN110188308B (zh) | 2019-05-31 | 2019-05-31 | 客户端自动打点上报方法、存储介质、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110188308B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639007B (zh) * | 2020-05-29 | 2024-05-03 | 北京金山云网络技术有限公司 | 一种数据处理方法、装置、终端及计算机可读存储介质 |
CN112130854B (zh) * | 2020-09-09 | 2023-12-22 | 海看网络科技(山东)股份有限公司 | 一种iptv检测探针系统关键字的方法 |
CN112817813B (zh) * | 2021-01-15 | 2023-06-13 | 深圳市房多多网络科技有限公司 | 基于react hooks的数据收集方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648640A (zh) * | 2016-12-09 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种简化代码的方法和装置 |
CN108446212A (zh) * | 2018-03-30 | 2018-08-24 | 武汉斗鱼网络科技有限公司 | 获取用户行为路径的方法、装置、存储介质及设备 |
CN108549594A (zh) * | 2018-03-30 | 2018-09-18 | 武汉斗鱼网络科技有限公司 | 确定用户流失原因的方法及装置 |
CN108595168A (zh) * | 2018-03-30 | 2018-09-28 | 武汉斗鱼网络科技有限公司 | 自动打点方法、装置、可读存储介质及设备 |
CN109144477A (zh) * | 2018-07-06 | 2019-01-04 | 武汉斗鱼网络科技有限公司 | 一种自动管理类对象内存的方法及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06103075A (ja) * | 1992-07-06 | 1994-04-15 | Internatl Business Mach Corp <Ibm> | オブジェクト指向適用業務 |
US6732108B2 (en) * | 2001-07-12 | 2004-05-04 | International Business Machines Corporation | Class file archives with reduced data volume |
US7730465B2 (en) * | 2004-10-22 | 2010-06-01 | Microsoft Corporation | Mixed types |
-
2019
- 2019-05-31 CN CN201910472357.2A patent/CN110188308B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648640A (zh) * | 2016-12-09 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种简化代码的方法和装置 |
CN108446212A (zh) * | 2018-03-30 | 2018-08-24 | 武汉斗鱼网络科技有限公司 | 获取用户行为路径的方法、装置、存储介质及设备 |
CN108549594A (zh) * | 2018-03-30 | 2018-09-18 | 武汉斗鱼网络科技有限公司 | 确定用户流失原因的方法及装置 |
CN108595168A (zh) * | 2018-03-30 | 2018-09-28 | 武汉斗鱼网络科技有限公司 | 自动打点方法、装置、可读存储介质及设备 |
CN109144477A (zh) * | 2018-07-06 | 2019-01-04 | 武汉斗鱼网络科技有限公司 | 一种自动管理类对象内存的方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110188308A (zh) | 2019-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9852015B2 (en) | Automatic discovery of a JavaScript API | |
CN109739717B (zh) | 一种页面数据采集的方法及装置、服务器 | |
CN110188308B (zh) | 客户端自动打点上报方法、存储介质、设备及系统 | |
US20100205583A1 (en) | Request-based activation of debugging and tracing | |
CN111124906A (zh) | 基于动态埋点的跟踪方法、编译方法、装置和电子设备 | |
US8549539B2 (en) | Programmatic modification of a message flow during runtime | |
CN105786455B (zh) | 一种数据处理方法、装置及终端 | |
CN110795181A (zh) | 基于跳转协议的应用程序界面展示方法、装置及电子设备 | |
US20220138074A1 (en) | Method, electronic device and computer program product for processing data | |
WO2019075845A1 (zh) | 链路调用关系的构建方法、装置、计算机设备及存储介质 | |
CN110457132B (zh) | 一种功能对象的创建方法、装置和终端设备 | |
CN112395098A (zh) | 应用程序接口调用方法、装置、存储介质和电子设备 | |
CN112445691B (zh) | 非侵入式智能合约性能检测方法和装置 | |
CN113656102A (zh) | 数据埋点方法及装置、存储介质、电子设备 | |
CN112346774A (zh) | 一种应用安装包的生成方法和装置 | |
CN113722007B (zh) | Vpn分支设备的配置方法、装置及系统 | |
CN111767111B (zh) | 页面数据处理方法及装置、电子设备和存储介质 | |
CN113138767B (zh) | 代码语言转换方法、装置、电子设备及存储介质 | |
CN112162954B (zh) | 用户操作日志生成、路径的定位方法、装置、设备及介质 | |
CN114936026B (zh) | 一种半结构化数据的解析方法、系统、存储介质和设备 | |
CN113127309B (zh) | 一种程序监控方法、装置、电子设备及存储介质 | |
CN113986322B (zh) | 一种动态修改页面代码的方法、装置及存储介质 | |
CN112306324B (zh) | 信息处理方法、装置、设备和介质 | |
CN114995839A (zh) | 应用资源的处理方法、装置、电子设备及存储介质 | |
CN114385955A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |