CN111382039A - 上报用户行为事件的方法、装置、电子设备及存储介质 - Google Patents
上报用户行为事件的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111382039A CN111382039A CN201811626811.7A CN201811626811A CN111382039A CN 111382039 A CN111382039 A CN 111382039A CN 201811626811 A CN201811626811 A CN 201811626811A CN 111382039 A CN111382039 A CN 111382039A
- Authority
- CN
- China
- Prior art keywords
- user behavior
- behavior event
- interactive control
- interactive
- control
- 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 186
- 230000002452 interceptive effect Effects 0.000 claims abstract description 131
- 230000006399 behavior Effects 0.000 claims description 165
- 230000003993 interaction Effects 0.000 claims description 72
- 230000006870 function Effects 0.000 claims description 44
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011423 initialization method Methods 0.000 description 2
- 238000011022 operating instruction Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002699 waste material Substances 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开实施例提供了一种上报用户行为事件的方法、装置、电子设备及存储介质,该方法包括:对于需要收集用户行为事件的交互控件,在检测到对交互控件的操作后,拦截交互控件所对应的用于实现交互控件所对应的交互功能的系统方法,通过系统方法,执行预配置的用于收集交互控件所对应的用户行为事件的方法,得到交互控件所对应的用户行为事件并发送至服务器。本公开的实施例中,在检测到用户对交互控件的操作后,可通过执行收集交互控件所对应的用户行为事件的方法,得到交互控件所对应的用户行为事件,并且自动发送至服务器,不需要对每一个需要收集用户行为事件的交互控件手动进行埋点,有效地减少了人工手动埋点的工作量,降低了埋点错误率。
Description
技术领域
本公开涉及计算机处理技术领域,具体而言,本公开涉及一种上报用户行为事件的方法、装置、电子设备及存储介质。
背景技术
在向用户推送信息时,为了使推送至用户的内容更符合用户的喜好,需要获知用户在APP(Application,应用程序)内具体执行了哪些操作,通常情况下是依赖于一些用户事件,比如,用户点击了某个按钮,就会上报一个事件,从而根据该事件获知用户有什么样的操作,以及根据获取到的操作分析用户的动作、喜好,并根据分析的结果向用户推送相关的内容。
目前,APP中用户事件的上报一般都是通过埋点来实现的,埋点就是在执行用户操作的同时发送相应的网络请求来对用户的操作进行上报。但在实际应用中,一个APP中会存在各种各样的操作,也就需要成千上万的埋点,但是执行埋点操作以及后续对埋点进行维护都需要特别大的人力、物力成本,进而造成极大的资源浪费,并且在程序发生调整时,埋点极易出现错误。
发明内容
本公开的目的旨在至少能解决上述的技术缺陷之一,提升用户的使用体验。本公开采用的技术方案如下:
第一方面,本公开提供了一种上报用户行为事件的方法,该方法包括:
对于任意一个需要收集用户行为事件的交互控件,在检测到用户对交互控件的操作后,拦截互控件对应的用于实现交互控件所对应的交互功能的系统方法,
通过系统方法,执行预配置的用于收集交互控件所对应的用户行为事件的方法,得到交互控件所对应的用户行为事件;
将用户行为事件发送至服务器。
第一方面的可选实施例中,拦截交互控件对应的用于实现交互控件所对应的交互功能的系统方法,包括:
基于收集交互控件所对应的用户行为事件的方法,对交互控件对应的用于实现交互控件所对应的交互功能的系统方法进行hook(钩子)操作。
第一方面的可选实施例中,该方法还包括:
获取与用户行为事件关联的业务数据,并将业务数据发送至服务器。
第一方面的可选实施例中,获取与用户行为事件关联的业务数据,包括:
通过预配置的用于获取与用户行为事件关联的业务数据的方法获取业务数据;
其中,用于获取与用户行为事件关联的业务数据的方法,是基于在交互控件所对应的基类的category(分类)扩展中添加的用于获取业务数据的方法实现的方法。
第一方面的可选实施例中,用于获取业务数据的方法的初始返回值为预配置的默认值;
基于在交互控件所对应的基类的category扩展中添加的用于获取业务数据的方法实现,是指在交互控件对应的子类上实现用于获取业务数据的方法;
其中,在交互控件对应的子类上实现的用于获取业务数据的方法的返回值,是基于需要获取的与用户行为事件关联的业务数据配置的。
第二方面,本公开提供了一种上报用户行为事件的装置,该装置包括:
行为事件收集模块,用于对于任意一个需要收集用户行为事件的交互控件,在检测到用户对交互控件的操作后,拦截交互控件对应的用于实现交互控件所对应的交互功能的系统方法,通过系统方法,执行预配置的用于收集交互控件所对应的用户行为事件的方法,得到交互控件所对应的用户行为事件;
行为事件上报模块,用于将用户行为事件发送至服务器。
第二方面的可选实施例中,行为事件收集模块拦截交互控件所对应的用于实现交互控件所对应的交互功能的系统方法时,具体用于:
基于收集交互控件所对应的用户行为事件的方法,对交互控件对应的用于实现交互控件所对应的交互功能的系统方法进行hook操作。
第二方面的可选实施例中,该装置还包括:
业务数据获取模块,用于获取与用户行为事件关联的业务数据,并将业务数据发送至服务器。
第二方面的可选实施例中,业务数据获取模块在获取与用户行为事件关联的业务数据时,具体用于:
通过预配置的用于获取与用户行为事件关联的业务数据的方法获取业务数据;
其中,用于获取与用户行为事件关联的业务数据的方法,是基于在交互控件所对应的基类的category扩展中添加的用于获取业务数据的方法实现的方法。
第二方面的可选实施例中,用于获取业务数据的方法的初始返回值为预配置的默认值;
基于在交互控件所对应的基类的category扩展中添加的用于获取业务数据的方法实现,是指在交互控件对应的子类上实现用于获取业务数据的方法;
其中,在交互控件对应的子类上实现的用于获取业务数据的方法的返回值,是基于需要获取的与用户行为事件关联的业务数据配置的。
第三方面,本公开提供了一种电子终端,该电子终端包括:
处理器和存储器;
存储器,用于存储计算机操作指令;
处理器,用于通过调用计算机操作指令,执行如本公开的第一方面的任一实施例中所示的方法。
第四方面,本公开提供了一种计算机存储介质,存储介质存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如本公开的第一方面的任一实施例中所示的方法。
本公开实施例提供的技术方案带来的有益效果是:
本公开实施例的上报用户行为事件的方法、装置、电子设备及存储介质,针对任意一个需要收集用户行为事件的交互控件,在检测到用户对交互控件的操作后,既可以通过执行预配置的收集交互控件所对应的用户行为事件的方法,得到交互控件所对应的用户行为事件,并且将收集到的用户行为事件自动上报至服务器,不需要像现有技术中需要对每一个需要收集用户行为控件手动进行埋点,有效地减少了人工手动埋点的工作量,降低了埋点错误率。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单地介绍。
图1为本公开的实施例提供的一种上报用户行为事件的方法流程示意图;
图2为本公开的实施例提供的一种上报用户行为事件的装置的结构示意图;
图3为本公开的实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本公开的实施例,该实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开的技术方案,而不能解释为对本公开的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本公开的说明书中使用的措辞“包括”是指存在该特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
本公开的实施例提供了一种上报用户行为事件的方法,如图1所示,该方法可以包括:
步骤S110,对于任意一个需要收集用户行为事件的交互控件,在检测到用户对交互控件的操作后,拦截交互控件对应的用于实现交互控件所对应的交互功能的系统方法;
步骤S120通过系统方法,执行预配置的用于收集交互控件所对应的用户行为事件的方法,得到交互控件所对应的用户行为事件。
步骤S130,将用户行为事件发送至服务器。
其中,用户行为事件是指用户使用终端设备的行为事件,包括用户在终端设备上的点击(UIbutton点击、列表cell点击、手势点击、手势长按等)、页面切换、页面滑动等动作,以通过相应交互控件使用相应的交互功能。
本公开实施例的上报用户行为事件的方法、装置、电子设备及存储介质,针对任意一个需要收集用户行为事件的交互控件,在检测到用户对交互控件的操作后,既可以通过执行预配置的收集交互控件所对应的用户行为事件的方法,得到交互控件所对应的用户行为事件,并且将收集到的用户行为事件自动发送至服务器,不需要像现有技术中需要对每一个需要收集用户行为控件手动进行埋点,有效地减少了人工手动埋点的工作量,降低了埋点错误率。
下面对本公开实施例提供的方法进行详细描述。
步骤S110,对于任意一个需要收集用户行为事件的交互控件,在检测到用户对交互控件的操作后,拦截交互控件对应的用于实现交互控件所对应的交互功能的系统方法。
步骤S120通过系统方法,执行预配置的用于收集交互控件所对应的用户行为事件的方法,得到交互控件所对应的用户行为事件。
在实际的应用中,需要收集用户行为事件的交互控件具体是哪些交互控件,是可以根据实际需求预配置的,本公开实施例不做限定。比如,可以配置需要收集用户行为事件的交互控件为cell、UItableview(交互界面视图)、UIbutton(按钮)、lable(文字)、Gesture(手势)等。对于每一个交互控件具体需要收集哪些用户行为事件也可以根据实际需要设定,比如对于交互控件UItableview中需要收集的用户行为事件可以为视频的播放时长等。
其中,用户对交互控件的操作指的是用户选择该交互控件,表示用户想要使用该交互控件对应的交互功能,即用户用于选择交互控件的动作。例如,当需要收集用户行为事件的交互控件为UIbutton时,用户点击该UIbutton即表示用户对该交互控件的操作;又例如,当需要收集用户行为事件的交互控件为Gesture,用户做出手势的动作即表示用户对该交互控件的操作。
相应的,在检测到用户对交互控件的操作后,通过拦截交互控件对应的用于实现该交互控件所对应的交互功能的系统方法,通过该系统方法以执行预配置的用于收集交互控件所对应的用户行为事件的方法,得到交互控件所对应的用户行为事件。
其中,交互控件所对应的用于实现该交互控件所对应的交互功能的系统方法指的是可以实现交互控件对应的交互功能的方法,如对于一交互控件UIbutton对应的交互功能是播放音乐,此时可以实现播放音乐的方法即为该交互控件UIbutton所对应的用于实现所对应的交互功能的系统方法。其中,用于收集交互控件所对应的用户行为事件的方法是可以根据实际需求预配置的,本公开实施例不做限定。
在一示例中,对于交互控件UIbutton,需要收集的用户行为事件可以为用户使用该交互控件所产生的用户行为信息,例如,对于一功能为播放音乐的UIbutton,对应的用户行为事件则可以是“用户播放了音乐”,此时则可以将预配置的方法设定为收集该交互控件所对应的交互功能(如上述播放音乐)的方法。再例如,交互控件UItableview需要收集的用户行为事件可以为视频的播放时长,则可以将预配置的方法设定为收集视频的播放时长的方法。
在本公开实施例中,拦截交互控件所对应的系统方法,执行预配置的用于收集交互控件所对应的用户行为事件的方法,包括:
基于收集交互控件所对应的用户行为事件的方法,对交互控件对应的系统方法进行hook操作。
其中,本公开实施例中的hook操作,即钩子函数,不限于windows系统的hook操作,还包括类似hook机制的处理方法,通过hook操作,可以达到修改目标进程的某个函数的执行逻辑功能。通俗来讲,hook是通过拦截操作系统的某个或某些系统函数或者系统方法等,来执行需要实现的方法,也就是在系统调用被hook的系统函数或系统方法时,钩子函数会先得到控制权,执行被配置的真正要执行的操作。
也就是说,在实际应用中,在需要收集交互控件所对应的用户行为事件时,可以对交互控件对应的系统方法即交互控件需要调用的系统方法进行hook操作,这样在接收到用户对交互控件的操作时,即可拦截系统方法,并执行用于收集交互控件的用户行为事件的方法,进而收集到交互控件所对应的用户行为事件。
其中,对于不同的交互控件,hook的具体实现方式是基于交互控件的具体类型配置的,也就是说,对于不同的交互控件,实现hook的方式一般不同。比如,对于一个需要收集用户行为事件的交互控件,hook的通常是该交互控件需要调用的系统方法,从而在用户采用点击等方式使用该交互控件时,系统在调用该系统方法时,就会执行被配置的用于收集交互控件所对应的用户行为事件的方法,进而得到交互控件所对应的用户行为事件。
在一示例中,假如需要收集用户行为事件的交互控件为UIbutton即按钮,对于UIbutton而言,UIbutton对应的系统对象为target,实现该UIbutton所对应的交互功能的系统方法是selector方法,在不需要收集该交互控件所对应的交互功能时,当用户点击该UIbutton后,会向该target对象的selector发送一个消息,即调用selector方法,本公开实施例的方案中,在需要收集该UIbutton所对应的用户行为事件时,可以通过hook该target对象的add target:selector方法的方式,来执行预配置的收集用户行为事件的方法,比如在实际编写代码时,可以写成hook add target:selector:,在此方法中先获取到UIButton的target对象,再对hook该target的selector方法,如写成hook selector:xxx,其中,xxx即预配置的收集用户行为事件的方法,用户点击该UIbutton后,自动执行预配置的收集用户行为事件的方法收集用户行为事件,例如,预配置的方法为上报操作,则通过该方式实现了用户点击该按钮时自动上报对应的操作事件,即将用户对该按钮的操作时间上报给服务器。
在又一示例中,假如需要收集用户行为事件的交互控件为UITableView,用户行为事件可以为该UITableView下的视频的播放时长,对于UITableView而言,该UITableView对应的系统对象为delegatet,实现该UITableView所对应的交互功能的系统方法是setdelegate方法。在不需要收集该UITableView所对应的用户行为事件时,当用户点击该UITableView后,会向该delegate对象发送一个tableview:didSelectCellAtIndexPath:消息。本公开实施例的方案中,在需要收集该UITableView对应的用户行为事件时,可以通过hook该delegatet对象调用setdelegate方法的方式,获取到该tableview的delegate,再hook该delegate的tableview:didSelectCellAtIndexPath:方法,来执行预配置的收集用户行为事件的方法。比如在实际应用中,可以将预配置的收集视频的播放时长的方法设置为hook cell appear和hook cell disappear,当用户点击该UITableView时自动执行hookcell appear方法,得到该视频的播放时间节点,当视频播放结束时调用hook celldisappear方法,得到该视频的结束时间节点,这样就可以根据这两个时间节点计算得出播放时长。
需要说明的是,对于其它需要收集用户行为事件的交互控件,如Gesture,所采用的方式与上述实例中的方法原理相似,核心原理都是通过IOS Runtime(IOS运行时刻)即hook的方式实现的,即hook交互控件所对应的系统对象及方法来实现的,在此就不再赘述。
步骤S120,将用户行为事件发送至服务器。
在实际应用中,在得到该交互控件的用户行为事件后,将得到的用户行为事件发送至服务器,这样即可以根据上报的用户行为事件进行分析,可以更好地了解到用户的喜好。比如,得到的用户行为事件为视频的播放时长,此时就可以将视频的播放时长上报至服务器。
在本公开实施例中,该方法还包括:
获取与用户行为事件关联的业务数据,并将业务数据发送至服务器。
其中,与用户行为事件关联的业务数据指的是其它可以进一步表示用户行为事件的数据,如可以是指从后台(服务器)获取并展示到显示界面上的文字或图片数据等,并且对于每个交互控件具体需要获取哪些与用户行为事件关联的业务数据可以根据实际需要配置。比如,对于一交互功能为实现用户点赞某个视频的UIbutton即按钮,对应的用户行为事件则可以是“用户点赞了视频”,与用户行为事件关联的业务数据则可以是具体点赞了哪个视频;又例如,对于需要收集用户行为事件的交互控件为UITableView,则可以将该UITableView具体展现的是哪个视频作为与用户行为事件关联的业务数据。
在本公开实施例中,由于在收集交互控件的用户行为事件的同时,还会进一步获取与用户行为事件关联的业务数据,因此,在根据用户行为事件分析用户的喜好时可以分析的更加准确,保证向用户推送的消息更加符合用户喜好。
在本公开实施例中,获取与用户行为事件关联的业务数据,包括:
通过预配置的用于获取与用户行为事件关联的业务数据的方法获取业务数据;
其中,用于获取与用户行为事件关联的业务数据的方法,是基于在交互控件所对应的基类的category扩展中添加的用于获取业务数据的方法实现的。
其中,category是对一个IOSobject的功能进行扩展,让IOSobject能够适应不同情况的需求。而Category提供了一种比继承更为简洁的方法来对IOSobject进行扩展,无需创建对象类的子类就能为现有的类添加新的方法,可以为任何已经存在的类添加方法,包括UIKit(系统框架)等。
在实际应用中,由于IOSobject是cell、UItableview、UItbutton、lable等的基类,即cell、UIttableview、UItbutton、lable等均继承了IOSobject,在对IOSobject作一个category扩展,并在category中添加用于获取业务数据的方法时,子类cell、UItableview、UI button、lable等均可继承在category扩展中添加的用于获取业务数据的方法,也就是说子类cell、UItableview、UIbutton、lable等均可以采用category扩展中添加的用于获取业务数据的方法获取与用户行为事件关联的业务数据。
在一示例中,假如需要收集用户行为事件的交互控件为UITableView,用户行为事件为视频的播放时长,与用户行为事件关联的业务数据为视频信息,如视频的名称。当用户点击该UITableView后,通过hook方式拦截该UITableView的系统对象调用系统方法,执行预配置的可以获取播放时长的方法,然后执行category扩展中添加的方法获取到与用户行为事件关联的业务数据,即视频名称,最后将视频的播放时长和视频名称发送至服务器。
在本公开实施例中,用于获取业务数据的方法的初始返回值为预配置的默认值;
基于在交互控件所对应的基类的category扩展中添加的用于获取业务数据的方法实现,是指在交互控件对应的子类上实现用于获取业务数据的方法;
其中,在交互控件对应的子类上实现的用于获取业务数据的方法的返回值,是基于需要获取的与用户行为事件关联的业务数据配置的。
也就是说,在实际应用中,在交互控件执行用于获取业务数据的方法时,需要配置交互控件具体需要获取哪些与用户行为事件关联的业务数据,这样在执行category扩展中添加的用于获取业务数据的方法时,才可以获取到具体的业务数据,否则就会返回预配置的默认值,比如,返回空值。
在实际应用中,预配置的初始化方法可以设置为info方法,执行info方法时获取到的与用户行为事件关联的业务数据默认为空值,也就是说cell、UItableview、UIbutton、lable等在采用category扩展中添加的info方法获取与用户行为事件关联的业务数据时,需要写入具体收集哪些信息,这样在执行info方法时,才可以获取到与用户行为事件关联的业务数据,否则将会返回空值。
在实际应用中,获取到的与用户行为事件关联的业务数据可以为该交互控件的字典,即key-value(键值对)。其中,key表示关键字,每一个交互控件会对应于一个key,value表示值即key path,而key path表示指定一个任意深度的路径,该路径指向对象的特定属性,如可以是指定对象ID(Identification,标识)属性的路径、对象Name(名字)属性的路径及对象URL(Uniform Resource Locator,统一资源定位符)属性的路径等,不同的key path表示指向对象不同属性的路径,当已知key path后就可以根据key path获取到对象的某一个属性。比如key path表示指向交互控件ID属性的路径,此时就可以基于该key path获取到交互控件的ID。也就是说,基于返回的key path即可获取到为与用户行为事件关联的业务数据。
在一示例中,假如需要收集用户行为事件的交互控件为UITableView,用户行为事件为视频的播放时长,与用户行为事件关联的业务数据为视频信息,如视频的名称,预配置的初始化方法可以设置为info方法。当用户点击UITableView后,通过hook方式执行预配置的获取播放时长的方法,然后执行info方法获取到与用户行为事件关联的业务数据,即视频名称,最后将是表示视频名称和视频的播放时长上报至服务器。
基于与图1中所示方法相同的原理,本公开的实施例中还提供了一种上报用户行为事件的装置20,如图2所示,该装置20可以包括:行为事件收集模块210和行为事件上报模块220,其中,
行为事件收集模块210,用于对于任意一个需要收集用户行为事件的交互控件,在检测到用户对交互控件的操作后,拦截交互控件对应的用于实现交互控件所对应的交互功能的系统方法;以及通过系统方法,执行预配置的用于收集交互控件所对应的用户行为事件的方法,得到交互控件所对应的用户行为事件;
行为事件上报模块220,用于将用户行为事件方法至服务器。
本公开实施例的方案中,针对任意一个需要收集用户行为事件的交互控件,在检测到用户对交互控件的操作后,既可以通过执行预配置的收集交互控件所对应的用户行为事件的方法,得到交互控件所对应的用户行为事件,并且将收集到的用户行为事件自动上报至服务器,不需要像现有技术中需要对每一个需要收集用户行为控件手动进行埋点,有效地减少了人工手动埋点的工作量,降低了埋点错误率。
本公开的实施例中,行为事件收集模块拦截交互控件所对应的用于实现交互控件所对应的交互功能的系统方法时,具体用于:
基于收集交互控件所对应的用户行为事件的方法,对交互控件对应的用于实现交互控件所对应的交互功能的系统方法进行hook操作。
本公开的实施例中,该装置还包括:
业务数据获取模块,用于获取与用户行为事件关联的业务数据,并将业务数据发送至服务器。
本公开的实施例中,业务数据获取模块在获取与用户行为事件关联的业务数据时,具体用于:
通过预配置的用于获取与用户行为事件关联的业务数据的方法获取业务数据;
其中,用于获取与用户行为事件关联的业务数据的方法,是基于在交互控件所对应的基类的category扩展中添加的用于获取业务数据的方法实现的方法。
本公开的实施例中,用于获取业务数据的方法的初始返回值为预配置的默认值;
基于在交互控件所对应的基类的category扩展中添加的用于获取业务数据的方法实现,是指在交互控件对应的子类上实现用于获取业务数据的方法;
其中,在交互控件对应的子类上实现的用于获取业务数据的方法的返回值,是基于需要获取的与用户行为事件关联的业务数据配置的。
获基于与本公开的实施例中的上报用户行为事件的方法相同的原理,本公开的实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机操作指令;处理器,用于通过调用计算机操作指令执行实施例所示的方法。
基于与本公开的实施例中的上报用户行为事件的方法相同的原理,本公开的实施例中还提供了一种计算机可读存储介质,该存储介质存储有至少一条操作、至少一段程序、代码集或操作集,至少一条操作、至少一段程序、代码集或操作集由处理器加载并执行以实现上述实施例所示的方法,在此不再赘述。
本公开的实施例与现有技术相比,
本公开实施例的方案中,针对任意一个需要收集用户行为事件的界面交互控件,在检测到用户对交互控件的操作后,既可以通过执行预配置的收集交互控件所对应的用户行为事件的方法,得到交互控件所对应的用户行为事件,并且将收集到的用户行为事件自动上报至服务器,不需要像现有技术中需要对每一个需要收集用户行为控件手动进行埋点,有效地减少了人工手动埋点的工作量,降低了埋点错误率。
下面参考图3,其示出了适于用来实现本公开实施例的电子设备300的结构示意图,该电子设备300可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM302以及RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种上报用户行为事件的方法,其特征在于,包括:
对于任意一个需要收集用户行为事件的交互控件,在检测到用户对所述交互控件的操作后,拦截所述交互控件对应的用于实现所述交互控件所对应的交互功能的系统方法;
通过所述系统方法,执行预配置的用于收集所述交互控件所对应的用户行为事件的方法,得到所述交互控件所对应的用户行为事件;
将所述用户行为事件发送至服务器。
2.根据权利要求1所述的方法,其特征在于,所述拦截所述交互控件对应的用于实现所述交互控件所对应的交互功能的系统方法,包括:
基于所述收集所述交互控件所对应的用户行为事件的方法,对所述交互控件对应的用于实现所述交互控件所对应的交互功能的系统方法进行钩子hook操作。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
获取与所述用户行为事件关联的业务数据,并将所述业务数据发送至所述服务器。
4.根据权利要求3所述的方法,其特征在于,所述获取与所述用户行为事件关联的业务数据,包括:
通过预配置的用于获取与所述用户行为事件关联的业务数据的方法获取所述业务数据;
其中,所述用于获取与所述用户行为事件关联的业务数据的方法,是基于在所述交互控件所对应的基类的分类category扩展中添加的用于获取业务数据的方法实现的方法。
5.根据权利要求4所述的方法,其特征在于,所述用于获取业务数据的方法的初始返回值为预配置的默认值;
基于在所述交互控件所对应的基类的category扩展中添加的用于获取业务数据的方法实现,是指在所述交互控件对应的子类上实现所述用于获取业务数据的方法;
其中,在所述交互控件对应的子类上实现的所述用于获取业务数据的方法的返回值,是基于需要获取的与所述用户行为事件关联的业务数据配置的。
6.一种上报用户行为事件的装置,其特征在于,包括:
行为事件收集模块,用于对于任意一个需要收集用户行为事件的交互控件,在检测到用户对所述交互控件的操作后,拦截所述交互控件对应的用于实现所述交互控件所对应的交互功能的系统方法;以及通过所述系统方法,执行预配置的用于收集所述交互控件所对应的用户行为事件的方法,得到所述交互控件所对应的用户行为事件;
行为事件上报模块,用于将所述用户行为事件发送至服务器。
7.根据权利要求6所述的装置,其特征在于,所述行为事件收集模块拦截所述交互控件所对应的用于实现所述交互控件所对应的交互功能的系统方法时,具体用于:
基于所述收集所述交互控件所对应的用户行为事件的方法,对所述交互控件对应的用于实现所述交互控件所对应的交互功能的系统方法进行hook操作。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
业务数据获取模块,用于获取与所述用户行为事件关联的业务数据,并将所述业务数据发送至所述服务器。
9.一种电子设备,其特征在于,包括:
处理器和存储器;
所述存储器,用于存储计算机操作指令;
所述处理器,用于通过调用所述计算机操作指令,执行上述权利要求1至5中任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811626811.7A CN111382039A (zh) | 2018-12-28 | 2018-12-28 | 上报用户行为事件的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811626811.7A CN111382039A (zh) | 2018-12-28 | 2018-12-28 | 上报用户行为事件的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111382039A true CN111382039A (zh) | 2020-07-07 |
Family
ID=71220532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811626811.7A Pending CN111382039A (zh) | 2018-12-28 | 2018-12-28 | 上报用户行为事件的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111382039A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346729A (zh) * | 2019-10-28 | 2021-02-09 | 杭州衣科信息技术有限公司 | 一种基于异步容灾服务技术的iOS平台界面引擎处理方法 |
CN112764837A (zh) * | 2021-01-29 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 数据上报方法、装置、存储介质及终端 |
CN115002575A (zh) * | 2022-05-25 | 2022-09-02 | 中国平安财产保险股份有限公司 | 用户行为数据采集方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598041A (zh) * | 2013-10-30 | 2015-05-06 | 江苏华御信息技术有限公司 | 一种通过键盘控制实现游戏防沉迷的方法 |
CN106648641A (zh) * | 2016-12-09 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种iOS系统设备上多层弹框的自动管理方法和系统 |
CN106649066A (zh) * | 2016-12-16 | 2017-05-10 | 腾云天宇科技(北京)有限公司 | 一种应用中待监控控件的推荐方法及推荐服务器 |
CN106844182A (zh) * | 2017-02-07 | 2017-06-13 | 网易(杭州)网络有限公司 | 用于记录用户行为的方法、系统及移动终端 |
CN107423048A (zh) * | 2017-04-14 | 2017-12-01 | 网易乐得科技有限公司 | 数据收集的方法、装置、介质和计算设备 |
CN108108286A (zh) * | 2018-01-03 | 2018-06-01 | 上海众人网络安全技术有限公司 | 数据收集方法和装置、服务器、存储介质 |
-
2018
- 2018-12-28 CN CN201811626811.7A patent/CN111382039A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598041A (zh) * | 2013-10-30 | 2015-05-06 | 江苏华御信息技术有限公司 | 一种通过键盘控制实现游戏防沉迷的方法 |
CN106648641A (zh) * | 2016-12-09 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种iOS系统设备上多层弹框的自动管理方法和系统 |
CN106649066A (zh) * | 2016-12-16 | 2017-05-10 | 腾云天宇科技(北京)有限公司 | 一种应用中待监控控件的推荐方法及推荐服务器 |
CN106844182A (zh) * | 2017-02-07 | 2017-06-13 | 网易(杭州)网络有限公司 | 用于记录用户行为的方法、系统及移动终端 |
CN107423048A (zh) * | 2017-04-14 | 2017-12-01 | 网易乐得科技有限公司 | 数据收集的方法、装置、介质和计算设备 |
CN108108286A (zh) * | 2018-01-03 | 2018-06-01 | 上海众人网络安全技术有限公司 | 数据收集方法和装置、服务器、存储介质 |
Non-Patent Citations (1)
Title |
---|
征途LN: "iOS 控件视图基类之 UIView", 《HTTPS://BLOG.CSDN.NET/ALWAYS_ON_THE_WAY/ARTICLE/DETAILS/19558327》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346729A (zh) * | 2019-10-28 | 2021-02-09 | 杭州衣科信息技术有限公司 | 一种基于异步容灾服务技术的iOS平台界面引擎处理方法 |
CN112346729B (zh) * | 2019-10-28 | 2024-01-26 | 杭州衣科信息技术股份有限公司 | 一种基于异步容灾服务技术的iOS平台界面引擎处理方法 |
CN112764837A (zh) * | 2021-01-29 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 数据上报方法、装置、存储介质及终端 |
CN115002575A (zh) * | 2022-05-25 | 2022-09-02 | 中国平安财产保险股份有限公司 | 用户行为数据采集方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046021B (zh) | 一种页面显示方法、装置、系统、设备和存储介质 | |
CN109857506B (zh) | 引导信息的实现方法、装置、电子设备和存储介质 | |
CN109408481B (zh) | 日志采集规则的更新方法、装置、电子设备及可读介质 | |
CN110209315B (zh) | 用户界面中字符的显示方法、装置、电子设备及存储介质 | |
CN112055072A (zh) | 云端音频输入方法、装置、云系统、电子设备与存储介质 | |
CN109510881A (zh) | 文件分享的方法、装置、电子设备及可读存储介质 | |
CN111382039A (zh) | 上报用户行为事件的方法、装置、电子设备及存储介质 | |
JP2023528398A (ja) | ライブ配信ルームの作成方法、装置、電子機器及び記憶媒体 | |
CN113505302A (zh) | 支持动态获取埋点数据的方法、装置、系统及电子设备 | |
CN108462894B (zh) | 直播间广播处理方法、装置及可读存储介质 | |
CN110619100A (zh) | 用于获取数据的方法和装置 | |
CN110618768B (zh) | 信息呈现方法和装置 | |
CN111694629A (zh) | 信息展示方法、装置和电子设备 | |
CN109587553A (zh) | 音乐播放方法、装置、电子设备及计算机存储介质 | |
CN109218793A (zh) | 视频加载方法、装置、电子设备及计算机可读存储介质 | |
WO2020186927A1 (zh) | 数据分享方法、装置、设备及介质 | |
CN114995690A (zh) | 一种文档创建方法、装置、设备及存储介质 | |
CN110069186B (zh) | 显示应用的操作界面的方法和设备 | |
CN111382038B (zh) | 上报业务数据的方法、装置、电子设备及存储介质 | |
CN110619101B (zh) | 用于处理信息的方法和装置 | |
CN114979256B (zh) | 一种消息推送方法、装置、电子设备及计算机可读介质 | |
CN115237528A (zh) | 一种信息展示方法、装置、电子设备、计算机可读介质 | |
CN115563134A (zh) | 一种交互方法、装置、电子设备、计算机可读介质 | |
CN111367592B (zh) | 信息处理方法和装置 | |
CN110086880B (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 | ||
CB02 | Change of applicant information |
Country or region after: China Address after: 2nd Floor, Building 4, No. 18 North Third Ring West Road, Haidian District, Beijing, 2022 Applicant after: Tiktok Technology Co.,Ltd. Address before: 408, 4th floor, 51 Zhichun Road, Haidian District, Beijing 100086 Applicant before: BEIJING MICROLIVE VISION TECHNOLOGY Co.,Ltd. Country or region before: China |
|
CB02 | Change of applicant information |