CN116302895A - 一种基于Javascript的用户行为收集方法、装置、设备及介质 - Google Patents
一种基于Javascript的用户行为收集方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116302895A CN116302895A CN202310413181.XA CN202310413181A CN116302895A CN 116302895 A CN116302895 A CN 116302895A CN 202310413181 A CN202310413181 A CN 202310413181A CN 116302895 A CN116302895 A CN 116302895A
- Authority
- CN
- China
- Prior art keywords
- buried
- user behavior
- javascript
- information
- click
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 22
- 230000006399 behavior Effects 0.000 claims description 82
- 238000004590 computer program Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明属于软件领域,具体涉及一种基于Javascript的用户行为收集方法、装置、设备及介质,所述方法包括如下步骤:从服务器获取Javascript代码,所述Javascript代码包含埋点策略;获取用户行为操作信息,并根据所述用户行为操作信息调用所述Javascript代码;执行所述Javascript代码,对所述用户行为操作信息进行处理,获得埋点数据;将所述埋点数据上传至所述服务器。本发明能够在App在不发版的情况下,动态新增埋点代码;埋点代码可根据需求的增加而动态增加,可以灵活发布,时效性高。
Description
技术领域
本发明属于软件领域,具体涉及一种基于Javascript的用户行为收集方法、装置、设备及介质。
背景技术
目前行业内对埋点的普遍实现,是在App的代码中,对用户操作行为的点击或输入事件编写相应的业务埋点代码,在适当时机对埋点数据进行上传。这样做能够满足收集用户行为的需求,但是埋点代码过于零散,不好维护,由于App基于发布版本新增功能的机制,导致新版本App代码与老版本App代码行为不一致,这意味着,之后版本添加的埋点无法作用到之前版本的App中。
发明内容
本发明的目的在于提供一种能够动态新增埋点的基于Javascript的用户行为收集方法、装置、设备及介质。
为实现上述目的及其他相关目的,本发明提供一种基于Javascript的用户行为收集方法,应用于客户端,所述方法包括如下步骤:
从服务器获取Javascript代码,所述Javascript代码包含埋点策略;
获取用户行为操作信息,并根据所述用户行为操作信息调用所述Javascript代码;
执行所述Javascript代码,对所述用户行为操作信息进行处理,获得埋点数据;
将所述埋点数据上传至所述服务器。
本发明的技术效果在于:本发明通过从服务器获取的Javascript代码来更新埋点代码,App在不发版的情况下,实现埋点代码的动态新增;埋点代码可根据需求的增加而动态增加,可以灵活发布,时效性高;App点击调用Javascript代码的逻辑,可以在App框架中进行,一套代码全局使用,无需在业务代码中关心埋点逻辑;不需要埋点的点击事件,可以在Javascript代码中进行过滤,做到特殊化处理;这种埋点方案,可以很好的动态适应不断变化的埋点需求,且能够在功能上线之后不发布App版本的情况下进行埋点功能新增;一方面业务开发者无需关心埋点需求,可以提高开发效率;另一方面,减少App发版次数的同时能够提高用户体验;埋点方案思想易移植,且兼容多平台设备,具有广泛普适性。
附图说明
图1是本发明的实施例所提供的基于Javascript的用户行为收集方法的应用场景图;
图2是本发明的实施例所提供的基于Javascript的用户行为收集方法的主要流程图;
图3是本发明的实施例所提供的Javascript代码调用方法的流程图;
图4是本发明的实施例所提供的埋点生成方法的流程图;
图5是本发明的另一实施例所提供的埋点生成方法的流程图;
图6是本发明的又一实施例所提供的埋点生成方法的流程图;
图7是本发明的实施例所提供的基于Javascript的用户行为收集装置的功能模块框图;
图8是本发明的实施例所提供的电子设备的结构框图;
图9是本发明的实施例所提供的埋点运行方法的流程图;
图10是本发明的实施例所提供的新增埋点方法的流程图;
图11是本发明的实施例所提供的埋点动态新增及运行过程的流程图;
图12是本发明的实施例所提供的用户行为收集方法的具体流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1-12。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
图2示出了本发明的基于Javascript的用户行为收集方法的较佳实施例的流程图。
所述基于Javascript的用户行为收集方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。
所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
下面将结合图1来详细阐述本发明的基于Javascript的用户行为收集方法,该基于Javascript的用户行为收集方法例如可应用于服务方对用户操作习惯的收集,以便服务方为用户提供更加精准的服务。
本发明所述Javascript是一种具有函数优先的轻量级、解释型或即时编译型的编程语言,主要用于开发Web页面的脚本语言,Javascript也被用于很多非浏览器环境中,Javascript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式;Javascript是一种解释性脚本语言(代码不进行预编译),主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为,可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离,Javascript具有跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
Javascript脚本语言具有以下特性:Javascript是一种解释型的脚本语言,与C、C++等语言先编译后执行的模式不同,Javascript是在程序的运行过程中逐行进行解释;Javascript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象;Javascript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑Javascript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应;在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作Javascript都可直接对这些事件给出相应的响应;Javascript脚本语言不依赖于操作系统,仅需要浏览器的支持,因此一个Javascript脚本在编写后可以带到任意机器上使用,前提是机器上的浏览器支持Javascript脚本语言,Javascript已被大多数的浏览器所支持;不同于服务器端脚本语言,例如PHP与ASP,Javascript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。
本发明所述客户端例如可以是智能手机APP(Application),主要指安装在智能手机上的软件,完善原始系统的不足与个性化,使手机完善其功能,为用户提供更丰富的使用体验的主要手段。手机软件的运行需要有相应的手机系统,市场常用的手机系统:苹果公司的iOS、谷歌公司的Android(安卓)系统、华为公司的(鸿蒙)系统、塞班平台和微软平台。
本发明所述埋点是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程,埋点的技术实质,是先监听软件应用运行过程中的事件,当需要关注的事件发生时进行判断和捕获。埋点是为了满足快捷、高效、丰富的数据应用而做的用户行为过程及结果记录,数据埋点是一种常用的数据采集的方法,埋点是数据的来源,采集的数据可以分析网站/APP的使用情况,用户行为习惯等,是建立用户画像、用户行为路径等数据产品的基础。
请参阅图9所示,目前行业内对埋点的普遍实现,是在App的代码中,对用户操作行为的点击或输入事件编写相应的业务埋点代码,在适当时机对埋点数据进行上传,这样做能够满足收集用户行为的需求,但是埋点代码过于零散,不好维护,由于App基于发布版本新增功能的机制,导致新版本App代码与老版本App代码行为不一致,这意味着,之后版本添加的埋点无法作用到之前版本的App中。而本发明的基于Javascript的用户行为收集方法,通过从服务器获取的Javascript代码来更新埋点代码,App在不发版的情况下,实现埋点代码的动态新增,埋点代码可根据需求的增加而动态增加,可以灵活发布,时效性高。
请参阅图2所示,一种基于Javascript的用户行为收集方法,应用于客户端11,所述方法包括如下步骤:
S21:从服务器12获取Javascript代码,所述Javascript代码包含埋点策略;本发明通过从服务器获取的Javascript代码来更新埋点代码,App在不发版的情况下,实现埋点代码的动态新增,埋点代码可根据需求的增加而动态增加,可以灵活发布,时效性高。
S22:获取用户行为操作信息,并根据所述用户行为操作信息调用所述Javascript代码。
请参阅图3所示,在一具体实施例中,用户行为操作信息包括当前页面信息、点击事件信息、点击布局类型信息、点击布局层级信息,所述步骤S22包括:
S31:获取当前页面信息、点击事件信息、点击布局类型信息、点击布局层级信息中的一种或几种;
S32:将所述当前页面信息、点击事件信息、点击布局类型信息、点击布局层级信息中的一种或几种传入所述Javascript代码。
App点击调用Javascript代码的逻辑,可以在App框架中进行,一套代码全局使用,无需在业务代码中关心埋点逻辑。
S23:执行所述Javascript代码,对所述用户行为操作信息进行处理,获得埋点数据。
请参阅图4所示,在一具体实施例中,所述步骤S23包括:
S41:判断所述点击布局类型是否为按钮类型;
S42:若所述点击布局类型是按钮类型,则根据所述当前页面信息和所述埋点策略判断当前页面是否需要埋点;
S43:若当前页面需要埋点,则根据所述埋点策略对所述用户行为操作信息进行埋点统计,生成埋点数据。
不需要埋点的点击事件,可以在Javascript代码中进行过滤,做到特殊化处理;这种埋点方案,可以很好的动态适应不断变化的埋点需求,且能够在功能上线之后不发布App版本的情况下进行埋点功能新增;一方面业务开发者无需关心埋点需求,可以提高开发效率;另一方面,减少App发版次数的同时能够提高用户体。
请参阅图5所示,在另一替代实施例中,所述步骤S23例如可以包括如下步骤:
S51:判断所述点击布局类型是否为按钮类型;
S52:若所述点击布局类型是按钮类型,则根据所述点击事件信息和所述埋点策略判断当前点击的按钮是否需要埋点;
S53:若所述当前点击的按钮需要埋点,则根据所述埋点策略对所述当前点击的按钮进行埋点统计,生成埋点数据。
请参阅图6所示,在又一替代实施例中,所述步骤S23例如可以包括如下步骤:
S61:判断所述点击布局类型是否为按钮类型;
S62:若所述点击布局类型是按钮类型,则根据所述点击事件信息和所述埋点策略判断当前点击事件ID是否需要埋点;
S63:若所述当前点击事件ID需要埋点,则根据所述埋点策略对所述点击事件信息进行埋点统计,生成埋点数据。
在一具体实施例中,所述埋点数据例如可以包括用户操作事件唯一标识、设备信息、用户操作流程信息等。
S24:将所述埋点数据上传至所述服务器12。
在一具体实施例中,所述步骤S24例如可以是获得所述埋点数据后,立即上传至所述服务器;或者在获得所述埋点数据后,每隔预设时间段上传一次所述服务器,例如每间隔5min上传一次。
本发明的埋点方案思想易移植,且兼容多平台设备,具有广泛普适性。
以下结合具体实施例对本发明的技术方案进行详细说明:
请参阅图10所示,新增埋点代码时,无需App发版,只需要更新Javascript代码包,即可应用到App代码中,更新JavaScript代码包流程如下:在JavaScript代码编写完成后,对JavaScript代码上传到服务器。App启动时,下载服务器上的JavaScript代码到App内存中,在用户进行点击等操作时,调用JavaScript代码进行埋点统计与上报。
具体的,请参阅图11所示,在App初始化时,下载Javascript代码;在App内执行点击事件时,App代码调用已经下载好的Javascript代码,并传入当前用户行为操作信息;Javascript代码中根据传入的信息判断是否需要埋点,如需要埋点,写入埋点数据,并在适当的时机上传埋点数据,合适的时机包括不限于:调用埋点统计方法时立即上报;或者调用埋点统计方法后收集埋点信息,每隔5分(或更长)将统计的埋点信息进行上报。
在具体实施例中,埋点统计信息包括用户操作事件唯一标识(id等),设备信息,用户操作流程信息等。
例如在以下描述中:
eventReport(“click_cash”,{“deviceId”:“12ewr89ewfdjwe8ewhd73hjkfdsd”,“transId”:“2367824382463824832”,“amount”:“123:45”})
“eventReport”表示埋点统计方法,click_cash是用户操作事件唯一标识,deviceId是设备信息,transId、amount是用户操作流程信息。
当用户操作时,App调用JavaScript代码中的“eventReport”方法,将用户埋点信息进行埋点统计与上报。
请参阅图12所示,在进一步具体实施例中,用户行为操作信息的具体收集流程如下:
首先,在用户触发点击操作时,App代码内会收集如下用户行为相关操作信息,并传递给Javascript代码;
当前页面信息(目前处于哪一个页面);
点击事件信息(点击触发的具体动作,是点击还是长按还是双击等);
点击布局类型(当前是点击按钮,还是文本框,还是输入框);
点击布局层级(当前点击布局所处的层级信息,父布局是什么布局,子布局是什么布局,由此来定位当前布局在页面当中的位置)。
然后,在Javascript代码中接收到以上信息时,对信息进行处理,包括但不限于如下处理方式:
判断点击布局类型是否为按钮类型,一般地,埋点需求只针对用户操作按钮触发的逻辑进行行为收集(即埋点)。
判断当前的页面是否需要埋点。
判断当前点击的按钮是否需要埋点。
最后,Javascript代码对如上信息过滤之后,针对需要埋点的按钮进行埋点统计,并在合适的时机上报埋点。
需要说明的是,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
如图7所示,是本发明的基于Javascript的用户行为收集装置的较佳的实施例的功能模块图。所述基于Javascript的用户行为收集装置包括:代码获取模块71,信息收集模块72、执行模块73和发送模块74。所述本发明所称的模块及后文将要介绍的子模块是指一种能够被处理器81所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器82中。
所述代码获取模块71用于从服务器获取Javascript代码,所述Javascript代码包含埋点策略;本发明通过从服务器获取的Javascript代码来更新埋点代码,App在不发版的情况下,实现埋点代码的动态新增,埋点代码可根据需求的增加而动态增加,可以灵活发布,时效性高。
所述信息收集模块72用于获取用户行为操作信息,并根据所述用户行为操作信息调用所述Javascript代码;具体的,所述信息收集模块72能够获取当前页面信息、点击事件信息、点击布局类型信息、点击布局层级信息中的一种或几种;将所述当前页面信息、点击事件信息、点击布局类型信息、点击布局层级信息中的一种或几种传入所述Javascript代码。
所述执行模块73用于执行所述Javascript代码,对所述用户行为操作信息进行处理,获得埋点数据;在一优选实施例中,所述执行模块73能够判断所述点击布局类型是否为按钮类型;若所述点击布局类型是按钮类型,则根据所述当前页面信息和所述埋点策略判断当前页面是否需要埋点;若当前页面需要埋点,则根据所述埋点策略对所述用户行为操作信息进行埋点统计,生成埋点数据。
在其它一些实施例中,所述执行模块73能够判断所述点击布局类型是否为按钮类型;若所述点击布局类型是按钮类型,则根据所述点击事件信息和所述埋点策略判断当前点击的按钮是否需要埋点;若所述当前点击的按钮需要埋点,则根据所述埋点策略对所述当前点击的按钮进行埋点统计,生成埋点数据。
在又一实施例中,所述执行模块73能够判断所述点击布局类型是否为按钮类型;若所述点击布局类型是按钮类型,则根据所述点击事件信息和所述埋点策略判断当前点击事件ID是否需要埋点;若所述当前点击事件ID需要埋点,则根据所述埋点策略对所述点击事件信息进行埋点统计,生成埋点数据。
所述发送模块74用于将所述埋点数据上传至所述服务器。
需要说明的是,本实施例的基于Javascript的用户行为收集装置是与上述基于Javascript的用户行为收集方法相对应的装置,基于Javascript的用户行为收集装置中的功能模块或者分别对应基于Javascript的用户行为收集方法中的相应步骤。本实施例的基于Javascript的用户行为收集装置可与基于Javascript的用户行为收集方法相互相配合实施。相应地,本实施例的基于Javascript的用户行为收集装置中提到的相关技术细节也可应用在上述基于Javascript的用户行为收集方法中。
需要说明的是,上述的各功能模块实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的部分或全部步骤,或以上的各功能模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
如图8所示,是本发明实现基于Javascript的用户行为收集方法的较佳实施例的电子设备的结构示意图。
所述电子设备可以包括存储器、处理器和总线,还可以包括存储在所述存储器中并可在所述处理器上运行的计算机程序,例如基于Javascript的用户行为收集程序。
其中,存储器至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。存储器在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器不仅可以用于存储安装于电子设备的应用软件及各类数据,例如基于Javascript的用户行为收集程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器内的程序或者模块(例如执行基于Javascript的用户行为收集程序等),以及调用存储在所述存储器内的数据,以执行电子设备的各种功能和处理数据。
所述处理器执行所述电子设备的操作系统以及安装的各类应用程序。所述处理器执行所述应用程序以实现上述各个基于Javascript的用户行为收集方法实施例中的步骤,例如图所示的步骤。
示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备中的执行过程。例如,所述计算机程序可以被分割成代码获取模块、信息收集模块、执行模块和发送模块。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述基于Javascript的用户行为收集方法的部分功能。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图7中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器以及至少一个处理器等之间的连接通信。
综上所述,本发明通过从服务器获取的Javascript代码来更新埋点代码,App在不发版的情况下,实现埋点代码的动态新增;埋点代码可根据需求的增加而动态增加,可以灵活发布,时效性高;App点击调用Javascript代码的逻辑,可以在App框架中进行,一套代码全局使用,无需在业务代码中关心埋点逻辑;不需要埋点的点击事件,可以在Javascript代码中进行过滤,做到特殊化处理;这种埋点方案,可以很好的动态适应不断变化的埋点需求,且能够在功能上线之后不发布App版本的情况下进行埋点功能新增;一方面业务开发者无需关心埋点需求,可以提高开发效率;另一方面,减少App发版次数的同时能够提高用户体验;埋点方案思想易移植,且兼容多平台设备,具有广泛普适性。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种基于Javascript的用户行为收集方法,其特征在于,应用于客户端,所述方法包括如下步骤:
从服务器获取Javascript代码,所述Javascript代码包含埋点策略;
获取用户行为操作信息,并根据所述用户行为操作信息调用所述Javascript代码;
执行所述Javascript代码,对所述用户行为操作信息进行处理,获得埋点数据;
将所述埋点数据上传至所述服务器。
2.根据权利要求1所述的基于Javascript的用户行为收集方法,其特征在于,所述获取用户行为操作信息,并根据所述用户行为操作信息调用所述Javascript代码的步骤包括:
获取当前页面信息、点击事件信息、点击布局类型信息、点击布局层级信息中的一种或几种;
将所述当前页面信息、点击事件信息、点击布局类型信息、点击布局层级信息中的一种或几种传入所述Javascript代码。
3.根据权利要求2所述的基于Javascript的用户行为收集方法,其特征在于,所述执行所述Javascript代码,对所述用户行为操作信息进行处理,获得埋点数据的步骤包括:
判断所述点击布局类型是否为按钮类型;
若所述点击布局类型是按钮类型,则根据所述当前页面信息和所述埋点策略判断当前页面是否需要埋点;
若当前页面需要埋点,则根据所述埋点策略对所述用户行为操作信息进行埋点统计,生成埋点数据。
4.根据权利要求2所述的基于Javascript的用户行为收集方法,其特征在于,所述执行所述Javascript代码,对所述用户行为操作信息进行处理,获得埋点数据的步骤包括:
判断所述点击布局类型是否为按钮类型;
若所述点击布局类型是按钮类型,则根据所述点击事件信息和所述埋点策略判断当前点击的按钮是否需要埋点;
若所述当前点击的按钮需要埋点,则根据所述埋点策略对所述当前点击的按钮进行埋点统计,生成埋点数据。
5.根据权利要求2所述的基于Javascript的用户行为收集方法,其特征在于,所述执行所述Javascript代码,对所述用户行为操作信息进行处理,获得埋点数据的步骤包括:
判断所述点击布局类型是否为按钮类型;
若所述点击布局类型是按钮类型,则根据所述点击事件信息和所述埋点策略判断当前点击事件ID是否需要埋点;
若所述当前点击事件ID需要埋点,则根据所述埋点策略对所述点击事件信息进行埋点统计,生成埋点数据。
6.根据权利要求1所述的基于Javascript的用户行为收集方法,其特征在于,执行所述Javascript代码,对所述用户行为操作信息进行处理,获得埋点数据的步骤包括:
执行所述Javascript代码,对所述用户行为操作信息进行处理,获得用户操作事件唯一标识、设备信息、用户操作流程信息中的一种或几种。
7.根据权利要求1所述的基于Javascript的用户行为收集方法,其特征在于,所述将所述埋点数据上传至所述服务器的步骤包括:
获得所述埋点数据后,立即上传至所述服务器;或
获得所述埋点数据后,每隔预设时间段上传一次所述服务器。
8.一种基于Javascript的用户行为收集装置,其特征在于,包括:
代码获取模块,用于从服务器获取Javascript代码,所述Javascript代码包含埋点策略;
信息收集模块,用于获取用户行为操作信息,并根据所述用户行为操作信息调用所述Javascript代码;
执行模块,用于执行所述Javascript代码,对所述用户行为操作信息进行处理,获得埋点数据;
发送模块,用于将所述埋点数据上传至所述服务器。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储于计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310413181.XA CN116302895A (zh) | 2023-04-11 | 2023-04-11 | 一种基于Javascript的用户行为收集方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310413181.XA CN116302895A (zh) | 2023-04-11 | 2023-04-11 | 一种基于Javascript的用户行为收集方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116302895A true CN116302895A (zh) | 2023-06-23 |
Family
ID=86794234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310413181.XA Pending CN116302895A (zh) | 2023-04-11 | 2023-04-11 | 一种基于Javascript的用户行为收集方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302895A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290256A (zh) * | 2023-11-24 | 2023-12-26 | 北京中指实证数据信息技术有限公司 | 一种统计用户行为的埋码方法 |
-
2023
- 2023-04-11 CN CN202310413181.XA patent/CN116302895A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290256A (zh) * | 2023-11-24 | 2023-12-26 | 北京中指实证数据信息技术有限公司 | 一种统计用户行为的埋码方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363602B (zh) | 智能ui界面布局方法、装置、终端设备及存储介质 | |
CN108293081B (zh) | 通过用户界面事件的程序重放深度链接到移动应用状态 | |
US7269792B2 (en) | System and method for generating high-function browser widgets with full addressability | |
US7461134B2 (en) | Bi-directional communication between a web client and a web server | |
US20170243238A1 (en) | Synthetic user profiles | |
US8826297B2 (en) | Creating web services from an existing web site | |
US8914774B1 (en) | System and method for tagging code to determine where the code runs | |
CN105955208B (zh) | 一种基于云平台的网络机器人数据控制系统 | |
CN106897215A (zh) | 一种基于WebView网页加载性能及用户行为流数据采集的方法 | |
CN110334299B (zh) | 一种基于地址栏监听的弹窗展示方法、装置和电子设备 | |
US20070271519A1 (en) | System and Method for Collecting User Interest Data | |
CN108614776A (zh) | 跨语言协议测试请求的动态构建方法和系统 | |
JP2004535606A (ja) | クライアント上で表示されたユーザインターフェース要素およびウェブサーバ上で実行するソフトウェアアプリケーションコンポーネントを同期させる方法および装置 | |
CN108334641B (zh) | 采集用户行为数据的方法、系统、电子设备、存储介质 | |
CN104049991A (zh) | 用于将网络应用转换为移动应用的方法和系统 | |
US9678814B2 (en) | Implementing a java method | |
US20080281754A1 (en) | Systems and methods for facilitating affiliate-based transactions | |
CN104731869B (zh) | 页面的展现方法及装置 | |
US20160350817A1 (en) | System for tracking donor influence in charitable transactions | |
CN110598135A (zh) | 网络请求处理方法、装置、计算机可读介质及电子设备 | |
CN116302895A (zh) | 一种基于Javascript的用户行为收集方法、装置、设备及介质 | |
CN111061807A (zh) | 分布式数据采集分析系统及方法、服务器及介质 | |
CN113971257A (zh) | 混合应用的功能菜单访问方法及装置 | |
CN110045950A (zh) | 基于nodejs的静态页面开发脚手架方法 | |
CN111026945B (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 |