CN110046317A - Ios应用的页面信息记录方法、终端及存储介质 - Google Patents
Ios应用的页面信息记录方法、终端及存储介质 Download PDFInfo
- Publication number
- CN110046317A CN110046317A CN201910189094.4A CN201910189094A CN110046317A CN 110046317 A CN110046317 A CN 110046317A CN 201910189094 A CN201910189094 A CN 201910189094A CN 110046317 A CN110046317 A CN 110046317A
- Authority
- CN
- China
- Prior art keywords
- page
- info
- tity
- loaded
- page info
- 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 60
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000004891 communication Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 13
- 230000003068 static effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 abstract description 6
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 238000010009 beating Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明应用于IOS软件系统数据监控领域,具体公开了一种IOS应用的页面信息记录方法、终端及存储介质,方法包括:在动态库加载完成后,通过接入的用于获取页面信息的服务项目,获取需要记录页面信息的页面标识;实时侦测用户的页面加载指令,并在侦测到所述页面加载指令后根据页面加载指令确定待加载的页面标识;判断待加载的页面标识与需要记录页面信息的页面标识是否匹配;若是,则通过接入的服务项目,记录待加载的页面加载显示过程中的页面信息。从而通过接入的获取页面信息的服务项目确定用户需要加载的页面为需要记录页面信息的页面后,再进行页面交互时系统数据的监控记录,解决了页面统计服务不够灵活的问题。
Description
技术领域
本发明涉及IOS应用领域,尤其涉及一种IOS应用的页面信息记录方法、终端及计算机可读存储介质。
背景技术
为了深度了解用户的实时需求,需要在用户使用应用程序的过程中收集用户数据进行分析。目前IOS应用程序通常使用第三方统计服务,该种第三方统计服务是通过向应用程序运营企业提供用于统计的SDK以实现统计服务,但由于SDK由第三方企业提供,无法实现自定义配置,因此现有技术在进行页面信息统计时,是基于第三方企业对SDK的默认设置,以对所有页面进行页面统计,这导致了统计数据中出现了很多对IOS应用程序运营企业没有作用的数据,页面统计服务不够灵活。
发明内容
本发明的主要目的在于提供一种IOS应用的页面信息记录方法、终端及计算机可读存储介质,旨在解决目前IOS应用统计服务不够灵活的问题。
为实现上述目的,本发明提供一种IOS应用的页面信息记录方法,所述方法包括步骤:
在动态库加载完成后,通过接入的用于获取页面信息的服务项目,获取需要记录页面信息的页面标识;
实时侦测用户的页面加载指令,并在侦测到所述页面加载指令后根据所述页面加载指令确定待加载的页面标识;
判断所述待加载的页面标识与所述需要记录页面信息的页面标识是否匹配;
当所述待加载的页面标识与所述需要记录页面信息的页面标识匹配时,通过接入的用于获取页面信息的服务项目,记录待加载的页面加载显示过程中的页面信息。
可选地,所述页面标识包括页面ID和对应的页面控制器类名;所述通过接入的用于获取页面信息的服务项目,获取需要记录页面信息的页面标识的步骤包括:
通过接入的用于获取页面信息的服务项目执行宏操作,以通过所述宏操作获取所有需要记录页面信息的页面ID和对应的页面控制器类名。
可选地,所述执行宏操作,以通过所述宏操作获取所有需要记录页面信息的页面ID和对应的页面控制器类名的步骤包括:
读取预设Mach-O文件的数据段Data-Segement中指定位置内存,以从所述指定位置内存中获取所有需要记录页面信息的页面ID和对应的页面控制器类名。
可选地,所述通过接入的用于获取页面信息的服务项目,记录待加载的页面加载显示过程中的页面信息的步骤包括:
通过所述服务项目中的Method Swizzle函数获取页面加载显示过程中页面的打开和关闭时间;
将页面的打开时间和关闭时间以及获取页面信息的页面标识设置为页面信息。
可选地,所述在动态库加载完成后,通过接入的用于获取页面信息的服务项目,获取需要记录页面信息的页面标识的步骤之前,还包括:
获取用于获取页面信息的服务项目的spec地址,并在项目执行代码中指定所述服务项目的spec地址;
配置所述服务项目的接入方式,以接入所述用于获取页面信息的服务项目。
可选地,所述配置所述服务项目的接入方式的步骤包括:
定义所述服务项目对应的变量use_lib的数值;其中,当所述变量use_lib的数值为第一数值时,表示所述服务项目的接入方式为静态库;当所述变量use__lib的数值为第二数值时,表示所述服务项目的接入方式为源码,所述第一数值与所述第二数值不同。
可选地,所述记录待加载的页面加载显示过程中的页面信息的步骤之后,还包括步骤:
将记录的页面信息发送给统计终端。
为实现上述目的,本发明还提供一种终端,应用于IOS系统,所述终端包括:
获取模块,用于在动态库加载完成后,通过接入的用于获取页面信息的服务项目,获取需要记录页面信息的页面标识;
确定模块,用于实时侦测用户的页面加载指令,并在侦测到所述页面加载指令后根据所述页面加载指令确定待加载的页面标识;
判断模块,用于判断所述待加载的页面标识与所述需要记录页面信息的页面标识是否匹配;
记录模块,用于当所述待加载的页面标识与所述需要记录页面信息的页面标识匹配时,通过接入的用于获取页面信息的服务项目,记录待加载的页面加载显示过程中的页面信息。
为实现上述目的,本发明还提供一种终端,所述终端包括:通信模块、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的IOS应用的页面信息记录方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的IOS应用的页面信息记录方法的步骤。
本发明通过在动态库加载完成后,通过接入的用于获取页面信息的服务项目,获取需要记录页面信息的页面标识;实时侦测用户的页面加载指令,并在侦测到所述页面加载指令后根据页面加载指令确定待加载的页面标识;判断待加载的页面标识与需要记录页面信息的页面标识是否匹配;若是,则通过接入的服务项目,记录待加载的页面加载显示过程中的页面信息。其中通过接入的获取页面信息的服务项目确定了用户需要加载的页面,并在之后确定用户请求加载的页面为服务项目确定的需要记录页面信息的页面后,才通过服务项目记录用户与终端进行页面交互时产生的页面信息,以得到页面数据监控记录,因此对不必要进行页面信息统计的页面进行了筛选,使页面统计服务灵活。
附图说明
图1是本发明实施例方案涉及的终端的结构示意图;
图2为本发明IOS应用的页面信息记录方法一实施例的流程示意图;
图3为本发明终端一功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参看图1,图1为本发明所提供的终端的硬件结构示意图。所述终端应用于IOS系统(苹果移动设备操作系统),可以包括通信模块10、存储器20以及处理器30等部件。所述终端可以是手机、平板电脑以及智能可穿戴设备等等。在所述终端中,所述处理器30分别与所述存储器20以及所述通信模块10连接,所述存储器20上存储有计算机程序,所述计算机程序同时被处理器30执行,所述计算机程序执行时实现下述方法实施例的步骤。
通信模块10,可通过网络与外部通讯设备连接。通信模块10可以接收外部通讯设备发出的请求,还可以发送请求、指令及信息至所述外部通讯设备。所述外部通讯设备可以是其他控制终端、服务器和/或专用的数据监控平台。还需要说明的是,终端在与外部通讯设备进行交互时,可以基于IOS应用执行。外部通讯设备也可以收集终端在运行IOS应用时的用户数据。
存储器20,可用于存储软件程序以及各种数据。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如接入用于获取页面信息的服务项目)等;存储数据区可包括数据库,存储数据区可存储根据终端的使用所创建的数据或信息等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器30,是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器20内的软件程序和/或模块,以及调用存储在存储器20内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。处理器30可包括一个或多个处理单元;可选地,处理器30可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器30中。
尽管图1未示出,但上述终端还可以包括电路控制模块,用于与电源连接,保证其他部件的正常工作。上述终端还可以包括显示模块,用于提取存储器20中的数据,并显示出终端的系统界面以及应用的交互界面。本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于上述硬件结构,提出本发明方法各个实施例。
参见图2,在本发明IOS应用的页面信息记录方法的一实施例中,包括:
步骤S10,在动态库加载完成后,通过接入的用于获取页面信息的服务项目,获取需要记录页面信息的页面标识;
动态库加载完成一般是在IOS应用启动时完成的,即在IOS成功启动后,处理器会通过已接入到IOS应用中的服务项目获取需要记录页面信息的页面标识,每个页面标识对应唯一一个IOS应用的页面,以确定哪些页面在IOS应用使用过程中需要被记录页面信息。也就是说,如果某个页面标识不在需要记录页面信息的页面标识内,则表示无需记录其对应的页面信息。其中用于获取页面信息的服务项目,可以通过在IOS应用的业务执行代码中指定地址的形式接入。
需要说明的是,本实施例中获取页面信息的服务项目类似于功能代码的集合,可以包括确定需要记录页面信息的页面的程序,以及在需要记录页面信息的页面被用户触发打开直至消逝之前的,记录页面内容的程序。页面信息包括了能够区分不同页面的页面标识以及对应的页面内容(即页面事件信息)。
步骤S20,实时侦测用户的页面加载指令,并在侦测到所述页面加载指令后根据所述页面加载指令确定待加载的页面标识;
用户可以触控与终端连接的或者终端内置的触控模块,触控模块在接收到用户触控所产生的触控轨迹时,可以将用户的触控轨迹转换为对应的触控指令,并将触控指令发送给处理器,处理器可以区分触控指令的类型,当触控指令的类型是页面加载指令时,处理器认为侦测到了用户的页面加载指令,可以以此确定用户请求打开的页面的页面标识。
步骤S30,判断所述待加载的页面标识与所述需要记录页面信息的页面标识是否匹配;若是,则执行步骤S40;
可以理解地是,通过服务项目获取的需要记录页面信息的页面标识可以记录有所有需要记录页面信息的页面标识,可以将用户请求打开的当前待加载的页面标识作为关键词,查找需要记录页面信息的页面标识中是否包括该关键词,如果包括该关键词即表示待加载的页面标识与需要记录记录页面信息的页面标识匹配。可选地,还可以将通过服务项目获取的页面标识对应到每个页面的页面预览图片中,然后将所有页面预览图片存储在存储器中,在与待加载的页面标识进行匹配时,可以通过待加载的页面预加载页面图片,然后通过所有页面预览图片与预加载页面图片进行匹配确定是否匹配。
还需要说明的是,当侦测到的页面加载指令和待加载的页面标识之间不匹配时,可以不执行任何操作,也可以收集页面标记,所述页面标记例如可以包括页面内容相关联的业务标记。
步骤S40,通过接入的用于获取页面信息的服务项目,记录待加载的页面加载显示过程中的页面信息。
接入的服务项目可以通过记录页面内容的程序记录页面从被用户触发打开直至消逝之前的页面内容,其中页面内容可以包括页面打开和关闭时间,页面相关联的业务标记以及页面中控件,例如按钮,的触控次数等等。在收集完一个页面或多个页面对应的页面内容后,可以控制IOS应用的SDK(Software Development Kit,软件开发工具包)将每个页面内容的页面标识以及对应的页面内容作为记录的页面信息发送给统计终端,其中统计终端可以是服务器,可以是计算机设备,也可以是专用的页面信息的记录的终端设备。终端设备可以将页面信息交由预先配置的统计模块处理统计,从而进一步分析用户行为习惯,帮助找到页面弊病。
本实施例通过在动态库加载完成后,通过接入的用于获取页面信息的服务项目,获取需要记录页面信息的页面标识;实时侦测用户的页面加载指令,并在侦测到所述页面加载指令后根据页面加载指令确定待加载的页面标识;判断待加载的页面标识与需要记录页面信息的页面标识是否匹配;若是,则通过接入的服务项目,记录待加载的页面加载显示过程中的页面信息。其中通过接入的获取页面信息的服务项目确定了用户需要加载的页面,并在之后确定用户请求加载的页面为服务项目确定的需要记录页面信息的页面后,才通过服务项目记录用户与终端进行页面交互时产生的页面信息,以得到页面数据监控记录,因此对不必要进行页面信息统计的页面进行了筛选,使页面统计服务灵活。
进一步地,在另一实施例中,上述页面标记包括页面ID和对应的页面控制器类名。所述步骤S10包括:
步骤S11,在动态库加载完成后,通过接入的用于获取页面信息的服务项目执行宏操作,以通过所述宏操作获取所有需要记录页面信息的页面ID和对应的页面控制器类名。
在接入的服务项目中设置了用于获取页面ID和对应的页面控制器类名的宏,例如可以将宏操作的名称定义为“PAURLMap”,该宏操作用于预先确定哪些页面的页面信息需要被记录,通过宏操作执行可以方便对数据进行批量处理。还需要说明的是,页面当前显示的页面可以根据页面控制器类名和页面ID唯一确定。
其中宏操作的设置包括定义一个在动态库加载完后执行的回调方法,该回调方法通过“_dyld_register_func_for_add_image()”注册,同时由“__attribute__((constructor))”标注修饰,可以使得该回调方法在动态库加载完成后执行,在IOS应用的main函数(主函数)之前执行。其中回调方法可以用于从IOS应用的Mach-O文件中读取Data-Segement(数据段)的Section Name(数据段名)处的内存,Section Name处的内存是IOS应用在开发时预先指定好位置的,以从中获得所需记录页面信息的页面控制器类名和页面ID,然后将每个页面控制器类名和页面ID对应写入每个页面对应的页面执行代码的标注处。需要说明的是,上述Mach-O文件是一种内核转储的文件格式,可以是IOS应用中的可执行文件,目标代码,动态库等等,而现有技术在进行页面ID和页面控制器类名配置时通常采用中心化统一配置的PLIST文件,但随着IOS应用的迭代,如果移除掉了某些页面,页面对应的页面ID仍然会残留在统一配置的PLIST配置文件中,无法自动移除。本方案通过在IOS应用中随处可见的Mach-O文件中获得页面控制器类名和页面ID,并将其保存在业务执行代码的标注处,当IOS应用迭代时,一旦页面删除了,页面控制器的类名和页面ID会随着代码的删除一同删除,相比现有技术不需要进行中心化的PLIST文件的配置和维护,方便自动更新移除。通过宏操作的设置也方便批量处理。
进一步地,在又一实施例中,所述步骤S40包括:
步骤S41,通过所述服务项目中的Method Swizzle函数获取页面加载显示过程中页面的打开和关闭时间;
Method Swizzle函数为方法交换函数,可以通过服务项目中的Method Swizzle函数预先将UINavigation Controller(用户界面导航控制器)中的push方法替换为pastats_push方法,其中push方法对应用户打开页面的操作,被替换的pastats_push方法除了完成原有的功能外,还注入了一个代码块block,该代码块用于实现页面内容(或称为页面事件信息)的记录。此外,还通过Method Swizzle函数预先将UINavigation Controller中的viewDidDisapperar替换为viewDidDisappear加上在页面消逝前执行方法,具体执行方法为执行之前注入的代码块。当push方法执行,对应于终端显示模块中用户请求打开的页面加载打开,同时注入了一个代码块,当页面消逝时,在push方法时注入的代码块执行,以记录页面事件信息。
需要说明的是,代码块是Objective-C语言对于闭包的实现,在本方案中用于包裹执行方法实现页面事件信息记录,且block在框架层实现,对于业务开发人员和用户没有使用上的影响。其中block记录的信息可以包括用户打开和关闭页面的时间。
步骤S42,将页面的打开时间和关闭时间以及获取页面信息的页面标识设置为页面信息。
可选地,还可以预先在记录页面信息的服务项目的block中注入属性字典,该属性字典可以包括开发人员事前定义的接入的当前页面的唯一业务标识。例如需要记录页面信息的页面为租房售房相关的IOS应用程序中的楼盘相关页面,则可以在block中增加该楼盘相关的唯一业务标识。此外,还可以调用暴露给外部使用的trackEvent接口并提供业务所需的参数,获取用户点击按钮控件的次数,由于此为常用的技术手段,本领域技术人员可以参考现有技术执行,在此不作赘述。
本方案通过框架层面方法交换函数的执行,不影响开发人员和用户的实际使用,同时接入的服务项目中本身已包含有读取mach-O文件内存以及获取页面事件内容的项目代码,开发人员只需指定地址和声明页面控制器类名和页面ID等操作即可简单完成配置,省去了重复开发时间。此外,block也支持定制化的页面参数信息获取,相比第三方企业提供的SDK支持定制化配置,符合自身应用的定制化配置需求。
在其他实施例中,在IOS应用配置阶段,可以获取并指定用于获取页面信息的服务项目的spec地址,接着在代码或配置文件中的页面控制器类的声明处声明页面ID和页面控制器类名。以宏操作名为PAURLMap为例继续进行举例说明,声明的格式为@PAURLMap(页面ID,类名)。然后配置所述服务项目的接入方式,以完成所述用于获取页面信息的服务项目的接入。本方案中给出了如何接入用于获取页面信息的服务项目的方法,开发人员在配置已开发完成的用于获取页面信息的服务项目时,只需要控制IOS应用框架执行上述简单操作即可,节约了开发时间,同时相比第三方企业提供的SDK更能实现定制化定向配置。
进一步地,现有技术中第三方企业提供统计服务项目是直接提供SDK,而本方案中配置服务项目的接入方式可以分为两种,可以通过在podspec文件中定义use_lib变量,以指定接入方式是源码还是二进制静态库。其中,当所述变量use_lib的数值为第一数值时,表示所述服务项目的接入方式为静态库;当所述变量use__lib的数值为第二数值时,表示所述服务项目的接入方式为源码,所述第一数值与所述第二数值不同。一般可以将use_lib变量指定为1时,认为指定的接入方式为二进制静态库,将use_lib变量指定为0时,认为指定的接入方式为源码形式。
若使用静态库的形式,可以利用prepare__command命令以驱动脚本使用podpackage创建静态库,或者针对该使用的工程项目生成对应工程的静态库文件,该静态库文件为.cn格式,同时还会配置podspec文件中的vendored_librarie信息,其中配置的vendored_librarie是一个属性名,vendored_librarie信息用于指定生成的静态库为librarie。
若使用源码的形式接入,后续想要将接入方式由源码切换为接入静态库时,可以在pod install(即通过Cocoapods安装接入统计服务)之前将use__lib变量指定为1即可,即可实现源码和SDK的切换。
需要说明的是,上述podspec文件对应统计服务的一个具体版本,它包括有关应从何处获取源、使用什么文件、要应用的构建设置以及其他一般元数据(如其名称、版本和描述)的详细信息。
本方案相比现有技术提供第三方SDK进行页面信息的统计,能够支持源码和静态库之间的任意切换,在IOS应用使用过程中,可以方便定位统计数据的缺陷,对开发人员十分友好,灵活方便。
本发明还提出一种终端,参见图3,所述终端包括:
获取模块10,用于在动态库加载完成后,通过接入的用于获取页面信息的服务项目,获取需要记录页面信息的页面标识;
确定模块20,用于实时侦测用户的页面加载指令,并在侦测到所述页面加载指令后根据所述页面加载指令确定待加载的页面标识;
判断模块30,用于判断所述待加载的页面标识与所述需要记录页面信息的页面标识是否匹配;
记录模块40,用于当所述待加载的页面标识与所述需要记录页面信息的页面标识匹配时,通过接入的用于获取页面信息的服务项目,记录待加载的页面加载显示过程中的页面信息。
可选地,在另一实施例中,所述页面标识包括页面ID和对应的页面控制器类名;
所述获取模块,还用于通过接入的用于获取页面信息的服务项目执行宏操作,以通过所述宏操作获取所有需要记录页面信息的页面ID和对应的页面控制器类名。
可选地,在又一实施例中,所述获取模块,还用于读取预设Mach-O文件的数据段Data-Segement中指定位置内存,以从所述指定位置内存中获取所有需要记录页面信息的页面ID和对应的页面控制器类名。
可选地,在又一实施例中,所述记录模块包括:
获取单元,用于通过所述服务项目中的Method Swizzle函数获取页面加载显示过程中页面的打开和关闭时间;
设置单元,用于将页面的打开时间和关闭时间以及获取页面信息的页面标识设置为页面信息。
可选地,在又一实施例中,所述终端还包括配置模块;其中,
所述获取模块,还用于获取用于获取页面信息的服务项目的spec地址,并在项目执行代码中指定所述服务项目的spec地址;
所述配置模块,用于配置所述服务项目的接入方式,以接入所述用于获取页面信息的服务项目。
可选地,在又一实施例中,所述配置模块包括:
定义单元,用于定义所述服务项目对应的变量use_lib的数值;其中,当所述变量use_lib的数值为第一数值时,表示所述服务项目的接入方式为静态库;当所述变量use__lib的数值为第二数值时,表示所述服务项目的接入方式为源码,所述第一数值与所述第二数值不同。
可选地,在又一实施例中,所述终端包括:
发送模块,用于将记录的页面信息发送给统计终端。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序。所述计算机可读存储介质可以是图1的服务器中的存储器20,也可以是如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干指令用以使得一台具有处理器的终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者服务端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者服务端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者服务端中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种IOS应用的页面信息记录方法,其特征在于,所述方法包括步骤:
在动态库加载完成后,通过接入的用于获取页面信息的服务项目,获取需要记录页面信息的页面标识;
实时侦测用户的页面加载指令,并在侦测到所述页面加载指令后根据所述页面加载指令确定待加载的页面标识;
判断所述待加载的页面标识与所述需要记录页面信息的页面标识是否匹配;
当所述待加载的页面标识与所述需要记录页面信息的页面标识匹配时,通过接入的用于获取页面信息的服务项目,记录待加载的页面加载显示过程中的页面信息。
2.根据权利要求1所述的IOS应用的页面信息记录方法,其特征在于,所述页面标识包括页面ID和对应的页面控制器类名;所述通过接入的用于获取页面信息的服务项目,获取需要记录页面信息的页面标识的步骤包括:
通过接入的用于获取页面信息的服务项目执行宏操作,以通过所述宏操作获取所有需要记录页面信息的页面ID和对应的页面控制器类名。
3.根据权利要求2所述的IOS应用的页面信息记录方法,其特征在于,所述执行宏操作,以通过所述宏操作获取所有需要记录页面信息的页面ID和对应的页面控制器类名的步骤包括:
读取预设Mach-O文件的数据段Data-Segement中指定位置内存,以从所述指定位置内存中获取所有需要记录页面信息的页面ID和对应的页面控制器类名。
4.根据权利要求1所述的IOS应用的页面信息记录方法,其特征在于,所述通过接入的用于获取页面信息的服务项目,记录待加载的页面加载显示过程中的页面信息的步骤包括:
通过所述服务项目中的Method Swizzle函数获取页面加载显示过程中页面的打开和关闭时间;
将页面的打开时间和关闭时间以及获取页面信息的页面标识设置为页面信息。
5.根据权利要求1所述的IOS应用的页面信息记录方法,其特征在于,所述在动态库加载完成后,通过接入的用于获取页面信息的服务项目,获取需要记录页面信息的页面标识的步骤之前,还包括:
获取用于获取页面信息的服务项目的spec地址,并在项目执行代码中指定所述服务项目的spec地址;
配置所述服务项目的接入方式,以接入所述用于获取页面信息的服务项目。
6.根据权利要求5所述的IOS应用的页面信息记录方法,其特征在于,所述配置所述服务项目的接入方式的步骤包括:
定义所述服务项目对应的变量use_lib的数值;其中,当所述变量use_lib的数值为第一数值时,表示所述服务项目的接入方式为静态库;当所述变量use__lib的数值为第二数值时,表示所述服务项目的接入方式为源码,所述第一数值与所述第二数值不同。
7.根据权利要求1-6任一项所述的IOS应用的页面信息记录方法,其特征在于,所述记录待加载的页面加载显示过程中的页面信息的步骤之后,还包括步骤:
将记录的页面信息发送给统计终端。
8.一种终端,其特征在于,应用于IOS系统,所述终端包括:
获取模块,用于在动态库加载完成后,通过接入的用于获取页面信息的服务项目,获取需要记录页面信息的页面标识;
确定模块,用于实时侦测用户的页面加载指令,并在侦测到所述页面加载指令后根据所述页面加载指令确定待加载的页面标识;
判断模块,用于判断所述待加载的页面标识与所述需要记录页面信息的页面标识是否匹配;
记录模块,用于当所述待加载的页面标识与所述需要记录页面信息的页面标识匹配时,通过接入的用于获取页面信息的服务项目,记录待加载的页面加载显示过程中的页面信息。
9.一种终端,其特征在于,所述终端包括:通信模块、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7任一项所述的IOS应用的页面信息记录方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的IOS应用的页面信息记录方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910189094.4A CN110046317A (zh) | 2019-03-13 | 2019-03-13 | Ios应用的页面信息记录方法、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910189094.4A CN110046317A (zh) | 2019-03-13 | 2019-03-13 | Ios应用的页面信息记录方法、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110046317A true CN110046317A (zh) | 2019-07-23 |
Family
ID=67273703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910189094.4A Pending CN110046317A (zh) | 2019-03-13 | 2019-03-13 | Ios应用的页面信息记录方法、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110046317A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625274A (zh) * | 2020-05-26 | 2020-09-04 | 北京达佳互联信息技术有限公司 | 页面依赖确定方法、装置、电子设备和存储介质 |
CN112181580A (zh) * | 2020-10-19 | 2021-01-05 | 中国工商银行股份有限公司 | 应用主题切换方法、装置及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7739253B1 (en) * | 2005-04-21 | 2010-06-15 | Sonicwall, Inc. | Link-based content ratings of pages |
CN103226568A (zh) * | 2013-03-12 | 2013-07-31 | 北京百度网讯科技有限公司 | 一种用于爬取页面的方法和设备 |
CN104090908A (zh) * | 2014-06-06 | 2014-10-08 | 微梦创科网络科技(中国)有限公司 | 统计页面组的平均停留时间、网站内容推广的方法和装置 |
CN107800757A (zh) * | 2017-03-28 | 2018-03-13 | 平安壹钱包电子商务有限公司 | 用户行为记录方法及装置 |
CN107870933A (zh) * | 2016-09-27 | 2018-04-03 | 北京京东尚科信息技术有限公司 | 统计安卓应用页面浏览行为的方法、装置及系统 |
CN109255093A (zh) * | 2018-10-24 | 2019-01-22 | 北京三快在线科技有限公司 | 行为数据处理方法、装置、电子设备及计算机可读介质 |
-
2019
- 2019-03-13 CN CN201910189094.4A patent/CN110046317A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7739253B1 (en) * | 2005-04-21 | 2010-06-15 | Sonicwall, Inc. | Link-based content ratings of pages |
CN103226568A (zh) * | 2013-03-12 | 2013-07-31 | 北京百度网讯科技有限公司 | 一种用于爬取页面的方法和设备 |
CN104090908A (zh) * | 2014-06-06 | 2014-10-08 | 微梦创科网络科技(中国)有限公司 | 统计页面组的平均停留时间、网站内容推广的方法和装置 |
CN107870933A (zh) * | 2016-09-27 | 2018-04-03 | 北京京东尚科信息技术有限公司 | 统计安卓应用页面浏览行为的方法、装置及系统 |
CN107800757A (zh) * | 2017-03-28 | 2018-03-13 | 平安壹钱包电子商务有限公司 | 用户行为记录方法及装置 |
CN109255093A (zh) * | 2018-10-24 | 2019-01-22 | 北京三快在线科技有限公司 | 行为数据处理方法、装置、电子设备及计算机可读介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625274A (zh) * | 2020-05-26 | 2020-09-04 | 北京达佳互联信息技术有限公司 | 页面依赖确定方法、装置、电子设备和存储介质 |
CN111625274B (zh) * | 2020-05-26 | 2024-04-30 | 北京达佳互联信息技术有限公司 | 页面依赖确定方法、装置、电子设备和存储介质 |
CN112181580A (zh) * | 2020-10-19 | 2021-01-05 | 中国工商银行股份有限公司 | 应用主题切换方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10705942B1 (en) | Simulated testing of API | |
CN108293081B (zh) | 通过用户界面事件的程序重放深度链接到移动应用状态 | |
CN107925696B (zh) | 用于识别、索引和导航至移动应用的深度状态的系统和方法 | |
CN106844181B (zh) | 用于记录用户行为的方法、系统及移动终端 | |
CN106126424B (zh) | 一种脚本可视化的自动化测试方法、装置和移动终端 | |
KR20190050993A (ko) | 이관 시스템 및 방법 업데이트 | |
CN106415480A (zh) | 用于安装在移动设备上的用于允许对该移动设备进行远程配置的高速应用 | |
CN108182129B (zh) | 一种基于移动终端镜像还原数据信息的数字取证系统及方法 | |
Whiting et al. | Creating an iPhone application for collecting continuous ABC data | |
US11741002B2 (en) | Test automation systems and methods using logical identifiers | |
CN105740144A (zh) | 一种Android移动终端的自动化测试方法及系统 | |
CN100507871C (zh) | 嵌入式文件系统的测试方法及系统 | |
CN110069264A (zh) | 构建资源包的方法、装置、计算机设备和存储介质 | |
CN108763042A (zh) | 一种基于python的云服务器性能数据采集方法及装置 | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN111538659B (zh) | 业务场景的接口测试方法、系统、电子设备和存储介质 | |
CN110046317A (zh) | Ios应用的页面信息记录方法、终端及存储介质 | |
CN111666201A (zh) | 回归测试方法、装置、介质及电子设备 | |
JP2002202899A (ja) | デバッガの機能拡張方法、デバッグシステム及びデバッガプログラムを記録した記録媒体 | |
CN106484779B (zh) | 文件操作方法及装置 | |
CN109558187A (zh) | 一种用户界面渲染方法及装置 | |
CN104956326A (zh) | 基于抽象测试用户控制的测试脚本创建 | |
CN112241373A (zh) | 自动化测试方法、测试装置、处理器和测试系统 | |
Sams | Selenium Essentials | |
US20200133468A1 (en) | Method for adaptively adjusting amount of information in user interface design and electronic device |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190723 |