IOS平台上app视图切换的监测方法和装置的制作方法

文档序号:6377946阅读:202来源:国知局
专利名称:IOS平台上app视图切换的监测方法和装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种IOS平台上app视图切换的监测方法和
>J-U ρ α装直。
背景技术
在通信领域中,监测app (application,第三方应用程序)的视图切换,对于分析用户行为很重要,可以根据监测到的数据分析出用户的使习惯,兴趣趋向等,进而帮助开发者有目的性的改进app。
现有的IOS平台的app进行视图切换时,仅仅通知视图的具体实现类,即app开发者可以接收到视图切换事件通知,但其他类对象无法得知这一消息,因此进行app视图切换行为监测的通常做法是app开发者接收到视图切换的通知后调用相关检测api(Application Programming Interface,应用程序编程接口),记录视图切换。然而这种方法存在如下缺席由于视图较多,为了监测app的所有视图切换,开发者要而加入大量重复的代码,工作量大,容易遗漏,容易出错,稍稍有一点遗漏或出错,都将严重影响监测质量。针对相关技术中监测app视图切换时开发者要而加入大量重复的代码而导致的工作量大、容易遗漏的问题,目前尚未提出有效的解决方案。

发明内容
本发明提供了一种IOS平台上app视图切换的监测方法和装置,以解决相关技术中监测app视图切换时开发者要而加入大量重复的代码而导致的工作量大、容易遗漏的问题。根据本发明的一个方面,提供了一种IOS平台上app视图切换的监测方法,该方法包括获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体,其中,第一方法体包括如下逻辑调用视图进入的api自身和记录视图进入时间;获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体,其中,第二方法体包括如下逻辑调用视图离开的api自身和记录视图离开时间;执行获取到的第一方法体和第二方法体。进一步地,获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体之前,方法包括为视图进入的api所在的类创建第一分类;在创建的第一分类中创建第一方法,其中,第一方法包含如下逻辑递归调用自身和记录视图进入时间;将第一方法的方法体和视图进入的api的方法体进行交换。进一步地,在获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体之前,方法包括为视图离开的api所在的类创建第二分类;在创建的第二分类中创建第二方法,其中,第二方法包含如下逻辑递归调用自身和记录视图离开时间;将第二方法的方法体和视图离开的api的方法体进行交换。进一步地,在为视图进入的api所在的类创建第一分类之前,方法还包括在IOS系统的api文档中查找到视图进入的api和视图离开的api所对应的信息;根据查找到的信息确定视图进入的api的名称和该视图进入的api所在的类以及视图离开的api的名称和该视图离开的api所在的类。进一步地,将第一方法的方法体和视图进入的api的方法体进行交换的步骤包括确定用于指向第一方法的第一指针;确定用于指向视图进入的api的第二指针;将确定的第一指针地址和确定的第二指针交换。进一步地,将第二方法的方法体和视图离开的api的方法体进行交换的步骤包括确定用于指向第二方法的第三指针;确定用于指向视图离开的api的第四指针;将确定的第三指针地址和确定的第四指针交换。根据本发明的另一方面,提供了一种IOS平台上app视图切换的监测装置,该装置包括第一获取单元,用于获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体,其中,第一方法体包括如下逻辑调用视图进入的api自身和记录视图进入时间;第二获取单元,用于获取当前所需执行的视图切换过程中视图离开的api指向的第二 方法体,其中,第二方法体包括如下逻辑调用视图离开的api自身和记录视图离开时间;执行单元,用于执行获取到的第一方法体和第二方法体。进一步地,上述装置还包括第一创建单元,用于在获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体之前,为视图进入的api所在的类创建第一分类;第二创建单元,用于在获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体之前,在创建的第一分类中创建第一方法,其中,第一方法包含如下逻辑递归调用自身和记录视图进入时间;第一交换单元,用于在获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体之前,将第一方法的方法体和视图进入的api的方法体进行交换。进一步地,上述装置还包括第三创建单元,用于在获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体之前,为视图离开的api所在的类创建第二分类;第四创建单元,用于在获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体之前,在创建的第二分类中创建第二方法,其中,第二方法包含如下逻辑递归调用自身和记录视图离开时间;第二交换单元,用于在获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体之前,将第二方法的方法体和视图离开的api的方法体进行交换。进一步地,第一交换单元包括第一确定模块,用于确定指向第一方法的第一指针;第二确定模块,用于确定指向视图进入的api的第二指针;第一交换模块,用于将确定的第一指针地址和确定的第二指针交换。进一步地,第二交换单元包括第三确定模块,用于确定指向第二方法的第三指针;第四确定模块,用于确定指向视图离开的api的第四指针;第二交换模块,用于将确定的第三指针地址和确定的第四指针交换。通过本发明,将所需监控的视图切换过程中视图进入的api的指针和视图离开的api的指针设置为指向自定义的方法,其中,自定义的方法包含有如下逻辑调用该视图切换的api自身的逻辑和记录视图切换的过程信息,当系统方法api被调用时,由于该api的指针指向自定义的方法,则执行自定义的方法中的逻辑,调用该api自身的逻辑并记录视图切换的过程信息,在执行视图切换的同时,实现对视图切换的监测,这种视图切换的监测方法无需重写目标方法,解决了相关技术中IOS平台上监测视图切换时因加入量代码而导致的工作量大、容易出错的问题,减小捕获系统消息的工作量,进一步地,提高了准确性。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I是根据本发明实施例的IOS平台上app视图切换的监测方法的一种优选的流程图;图2是根据本发明实施例的IOS平台上app视图切换的监测装置的一种优选的结构框图;图3是根据本发明实施例的IOS平台上app视图切换的监测装置的另一种优选的 结构框图;图4是根据本发明实施例的IOS平台上app视图切换的监测装置的又一种优选的结构框图;图5是根据本发明实施例的IOS平台上app视图切换的监测装置的又一种优选的结构框图;以及图6是根据本发明实施例的IOS平台上app视图切换的监测装置的又一种优选的结构框图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例I在本发明优选的实施例中提供了一种IOS平台上app视图切换的监测方法,图I为上述方法的一种优选的流程图,如图I所示,该方法包括如下步骤S102,获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体,其中,第一方法体包括如下逻辑调用视图进入的api自身和记录视图进入时间;S104,获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体,其中,第二方法体包括如下逻辑调用视图离开的api自身和记录视图离开时间;S106,执行获取到的第一方法体和第二方法体。具体来说,当上述视图切换的api方法被调用时,由于该api的指针指向自定义的方法,则执行自定义的方法,即调用该api自身的逻辑,并记录视图切换的过程信息。优选的,记录的过程信息包括但不限于视图进入时间点,视图离开时间点和视图停留时间,通过记录视图切换过程中进入视图的时间和离开视图的时间计算出出视图的停留时间。在上述优选的实施方式中,将所需监控的视图切换过程中视图进入的api的指针和视图离开的api的指针设置为指向自定义的方法,其中,自定义的方法包含有如下逻辑调用该视图切换的api自身的逻辑和记录视图切换的过程信息,当系统方法api被调用时,由于该api的指针指向自定义的方法,则执行自定义的方法中的逻辑,调用该api自身的逻辑并记录视图切换的过程信息,在执行视图切换的同时,实现对视图切换的监测,这种视图切换的监测方法无需重写目标方法,解决了相关技术中IOS平台上监测视图切换时因加入量代码而导致的工作量大、容易出错的问题,减小捕获系统消息的工作量,进一步地,提高了准确性。在本发明的一个优选的实施方式中,还对上述方法进行了进一步地优化,具体地,在获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体之前,该方法包括为视图进入的api所在的类创建第一分类;在创建的第一分类中创建第一方法,其中,第一方法包含如下逻辑递归调用自身和记录视图进入时间;将第一方法的方法体和视图进入的api的方法体进行交换。在获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体之前,该方法包括为视图离开的api所在的类创建第二分类;在创建的第二分类中创建第二方法,其中,第二方法包含如下逻辑递归调用自身和记录视图离开时间;将第二方法的方法体和视图离开的api的方法体进行交换。上述优选的技术方案的实施,通过交换自定义方法的方法体和视图切换的api中的方法体,实现在视图切换的api被调用时,执行调用该api自身并视图切换的过程信息,进一步地,完成对视图切换的监控。
在本发明的一个优选的实施方式中,还对上述方法进行了优化,具体来说,在为视图进入的api所在的类创建第一分类之前,方法还包括在IOS系统的api文档中查找到视图进入的api和视图离开的api所对应的信息;根据查找到的信息确定视图进入的api的名称和该视图进入的api所在的类以及视图离开的api的名称和该视图离开的api所在的类。此外,本发明还提供一种将第一方法的方法体和视图进入的api的方法体进行交换的方法和将第二方法的方法体和视图离开的api的方法体进行交换的方法,具体地,将第一方法的方法体和视图进入的api的方法体进行交换的步骤包括确定用于指向第一方法的第一指针;确定用于指向视图进入的api的第二指针;将确定的第一指针地址和确定的第二指针交换。将第二方法的方法体和视图离开的api的方法体进行交换的步骤包括确定用于指向第二方法的第三指针;确定用于指向视图离开的api的第四指针;将确定的第三指针地址和确定的第四指针交换。通过交换指针,即可达到交换自定义方法的方法体和视图切换过程中api的方法体,操作简单。实施例2基于实施例I中的IOS平台上app视图切换的监测方法,本实施例中提供了一种IOS平台上app视图切换的监测装置,图2为该装置的一种优选的结构框图,如图2所示,该装置包括第一获取单元202,用于获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体,其中,第一方法体包括如下逻辑调用视图进入的api自身和记录视图进入时间;第二获取单元204,用于获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体,其中,第二方法体包括如下逻辑调用视图离开的api自身和记录视图离开时间;执行单元206,与第一获取单元202和第二获取单元204连接,用于执行获取到的第一方法体和第二方法体。具体来说,当上述视图切换的api方法被调用时,由于该api的指针指向自定义的方法,则执行自定义的方法,即调用该api自身的逻辑,并记录视图切换的过程信息。优选的,记录的过程信息包括但不限于视图进入时间点,视图离开时间点和视图停留时间,通过记录视图切换过程中进入视图的时间和离开视图的时间计算出出视图的停留时间。在本发明的一个实施方式中,还对上述装置进行了优化,具体地,如图3所示,该装置还包括第一创建单元302,用于在获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体之前,为视图进入的api所在的类创建第一分类;第二创建单元304,与第一创建单元302连接,用于在获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体之前,在创建的第一分类中创建第一方法,其中,第一方法包含如下逻辑递归调用自身和记录视图进入时间;第一交换单元306,与第二创建单元304连接,用于在获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体之前,将第一方法的方法体和视图进入的api的方法体进行交换。在本发明的一个实施方式中,还对上述装置进行了优化,具体地,如图4所示,该装置还包括第三创建单元402,用于在获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体之前,为视图进入的api所在的类创建第二分类;第四创建单元404, 与第三创建单元402连接,用于在获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体之前,在创建的第二分类中创建第二方法,其中,第二方法包含如下逻辑 递归调用自身和记录视图离开时间;第二交换单元406,与第四创建单元404连接,用于在获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体之前,将第二方法的方法体和视图离开的api的方法体进行交换。优选的,上述装置还包括查找单元,用于在为视图进入的api所在的类创建第一分类之前,在IOS系统的api文档中查找到视图进入的api和视图离开的api所对应的信息;确定单元,用于根据查找到的信息确定视图进入的api的名称和该视图进入的api所在的类以及视图离开的api的名称和该视图离开的api所在的类。此外,本发明还提供一种将第一方法的方法体和视图进入的api的方法体进行交换的方法具体地,如图5所不,第一交换单兀306包括第一确定模块502,用于确定指向第一方法的第一指针;第二确定模块504,用于确定指向视图进入的api的第二指针;第一交换模块506,分别与第一确定模块502和第二确定模块504连接,用于将确定的第一指针地址和确定的第二指针交换。本发明还提供一种将第二方法的方法体和视图离开的api的方法体进行交换的方法,具体地,如图6所示,第二交换单元406包括第三确定模块602,用于确定指向第二方法的第三指针;第四确定模块604,用于确定指向视图离开的api的第四指针;第二交换模块,与第三确定模块602和第四确定模块604连接,用于将确定的第三指针地址和确定的第四指针交换。上述优选的实施方式中,通过交换指针,即可达到交换自定义方法的方法体和视图切换过程中api的方法体,操作简单。从以上的描述中,可以看出,本发明的实施例将所需监控的视图切换过程中视图进入的api的指针和视图离开的api的指针设置为指向自定义的方法,其中,自定义的方法包含有如下逻辑调用该视图切换的api自身的逻辑和记录视图切换的过程信息,当系统方法api被调用时,由于该api的指针指向自定义的方法,则执行自定义的方法中的逻辑,调用该api自身的逻辑并记录视图切换的过程信息,在执行视图切换的同时,实现对视图切换的监测,这种视图切换的监测方法无需重写目标方法,解决了相关技术中IOS平台上监测视图切换时因加入量代码而导致的工作量大、容易出错的问题,减小捕获系统消息的工作量,进一步地,提高了准确性。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。·
权利要求
1.一种IOS平台上app视图切换的监测方法,其特征在于,包括 获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体,其中,所述第一方法体包括如下逻辑调用所述视图进入的api自身和记录所述视图进入时间; 获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体,其中,所述第二方法体包括如下逻辑调用所述视图离开的api自身和记录所述视图离开时间; 执行获取到的所述第一方法体和所述第二方法体。
2.根据权利要求I所述的方法,其特征在于,在获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体之前,所述方法包括 为所述视图进入的api所在的类创建第一分类; 在创建的所述第一分类中创建第一方法,其中,所述第一方法包含如下逻辑递归调用自身和记录所述视图进入时间; 将所述第一方法的方法体和所述视图进入的api的方法体进行交换。
3.根据权利要求2所述的方法,其特征在于,在获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体之前,所述方法包括 为所述视图离开的api所在的类创建第二分类; 在创建的所述第二分类中创建第二方法,其中,所述第二方法包含如下逻辑递归调用自身和记录所述视图离开时间; 将所述第二方法的方法体和所述视图离开的api的方法体进行交换。
4.根据权利要求3所述的方法,其特征在于,在为所述视图进入的api所在的类创建第一分类之前,所述方法还包括 在IOS系统的api文档中查找到所述视图进入的api和所述视图离开的api所对应的信息; 根据查找到的信息确定所述视图进入的api的名称和该视图进入的api所在的类以及视图离开的api的名称和该视图离开的api所在的类。
5.根据权利要求2至4任一项所述的方法,其特征在于,将所述第一方法的方法体和所述视图进入的api的方法体进行交换的步骤包括 确定用于指向所述第一方法的第一指针; 确定用于指向所述视图进入的api的第二指针; 将确定的所述第一指针地址和确定的所述第二指针交换。
6.根据权利要求3或4所述的方法,其特征在于,将所述第二方法的方法体和所述视图离开的api的方法体进行交换的步骤包括 确定用于指向所述第二方法的第三指针; 确定用于指向所述视图离开的api的第四指针; 将确定的所述第三指针地址和确定的所述第四指针交换。
7.—种IOS平台上app视图切换的监测装置,其特征在于,包括 第一获取单元,用于获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体,其中,所述第一方法体包括如下逻辑调用所述视图进入的api自身和记录所述视图进入时间; 第二获取单元,用于获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体,其中,所述第二方法体包括如下逻辑调用所述视图离开的api自身和记录所述视图离开时间; 执行单元,用于执行获取到的所述第一方法体和所述第二方法体。
8.根据权利要求7所述的装置,其特征在于,还包括 第一创建单元,用于在获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体之前,为所述视图进入的api所在的类创建第一分类; 第二创建单元,用于在获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体之前,在创建的所述第一分类中创建第一方法,其中,所述第一方法包含如下逻辑递归调用自身和记录所述视图进入时间; 第一交换单元,用于在获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体之前,将所述第一方法的方法体和所述视图进入的api的方法体进行交换。
9.根据权利要求8所述的装置,其特征在于,还包括 第三创建单元,用于在获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体之前,为所述视图离开的api所在的类创建第二分类; 第四创建单元,用于在获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体之前,在创建的所述第二分类中创建第二方法,其中,所述第二方法包含如下逻辑递归调用自身和记录所述视图离开时间; 第二交换单元,用于在获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体之前,将所述第二方法的方法体和所述视图离开的api的方法体进行交换。
10.根据权利要求8或9所述的装置,其特征在于,所述第一交换单元包括 第一确定模块,用于确定指向所述第一方法的第一指针; 第二确定模块,用于确定指向所述视图进入的api的第二指针; 第一交换模块,用于将确定的所述第一指针地址和确定的所述第二指针交换。
11.根据权利要求9所述的装置,其特征在于,所述第二交换单元包括 第三确定模块,用于确定指向所述第二方法的第三指针; 第四确定模块,用于确定指向所述视图离开的api的第四指针; 第二交换模块,用于将确定的所述第三指针地址和确定的所述第四指针交换。
全文摘要
本发明公开了一种IOS平台上app视图切换的监测方法和装置,其中,该方法包括获取当前所需执行的视图切换过程中视图进入的api指向的第一方法体,其中,第一方法体包括如下逻辑调用视图进入的api自身和记录视图进入时间;获取当前所需执行的视图切换过程中视图离开的api指向的第二方法体,其中,第二方法体包括如下逻辑调用视图离开的api自身和记录视图离开时间;执行获取到的第一方法体和第二方法体。本发明解决了相关技术中IOS平台上监测视图切换时因加入量代码而导致的工作量大、容易出错的问题,减小捕获系统消息的工作量,进一步地,提高了准确性。
文档编号G06F9/48GK102902584SQ20121036729
公开日2013年1月30日 申请日期2012年9月27日 优先权日2012年9月27日
发明者王海 申请人:北京国双科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1