CN110716786B - 一种页面展示方法、系统及存储介质 - Google Patents
一种页面展示方法、系统及存储介质 Download PDFInfo
- Publication number
- CN110716786B CN110716786B CN201910982659.4A CN201910982659A CN110716786B CN 110716786 B CN110716786 B CN 110716786B CN 201910982659 A CN201910982659 A CN 201910982659A CN 110716786 B CN110716786 B CN 110716786B
- Authority
- CN
- China
- Prior art keywords
- page
- application program
- protocol
- plug
- pseudo protocol
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Abstract
本申请公开了一种页面展示方法、系统及存储介质,所述方法包括:向服务器发送至少一组页面信息集;接收服务器发送的跳转链接伪协议集;本地终端中宿主应用程序基于第一标识信息,获取第一跳转链接伪协议;当本地终端中宿主应用程序无法获取第一跳转链接伪协议对应的页面时,向第一跳转链接伪协议对应的目标插件应用程序发送第一跳转链接伪协议;本地终端中目标插件应用程序基于第一跳转链接伪协议,获取第一目标页面;展示目标插件应用程序中的第一目标页面。采用本申请的技术方案,可使宿主页面与插件页面在不了解对方代码逻辑的前提下,实现两者之间的页面跳转;即在不修改宿主页面和插件页面的原始代码的前提下,实现两者之间的页面跳转。
Description
技术领域
本申请涉及互联网通信技术领域,尤其涉及一种页面展示方法、系统及存储介质。
背景技术
现有技术中,当在宿主应用程序中加入插件应用程序后,在宿主页面中点击触发页面跳转时,宿主应用程序需要知道要跳转到插件的具体Activity,才能打开正确的插件页面,也就是说宿主应用程序需要了解插件应用程序内部支持的跳转页面才可以实现跳转。这就需要在宿主页面中预先设置需要要跳转的插件页面;同样,当需要从插件页面跳转到对应的宿主页面时,也需要在插件页面预先设置需要跳转的宿主页面;可见,现有技术的宿主应用程序和插件应用程序没有实现真正地业务隔离,无论是从宿主页面跳转到插件页面,还是从插件页面跳转到宿主页面,都需要了解对方的跳转页面才可以实现跳转。此外,当需要扩展跳转页面的时候,还需要修改宿主页面中对应的代码逻辑。
因此,有必要提供一种页面展示方法、系统及存储介质,可使宿主页面与插件页面在不了解对方代码逻辑的前提下,实现两者之间的页面跳转;即在不修改宿主页面和插件页面的原始代码的前提下,实现两者之间的页面跳转。
发明内容
本申请提供了一种页面展示方法、系统及存储介质,可以使宿主页面与插件页面在不了解对方代码逻辑的前提下,实现两者之间的页面跳转。
一方面,本申请提供了一种页面展示方法,所述方法包括:
向服务器发送至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息;
接收所述服务器发送的跳转链接伪协议集,所述跳转链接伪协议集为所述服务器根据所述至少一组页面信息集构建得到,所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系;所述跳转链接伪协议集包括第一跳转链接伪协议;
本地终端中宿主应用程序基于第一标识信息,获取所述第一跳转链接伪协议;
当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述本地终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;
所述本地终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面;
展示所述目标插件应用程序中的第一目标页面。
另一方面提供了一种页面展示方法,所述方法包括:
接收终端发送的至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息;
根据所述至少一组页面信息集,构建跳转链接伪协议集;所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系;
向所述终端发送所述跳转链接伪协议集,所述跳转链接伪协议集包括第一跳转链接伪协议;以使所述终端中宿主应用程序获取所述第一跳转链接伪协议;以及当所述终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;以使所述终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面;以使所述终端展示所述目标插件应用程序中的第一目标页面。
另一方面提供了一种页面展示终端,所述终端包括:
页面信息集发送模块,用于向服务器发送至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息;
跳转链接伪协议集接收模块,用于接收所述服务器发送的跳转链接伪协议集,所述跳转链接伪协议集为所述服务器根据所述至少一组页面信息集构建得到,所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系;所述跳转链接伪协议集包括第一跳转链接伪协议;
第一跳转链接伪协议获取模块,用于使本地终端中宿主应用程序基于第一标识信息,获取所述第一跳转链接伪协议;
第一跳转链接伪协议发送模块,用于当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,使所述本地终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;
第一目标页面获取模块,用于使所述本地终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面;
第一目标页面展示模块,用于展示所述目标插件应用程序中的第一目标页面。
另一方面提供了一种页面展示服务器,所述服务器包括:
页面信息集接收模块,用于接收终端发送的至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息;
跳转链接伪协议集构建模块,用于根据所述至少一组页面信息集,构建跳转链接伪协议集;所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系;
跳转链接伪协议集发送模块,用于向所述终端发送所述跳转链接伪协议集,所述跳转链接伪协议集包括第一跳转链接伪协议;以使所述终端中宿主应用程序获取所述第一跳转链接伪协议;以及当所述终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;以使所述终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面;以使所述终端展示所述目标插件应用程序中的第一目标页面。
另一方面提供了一种页面展示系统,所述系统包括终端和服务器,所述终端包括宿主应用程序和插件应用程序;
所述终端,用于向所述服务器发送至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息;以及展示目标插件应用程序中的第一目标页面;
所述终端中宿主应用程序,用于获取所述第一跳转链接伪协议;以及当所述终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;
所述终端中目标插件应用程序,用于基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面;
所述服务器,用于根据所述至少一组页面信息集,构建跳转链接伪协议集;所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系;以及向所述终端发送所述跳转链接伪协议集,所述跳转链接伪协议集包括第一跳转链接伪协议。
另一方面提供了一种页面展示终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的页面展示方法。
另一方面提供了一种页面展示服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的页面展示方法。
另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的页面展示方法。
本申请提供的页面展示方法、系统及存储介质,具有如下技术效果:
本申请中终端接收服务器发送的跳转链接伪协议集,从而可使本地终端中宿主应用程序基于第一标识信息,获取所述第一跳转链接伪协议;当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述本地终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;所述本地终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面;从而展示所述目标插件应用程序中的第一目标页面;可使宿主页面与插件页面在不了解对方代码逻辑的前提下,实现两者之间的页面跳转;即在不修改宿主页面和插件页面的原始代码的前提下,实现两者之间的页面跳转;当需要扩展跳转页面的时候,也不需要修改宿主页面中的代码逻辑。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种系统的示意图;
图2是本申请实施例提供的一种页面展示方法的流程示意图;
图3是本申请实施例提供的确定无法获取所述第一跳转链接伪协议对应的页面的方法的流程示意图;
图4是本申请实施例提供的发送所述第一跳转链接伪协议的方法的流程示意图;
图5是本申请实施例提供的一种获取所述第一跳转链接伪协议对应的第一目标页面的方法的流程示意图;
图6是本申请实施例提供的一种获取插件的类加载器的方法的流程示意图;
图7是本申请实施例提供的另一种获取所述第一跳转链接伪协议对应的第一目标页面的方法的流程示意图;
图8是本申请实施例提供的展示所述目标宿主应用程序中的第二目标页面的方法的流程示意图;
图9是本申请实施例提供的从宿主页面跳转到插件页面的示意图;
图10是本申请实施例提供的另一种页面展示方法的流程示意图;
图11是本申请实施例提供的另一种页面展示方法的流程示意图;
图12是本申请实施例提供的一种页面展示终端的结构示意图;
图13是本申请实施例提供的一种页面展示服务器的结构示意图;
图14是本申请实施例提供的一种区块链系统的结构示意图;
图15是本申请实施例提供的区块结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1是本申请实施例提供的一种系统的示意图,如图1所示,该系统可以至少包括服务器01和客户端02。
具体的,本说明书实施例中,所述服务器01可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。服务器01可以包括有网络通信单元、处理器和存储器等等。具体的,所述服务器01可以用于为所述客户端02提供后台服务,具体的,所述服务器01可以基于所述客户端02提供的页面信息集,构建跳转链接伪协议集,并发送至所述客户端02。
具体的,本说明书实施例中,所述客户端02可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如一些服务商提供给用户的网页页面,也可以为该些服务商提供给用户的应用。具体的,所述客户端02可以用于基于所述跳转链接伪协议集,从宿主应用程序的页面跳转至插件应用程序的页面。
以下介绍本申请基于上述系统的页面展示方法,图2是本申请实施例提供的一种页面展示方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201:终端向服务器发送至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息。
在本说明书实施例中,所述服务器可以为所述终端提供后台服务。所述终端可以包括宿主应用程序和插件应用程序,每个宿主应用程序可以包括多个宿主页面,每个插件应用程序可以包括多个插件页面。
在本说明书实施例中,宿主能提供运行环境,给资源调用提供上下文环境,可以为主安卓安装包(Android Package,APK)要运行的应用,它作为应用的主工程所在,实现了一套插件的加载和管理的框架,插件运行需要依托于宿主的APK。而插件可以理解为每个独立的功能模块封装而成的一个小的APK,可以通过在线配置和更新实现插件APK在宿主APK中的上线和下线,以及动态更新等功能。
S203:所述服务器根据所述至少一组页面信息集,构建跳转链接伪协议集;所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系。
在本说明书实施例中,跳转链接伪协议可以是一串特殊的字符串,有着特定的定义规则,从这个字符串中可以得到要跳转的页面信息和想要带入跳转页面的参数信息。每一条跳转链接伪协议对应唯一的一个跳转页面。如果是插件支持的伪协议,约定伪协议的前缀为插件的名词。在一些实施例中,所述跳转链接伪协议的链接示意如下:
com.XXX.XXlive://BussinessPage?params1=xxx¶ms2=xxx
com.XXX.XXlive://PluginName_DemoPage?params1=xxx¶ms2=xxx。
在本说明书实施例中,每条跳转链接伪协议都有对应的标识信息,所述标识信息为显示页面中的信息。
在本说明书实施例中,每组页面信息集可以包括宿主应用程序中的第一页面信息和第二页面信息;每组页面信息集还可以包括插件应用程序中的第三页面信息和第四页面信息;相应的,所述跳转链接伪协议集可以包括宿主页面跳转链接伪协议和插件跳转链接伪协议,所述宿主跳转链接伪协议可以包括所述第一页面信息与所述第二页面信息;所述插件跳转链接伪协议可以包括所述第三页面信息与所述第四页面信息。
当触发宿主跳转链接伪协议,可以实现宿主内第一页面与第二页面之间的跳转;当触发插件跳转链接伪协议,可以实现插件内第三页面与第四页面之间的跳转。
在本说明书实施例中,所述服务器可以基于区块链系统存储所述跳转链接伪协议集,所述区块链系统包括多个节点,多个节点之间形成点对点网络。
在一些实施例中,所述区块链系统可以为图14所示的结构,多个节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在区块链系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
图14示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
在一些实施例中,区块结构(Block Structure)可以为图15所示的结构,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Block chain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
S205:所述服务器向所述终端发送所述跳转链接伪协议集,所述跳转链接伪协议集包括第一跳转链接伪协议。
在本说明书实施例中,所述跳转链接伪协议集可以包括至少一条跳转链接伪协议。每条跳转链接伪协议包括当前页面和待跳转页面的映射关系。
S207:所述终端中宿主应用程序基于第一标识信息,获取所述第一跳转链接伪协议。
在本说明书实施例中,所述终端中宿主应用程序基于第一标识信息,获取所述第一跳转链接伪协议可以包括:
所述终端中宿主应用程序响应于对第一标识信息的触发操作,获取所述第一跳转链接伪协议。
在本说明书实施例中,所述第一标识信息可以为所述宿主应用程序中宿主页面中的信息,当用户触发第一标识信息时,所述宿主应用程序可以获取对应的第一跳转链接伪协议。所述触发操作可以包括但不限于点击、滑动等操作。
S209:当所述终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议。
在本说明书实施例中,如图3所示,所述当所述终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议的步骤之前,所述方法还包括:
S2081:所述终端中宿主应用程序判断所述第一跳转链接伪协议是否在第一预设协议页面信息库中,所述第一预设协议页面信息库包括跳转链接伪协议与宿主页面的映射关系;
S2083:当所述第一跳转链接伪协议不在所述第一预设协议页面信息库中时,所述终端中宿主应用程序确定无法获取所述第一跳转链接伪协议对应的页面。
在本说明书实施例中,所述第一跳转链接伪协议可以为所述宿主跳转链接伪协议,所述方法还可以包括:
当所述第一跳转链接伪协议在所述第一预设协议页面信息库中时,所述终端中宿主应用程序从所述第一预设协议页面信息库中查找与所述第一跳转链接伪协议对应的宿主页面;
所述终端中宿主应用程序将与所述第一跳转链接伪协议对应的宿主页面确定为所述第一目标页面。
在本说明书实施例中,可以通过跳转链接伪协议实现宿主应用程序中不同页面之间的跳转。
在本说明书实施例中,所述当所述终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议可以包括:
S2091:当所述终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述终端中宿主应用程序基于所述第一跳转链接伪协议,确定所述第一跳转链接伪协议对应的目标插件应用程序的标识信息;
S2093:所述终端中宿主应用程序向所述目标插件应用程序的标识信息对应的目标插件应用程序发送所述第一跳转链接伪协议。
在本说明书实施例中,如图4所示,所述终端中宿主应用程序基于所述第一跳转链接伪协议,确定所述第一跳转链接伪协议对应的目标插件应用程序的标识信息的步骤之后,所述方法还可以包括:
S2092:所述终端中宿主应用程序判断所述目标插件应用程序的标识信息对应的目标插件应用程序是否已安装;
相应的,所述终端中宿主应用程序向所述目标插件应用程序的标识信息对应的目标插件应用程序发送所述第一跳转链接伪协议包括:
若所述目标插件应用程序的标识信息对应的目标插件应用程序已安装,所述终端中宿主应用程序执行向所述目标插件应用程序的标识信息对应的目标插件应用程序发送所述第一跳转链接伪协议。
在本说明书实施例中,所述方法还可以包括:
若所述目标插件应用程序的标识信息对应的目标插件应用程序未安装,所述终端中宿主应用程序调用插件管理类下载并安装所述目标插件应用程序;
相应的,所述终端中宿主应用程序向所述目标插件应用程序的标识信息对应的目标插件应用程序发送所述第一跳转链接伪协议包括:
当所述目标插件应用程序安装完成之后,所述终端中宿主应用程序执行向所述目标插件应用程序的标识信息对应的目标插件应用程序发送所述第一跳转链接伪协议。
在本说明书实施例中,在一个宿主页面中,可以实现向至少一个插件页面的跳转。
在一个具体的实施例中,当用户点击宿主页面的第一标识信息时,宿主应用程序获取第一标识信息对应的第一跳转链接伪协议;宿主应用程序(简称:宿主)中负责管理跳转的单例(Action Manager)类负责解析伪协议。
若宿主解析可支持该第一跳转链接伪协议,直接跳转到宿主对应的页面中。
若宿主解析不支持该第一跳转链接伪协议,通过伪协议的前缀获取对应的插件名,并可获取得到该插件的类加载器(Class Loader),通过反射,将伪协议传给插件的Action Manager类来处理解析。宿主并不做插件内部跳转页面的理解,只做了分发。
S2011:所述终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面。
在本说明书实施例中,如图5所示,所述终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面的步骤之前,所述方法还可以包括:
S20101:所述终端中目标插件应用程序获取插件的类加载器;
S20103:所述终端中目标插件应用程序通过所述插件的类加载器调用所述插件的行为管理类;
相应的,所述终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面包括:
所述终端中目标插件应用程序通过所述插件的行为管理类解析所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面。
在本说明书实施例中,如图6所示,所述终端中目标插件应用程序获取插件的类加载器的步骤之前,所述方法还可以包括:
S20100:所述终端中目标插件应用程序判断是否存在所述插件的类加载器;
相应的,所述终端中目标插件应用程序获取插件的类加载器包括:
若所述终端中目标插件应用程序中存在所述插件的类加载器,所述终端中插件应用程序获取所述插件的类加载器;
在本说明书实施例中,所述方法还可以包括:
若所述终端中目标插件应用程序中不存在所述插件的类加载器,所述终端中宿主应用程序调用插件管理类对所述目标插件应用程序进行升级;
相应的,所述终端中目标插件应用程序获取插件的类加载器包括:
所述终端中升级后的目标插件应用程序获取插件的类加载器。
在本说明书实施例中,所述终端中宿主应用程序调用插件管理类对所述目标插件应用程序进行升级的步骤之前,所述方法还包括:
所述终端中宿主应用程序调用插件管理类判断所述目标插件应用程序在预设时间段内是否已升级;
若所述目标插件应用程序在所述预设时间段内未升级,所述终端中宿主应用程序调用插件管理类对所述目标插件应用程序进行升级。
在本说明书实施例中,所述方法还包括:
若所述目标插件应用程序在所述预设时间段内已升级,所述终端中宿主应用程序展示所述目标插件应用程序已升级的提示信息,并不再对所述目标插件应用程序进行升级。
在本说明书实施例中,当无法获取到插件的类加载器,需要对目标插件应用程序进行升级时,通过判断所述目标插件应用程序在所述预设时间段内的升级状态,确定是否对目标插件应用程序进行升级;如果所述目标插件应用程序在所述预设时间段内已升级,说明当前目标插件应用程序为最新版本,不需要对其进行升级,同时可以发出提示信息,通知用户当前目标插件应用程序为最新版本;从而可使用户获知无法获取到插件的类加载器并不是由目标插件应用程序的版本造成的,提醒用户查找其他的原因。
在本说明书实施例中,如图7所示,所述终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面可以包括:
S20111:所述终端中目标插件应用程序从第二预设协议页面信息库中查找与所述第一跳转链接伪协议对应的插件页面,所述第二预设协议页面信息库包括跳转链接伪协议与插件页面的映射关系;
S20113:所述终端中目标插件应用程序将与所述第一跳转链接伪协议对应的插件页面确定为第一目标页面。
在本说明书实施例中,所述终端中目标插件应用程序从第二预设协议页面信息库中查找与所述第一跳转链接伪协议对应的插件页面的步骤之前,所述方法还可以包括:
所述终端中目标插件应用程序判断所述第一跳转链接伪协议是否在所述第二预设协议页面信息库中;
相应的,所述终端中目标插件应用程序从第二预设协议页面信息库中查找与所述第一跳转链接伪协议对应的插件页面包括:
当所述第一跳转链接伪协议在所述第二预设协议页面信息库中时,所述终端中目标插件应用程序执行从第二预设协议页面信息库中查找与所述第一跳转链接伪协议对应的插件页面。
S2013:所述终端展示所述目标插件应用程序中的第一目标页面。
在本说明书实施例中,如图8所示,所述跳转链接伪协议集包括第二跳转链接伪协议,所述终端展示所述目标插件应用程序中的第一目标页面的步骤之后,所述方法还可以包括:
S801:所述终端中目标插件应用程序基于第二标识信息,获取所述第二跳转链接伪协议;
S803:当所述终端中目标插件应用程序无法获取所述第二跳转链接伪协议对应的页面时,所述终端中目标插件应用程序向所述第二跳转链接伪协议对应的目标宿主应用程序发送所述第二跳转链接伪协议;
S805:所述终端中目标宿主应用程序基于所述第二跳转链接伪协议,获取所述第二跳转链接伪协议对应的第二目标页面;
S807:所述终端展示所述目标宿主应用程序中的第二目标页面。
在本说明书实施例中,所述当所述终端中目标插件应用程序无法获取所述第二跳转链接伪协议对应的页面时,所述终端中目标插件应用程序向所述第二跳转链接伪协议对应的目标宿主应用程序发送所述第二跳转链接伪协议的步骤之前,所述方法还可以包括:
所述终端中目标插件应用程序判断所述第二跳转链接伪协议是否在第二预设协议页面信息库中;
当所述第二跳转链接伪协议不在所述第二预设协议页面信息库中时,所述终端中目标插件应用程序确定无法获取所述第二跳转链接伪协议对应的页面。
在本说明书实施例中,所述方法还包括:
当所述第二跳转链接伪协议在所述第二预设协议页面信息库中时,所述终端中目标插件应用程序从所述第二预设协议页面信息库中查找与所述第二跳转链接伪协议对应的插件页面;
所述终端中目标插件应用程序将与所述第二跳转链接伪协议对应的插件页面确定为所述目标页面。
在本说明书实施例中,可以通过跳转链接伪协议实现插件应用程序中不同页面之间的跳转。
在一个具体的实施例中,当用户点击宿主页面的第二标识信息时,插件应用程序获取第二标识信息对应的第二跳转链接伪协议;插件应用程序(简称:插件)中的ActionManager类解析伪协议。
若插件解析可支持,直接跳转到插件对应的页面;
若插件解析不支持,发送本地广播,将跳转链接放入intent中,宿主收到广播处理该事件,可实现插件页面跳转到宿主页面。intent为安卓中的一个类,intent(意图)主要是解决Android应用的各项组件之间的通讯。
当插件未下载时,宿主展示插件未下载的下载(Loading)页面等待插件下载完成后继续处理跳转。
在一个具体的实施例中,所述页面展示方法可以包括:
1.在宿主页面点击触发页面跳转标识,该跳转标识有其对应的一串跳转链接伪协议。该跳转链接是后台下发的数据,一般为运营在配置平台配置的。宿主中管理页面跳转逻辑的Action Manager接手处理这条跳转链接伪协议。
2.宿主的Action Manager类解析该跳转链接伪协议。跳转链接伪协议的定义规则为“跳转页面”+“携带的跳转参数值”,例如:BussinessPage?params1=xxx¶ms2=xxx。如果这个页面是在插件内,跳转链接伪协议的定义规则为“插件名_”+“跳转页面”+“携带的跳转参数值”;如果跳转页面为电子小说,那么跳转参数值可以为小说的章节数;例如所述跳转链接伪协议可以为:PluginName_DemoPage?params1=xxx¶ms2=xxx。在每个Activity上都有注解来标注该Activity和其对应跳转链接的绑定关系,例如在HostActivity上写上注解“@Route(path=BussinessPage)”,BussinessPage是人为定义的业务的名字,实际对应安卓系统中的HostActivity,比如安卓和苹果系统都定义同样的名字,但是不同的系统的代码不同,所以要找到安卓系统,通过注解处理器(AnnotationProcessor Tool,APT)设置对应绑定关系;利用APT技术在编译期间会生成一个跳转链接伪协议和Activity类的对应表(Map)。
a)宿主Action Manager解析收到的跳转链接,若“认识”,也就是存在于宿主跳转表Map中,则根据Map表找到对应的宿主内的Activity页面,完成此次跳转,该次跳转处理结束。Activity页面为安卓原生页面,属于安卓四大组件之一。
b)宿主Action Manager若“不认识”该跳转链接伪协议,也就是说宿主跳转表Map中不存在该伪协议,则进入步骤3中。
3.在步骤2.b中宿主Action Manager尝试解析跳转链接伪协议,但是失败了。接着,宿主Action Manager需要从跳转链接伪协议中尝试解析该跳转链接伪协议是否有插件信息。根据前面跳转链接伪协议的定义,存在在插件中的跳转链接伪协议是有固定格式的,解析跳转页面中是否有下划线,若有则认为第一个下划线前的字符串代表插件名。
a)若没有解析出插件名,那么代表目前的宿主版本不支持该跳转链接伪协议,它可能是新版本加入的,进入到提示宿主升级弹框逻辑中,该次跳转处理结束。
b)若解析出插件名,则进入步骤4中。
4.从跳转链接伪协议中解析出插件名后,需要判断该插件在宿主中是否已安装。
a)若该插件未安装,则进入步骤5中。
b)若该插件已安装,则进入步骤6中。
5.调用宿主中的插件管理类(VPlugin Manager),对该插件进行下载安装中,这个时候用户会看到下载(Loading)转圈提示插件下载安装进度等显示界面展示。在这个等待过程中可能会出现以下情况:
a)在等待插件下载安装的过程中,若用户不想继续等待,点击返回(back)键,则认为取消此次跳转,该次跳转处理结束。但插件的下载安装过程会在后台继续运行静默处理,以利于用户下次使用。
b)若插件下载或者安装过程出错或者超时,消息框(Toast)提示用户错误情况,请重试,该次跳转处理也标志结束。
c)在等待状态并且插件下载安装好了,则进入到插件处理跳转链接伪协议,进入步骤6。
6.通过插件框架,调用fetch Class Loader来获取该插件的Class Loader,通过反射的方式调用插件的Action Manager类来接管处理该跳转链接伪协议。
a)若获取插件Class Loader为空(null)或者反射过程中出错,则进入步骤5中来通过VPluginManager来进行插件状态的检查和升级。
b)插件Action Manager处理该跳转伪协议,解析过程类似步骤2,插件内部也有利用APT技术在编译期间会生成一个跳转链接伪协议和Activity类的对应表Map,若Map中存在该跳转链接伪协议,则跳转到对应的插件页面中,该次跳转处理结束。若Map中不存在,那么代表该插件目前的版本不支持该跳转链接伪协议,它可能是插件新版本加入的,需要升级插件来支持该跳转,通知回宿主进行插件升级检查逻辑,进入到步骤5中升级插件,等待新版本插件安装成功后重试。
7.在上述步骤5中负责插件管理的VPlugin Manager会对插件进行下载安装升级,为了防止步骤5、6循环调用,会在VPlugin Manager对同一个插件的安装升级操作做频控处理,频控处理是指控制升级的次数,防止进入循环升级模式。
以下以游戏页面为宿主页面,以漫画页面为插件页面介绍本申请的页面展示方法。
在配置平台,产品给所有的漫画阅读配置了一条跳转链接伪协议“com.XXX.XXlive://Cartoon_CartoonReaderPage”。在进入到宿主页面的时候后台会根据配置平台的配置下发“阅读”按钮的点击跳转链接伪协议给到客户端,“com.XXX.XXlive://Cartoon_CartoonReaderPage?id=xxx&&pageIndex=xxx”,点击处理其实是解析这个下发的跳转链接伪协议。这样宿主和插件不再业务耦合,各自独立,也方便扩展修改。
如图9所示,宿主应用程序为《星武神诀》小说,9a为宿主应用程序中的一个宿主页面,该宿主页面中存在跳转链接伪协议对应的标识信息“阅读1话”(图9a),当用户触发该标识信息时,宿主应用程序获取对应的跳转链接伪协议,并解析对应的插件页面,终端根据解析得到的插件页面,展示所述插件页面(图9b),图9b的插件页面对应的插件应用程序为漫画应用程序,从而实现根据服务器构建的跳转链接伪协议,从宿主页面跳转至插件页面。
由以上本说明书实施例提供的技术方案可知,本说明书实施例中终端接收服务器发送的跳转链接伪协议集,从而可使本地终端中宿主应用程序基于第一标识信息,获取所述第一跳转链接伪协议;当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述本地终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;所述本地终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面;从而展示所述目标插件应用程序中的第一目标页面;可使宿主页面与插件页面在不了解对方代码逻辑的前提下,实现两者之间的页面跳转;即在不修改宿主页面和插件页面的原始代码的前提下,实现两者之间的页面跳转;当需要扩展跳转页面的时候,也不需要修改宿主页面中的代码逻辑。
以下以终端为执行主体介绍本说明书一种页面展示方法的具体实施例,所述终端可以包括宿主应用程序和插件应用程序;图10是本申请实施例提供的一种页面展示方法的流程示意图,具体的,结合图10所示,所述方法可以包括:
S1001:向服务器发送至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息;
S1003:接收所述服务器发送的跳转链接伪协议集,所述跳转链接伪协议集为所述服务器根据所述至少一组页面信息集构建得到,所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系;所述跳转链接伪协议集包括第一跳转链接伪协议;
S1005:本地终端中宿主应用程序基于第一标识信息,获取所述第一跳转链接伪协议;
S1007:当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述本地终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;
在本说明书实施例中,所述当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述本地终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议的步骤之前,所述方法还包括:
所述本地终端中宿主应用程序判断所述第一跳转链接伪协议是否在第一预设协议页面信息库中,所述第一预设协议页面信息库包括跳转链接伪协议与宿主页面的映射关系;
当所述第一跳转链接伪协议不在所述第一预设协议页面信息库中时,所述本地终端中宿主应用程序确定无法获取所述第一跳转链接伪协议对应的页面。
在本说明书实施例中,所述当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述本地终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议包括:
当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述本地终端中宿主应用程序基于所述第一跳转链接伪协议,确定所述第一跳转链接伪协议对应的目标插件应用程序的标识信息;
所述本地终端中宿主应用程序向所述目标插件应用程序的标识信息对应的目标插件应用程序发送所述第一跳转链接伪协议。
在一些实施例中,所述本地终端中宿主应用程序基于所述第一跳转链接伪协议,确定所述第一跳转链接伪协议对应的目标插件应用程序的标识信息的步骤之后,所述方法还可以包括:
所述本地终端中宿主应用程序判断所述目标插件应用程序的标识信息对应的目标插件应用程序是否已安装;
相应的,所述本地终端中宿主应用程序向所述目标插件应用程序的标识信息对应的目标插件应用程序发送所述第一跳转链接伪协议包括:
若所述目标插件应用程序的标识信息对应的目标插件应用程序已安装,所述本地终端中宿主应用程序执行向所述目标插件应用程序的标识信息对应的目标插件应用程序发送所述第一跳转链接伪协议。
S1009:所述本地终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面;
在本说明书实施例中,所述本地终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面的步骤之前,所述方法还包括:
所述本地终端中目标插件应用程序获取插件的类加载器;
所述本地终端中目标插件应用程序通过所述插件的类加载器调用所述插件的行为管理类;
相应的,所述本地终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面包括:
所述本地终端中目标插件应用程序通过所述插件的行为管理类解析所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面。
在本说明书实施例中,所述本地终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面包括:
所述本地终端中目标插件应用程序从第二预设协议页面信息库中查找与所述第一跳转链接伪协议对应的插件页面,所述第二预设协议页面信息库包括跳转链接伪协议与插件页面的映射关系;
所述本地终端中目标插件应用程序将与所述第一跳转链接伪协议对应的插件页面确定为第一目标页面。
S10011:展示所述目标插件应用程序中的第一目标页面。
在本说明书实施例中,所述跳转链接伪协议集包括第二跳转链接伪协议,所述展示所述目标插件应用程序中的第一目标页面的步骤之后,所述方法还可以包括:
所述本地终端中目标插件应用程序基于第二标识信息,获取所述第二跳转链接伪协议;
当所述本地终端中目标插件应用程序无法获取所述第二跳转链接伪协议对应的页面时,所述本地终端中目标插件应用程序向所述第二跳转链接伪协议对应的目标宿主应用程序发送所述第二跳转链接伪协议;
所述本地终端中目标宿主应用程序基于所述第二跳转链接伪协议,获取所述第二跳转链接伪协议对应的第二目标页面;
展示所述目标宿主应用程序中的第二目标页面。
本说明书实施例提供了一种页面展示终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的页面展示方法。
以下以服务器为执行主体介绍本说明书一种页面展示方法的具体实施例,图11是本申请实施例提供的一种页面展示方法的流程示意图,具体的,结合图11所示,所述方法可以包括:
S1101:接收终端发送的至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息;
S1103:根据所述至少一组页面信息集,构建跳转链接伪协议集;所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系;
S1105:向所述终端发送所述跳转链接伪协议集,所述跳转链接伪协议集包括第一跳转链接伪协议;以使所述终端中宿主应用程序获取所述第一跳转链接伪协议;以及当所述终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;以使所述终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面;以使所述终端展示所述目标插件应用程序中的第一目标页面。
本说明书实施例提供了一种页面展示服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的页面展示方法。
本说明书实施例中,所述存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本说明书实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的页面展示方法。
本申请实施例还提供了一种页面展示终端,如图12所示,所述终端可以包括:
页面信息集发送模块1210,用于向服务器发送至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息;
跳转链接伪协议集接收模块1220,用于接收所述服务器发送的跳转链接伪协议集,所述跳转链接伪协议集为所述服务器根据所述至少一组页面信息集构建得到,所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系;所述跳转链接伪协议集包括第一跳转链接伪协议;
第一跳转链接伪协议获取模块1230,用于使本地终端中宿主应用程序基于第一标识信息,获取所述第一跳转链接伪协议;
第一跳转链接伪协议发送模块1240,用于当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,使所述本地终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;
第一目标页面获取模块1250,用于使所述本地终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面;
第一目标页面展示模块1260,用于展示所述目标插件应用程序中的第一目标页面。
在一些实施例中,所述终端还可以包括:
第一跳转链接伪协议判断模块,用于使所述本地终端中宿主应用程序判断所述第一跳转链接伪协议是否在第一预设协议页面信息库中,所述第一预设协议页面信息库包括跳转链接伪协议与宿主页面的映射关系;
第一确定模块,用于当所述第一跳转链接伪协议不在所述第一预设协议页面信息库中时,所述本地终端中宿主应用程序确定无法获取所述第一跳转链接伪协议对应的页面。
在一些实施例中,所述第一跳转链接伪协议发送模块可以包括:
目标插件应用程序的标识信息确定单元,用于当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述本地终端中宿主应用程序基于所述第一跳转链接伪协议,确定所述第一跳转链接伪协议对应的目标插件应用程序的标识信息;
第一跳转链接伪协议发送单元,用于使所述本地终端中宿主应用程序向所述目标插件应用程序的标识信息对应的目标插件应用程序发送所述第一跳转链接伪协议。
在一些实施例中,所述终端还可以包括:
目标插件应用程序判断模块,用于使所述本地终端中宿主应用程序判断所述目标插件应用程序的标识信息对应的目标插件应用程序是否已安装。
相应的,所述第一跳转链接伪协议发送模块可以包括:
执行单元,用于若所述目标插件应用程序的标识信息对应的目标插件应用程序已安装,所述本地终端中宿主应用程序执行向所述目标插件应用程序的标识信息对应的目标插件应用程序发送所述第一跳转链接伪协议。
在一些实施例中,所述终端还可以包括:
类加载器获取模块,用于使所述本地终端中目标插件应用程序获取插件的类加载器;
行为管理类调用模块,用于使所述本地终端中目标插件应用程序通过所述插件的类加载器调用所述插件的行为管理类;
相应的,所述第一目标页面获取模块可以包括:
第一目标页面获取单元,用于使所述本地终端中目标插件应用程序通过所述插件的行为管理类解析所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面。
在一些实施例中,所述第一目标页面获取模块可以包括:
插件页面查找单元,用于使所述本地终端中目标插件应用程序从第二预设协议页面信息库中查找与所述第一跳转链接伪协议对应的插件页面,所述第二预设协议页面信息库包括跳转链接伪协议与插件页面的映射关系;
第一目标页面确定单元,用于使所述本地终端中目标插件应用程序将与所述第一跳转链接伪协议对应的插件页面确定为第一目标页面。
在一些实施例中,所述终端还可以包括:
第二跳转链接伪协议获取模块,用于使所述本地终端中目标插件应用程序基于第二标识信息,获取所述第二跳转链接伪协议;
第二跳转链接伪协议发送模块,用于当所述本地终端中目标插件应用程序无法获取所述第二跳转链接伪协议对应的页面时,所述本地终端中目标插件应用程序向所述第二跳转链接伪协议对应的目标宿主应用程序发送所述第二跳转链接伪协议;
第二目标页面获取模块,用于使所述本地终端中目标宿主应用程序基于所述第二跳转链接伪协议,获取所述第二跳转链接伪协议对应的第二目标页面;
第二目标页面展示模块,用于展示所述目标宿主应用程序中的第二目标页面。
所述的终端实施例中的终端与方法实施例基于同样的发明构思。
本申请实施例还提供了一种页面展示服务器,如图13所示,所述服务器可以包括:
页面信息集接收模块1310,用于接收终端发送的至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息;
跳转链接伪协议集构建模块1320,用于根据所述至少一组页面信息集,构建跳转链接伪协议集;所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系;
跳转链接伪协议集发送模块1330,用于向所述终端发送所述跳转链接伪协议集,所述跳转链接伪协议集包括第一跳转链接伪协议;以使所述终端中宿主应用程序获取所述第一跳转链接伪协议;以及当所述终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;以使所述终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面;以使所述终端展示所述目标插件应用程序中的第一目标页面。
所述的服务器实施例中的服务器与方法实施例基于同样的发明构思。
本申请另一方面还提供一种页面展示系统,所述系统包括:终端和服务器,所述终端包括宿主应用程序和插件应用程序;
所述终端,用于向所述服务器发送至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息;以及展示目标插件应用程序中的第一目标页面;
所述终端中宿主应用程序,用于获取所述第一跳转链接伪协议;以及当所述终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;
所述终端中目标插件应用程序,用于基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面;
所述服务器,用于根据所述至少一组页面信息集,构建跳转链接伪协议集;所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系;以及向所述终端发送所述跳转链接伪协议集,所述跳转链接伪协议集包括第一跳转链接伪协议。
由上述本申请提供的页面展示方法、装置、服务器、终端、存储介质或系统的实施例可见,本说明书实施例中终端接收服务器发送的跳转链接伪协议集,从而可使本地终端中宿主应用程序基于第一标识信息,获取所述第一跳转链接伪协议;当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述本地终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;所述本地终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面;从而展示所述目标插件应用程序中的第一目标页面;可使宿主页面与插件页面在不了解对方代码逻辑的前提下,实现两者之间的页面跳转;即在不修改宿主页面和插件页面的原始代码的前提下,实现两者之间的页面跳转;当需要扩展跳转页面的时候,也不需要修改宿主页面中的代码逻辑。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于服务器、终端、系统、存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种页面展示方法,其特征在于,所述方法包括:
向服务器发送至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息;
接收所述服务器发送的跳转链接伪协议集,所述跳转链接伪协议集为所述服务器根据所述至少一组页面信息集构建得到,所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系;所述跳转链接伪协议集包括第一跳转链接伪协议;
本地终端中宿主应用程序响应于对第一标识信息的触发操作,获取所述第一跳转链接伪协议;
所述本地终端中宿主应用程序判断所述第一跳转链接伪协议是否在第一预设协议页面信息库中,所述第一预设协议页面信息库包括跳转链接伪协议与宿主页面的映射关系;
当所述第一跳转链接伪协议不在所述第一预设协议页面信息库中时,所述本地终端中宿主应用程序确定无法获取所述第一跳转链接伪协议对应的页面;
当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述本地终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;
所述本地终端中目标插件应用程序从第二预设协议页面信息库中查找与所述第一跳转链接伪协议对应的插件页面,所述第二预设协议页面信息库包括跳转链接伪协议与插件页面的映射关系;以及将与所述第一跳转链接伪协议对应的插件页面确定为第一目标页面;所述目标插件应用程序内嵌于预设宿主应用程序中;
在所述预设宿主应用程序中,展示所述目标插件应用程序中的第一目标页面。
2.根据权利要求1所述的方法,其特征在于,所述当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述本地终端中宿主应用程序向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议包括:
当所述本地终端中宿主应用程序无法获取所述第一跳转链接伪协议对应的页面时,所述本地终端中宿主应用程序基于所述第一跳转链接伪协议,确定所述第一跳转链接伪协议对应的目标插件应用程序的标识信息;
所述本地终端中宿主应用程序向所述目标插件应用程序的标识信息对应的目标插件应用程序发送所述第一跳转链接伪协议。
3.根据权利要求2所述的方法,其特征在于,所述本地终端中宿主应用程序基于所述第一跳转链接伪协议,确定所述第一跳转链接伪协议对应的目标插件应用程序的标识信息的步骤之后,所述方法还包括:
所述本地终端中宿主应用程序判断所述目标插件应用程序的标识信息对应的目标插件应用程序是否已安装;
相应的,所述本地终端中宿主应用程序向所述目标插件应用程序的标识信息对应的目标插件应用程序发送所述第一跳转链接伪协议包括:
若所述目标插件应用程序的标识信息对应的目标插件应用程序已安装,所述本地终端中宿主应用程序执行向所述目标插件应用程序的标识信息对应的目标插件应用程序发送所述第一跳转链接伪协议。
4.根据权利要求1所述的方法,其特征在于,所述本地终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面的步骤之前,所述方法还包括:
所述本地终端中目标插件应用程序获取插件的类加载器;
所述本地终端中目标插件应用程序通过所述插件的类加载器调用所述插件的行为管理类;
相应的,所述本地终端中目标插件应用程序基于所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面包括:
所述本地终端中目标插件应用程序通过所述插件的行为管理类解析所述第一跳转链接伪协议,获取所述第一跳转链接伪协议对应的第一目标页面。
5.根据权利要求1所述的方法,其特征在于,所述跳转链接伪协议集包括第二跳转链接伪协议,所述展示所述目标插件应用程序中的第一目标页面的步骤之后,所述方法还包括:
所述本地终端中目标插件应用程序基于第二标识信息,获取所述第二跳转链接伪协议;
当所述本地终端中目标插件应用程序无法获取所述第二跳转链接伪协议对应的页面时,所述本地终端中目标插件应用程序向所述第二跳转链接伪协议对应的目标宿主应用程序发送所述第二跳转链接伪协议;
所述本地终端中目标宿主应用程序基于所述第二跳转链接伪协议,获取所述第二跳转链接伪协议对应的第二目标页面;
展示所述目标宿主应用程序中的第二目标页面。
6.一种页面展示方法,其特征在于,所述方法包括:
接收终端发送的至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息;
根据所述至少一组页面信息集,构建跳转链接伪协议集;所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系;
向所述终端发送所述跳转链接伪协议集,所述跳转链接伪协议集包括第一跳转链接伪协议;以使所述终端中宿主应用程序响应于对第一标识信息的触发操作,获取所述第一跳转链接伪协议;以及判断所述第一跳转链接伪协议是否在第一预设协议页面信息库中,所述第一预设协议页面信息库包括跳转链接伪协议与宿主页面的映射关系;以及当所述第一跳转链接伪协议不在所述第一预设协议页面信息库中时,确定无法获取所述第一跳转链接伪协议对应的页面;以及当无法获取所述第一跳转链接伪协议对应的页面时,向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;以使所述终端中目标插件应用程序从第二预设协议页面信息库中查找与所述第一跳转链接伪协议对应的插件页面,所述第二预设协议页面信息库包括跳转链接伪协议与插件页面的映射关系;以及将与所述第一跳转链接伪协议对应的插件页面确定为第一目标页面;所述目标插件应用程序内嵌于预设宿主应用程序中;以使所述终端在所述预设宿主应用程序中,展示所述目标插件应用程序中的第一目标页面。
7.一种页面展示系统,其特征在于,所述系统包括:终端和服务器,所述终端包括宿主应用程序和插件应用程序;
所述终端,用于向所述服务器发送至少一组页面信息集,每组页面信息集包括宿主应用程序的页面信息与插件应用程序的页面信息;以及在预设宿主应用程序中,展示目标插件应用程序中的第一目标页面;
所述终端中宿主应用程序,用于响应于对第一标识信息的触发操作,获取第一跳转链接伪协议;以及判断所述第一跳转链接伪协议是否在第一预设协议页面信息库中,所述第一预设协议页面信息库包括跳转链接伪协议与宿主页面的映射关系;当所述第一跳转链接伪协议不在所述第一预设协议页面信息库中时,确定无法获取所述第一跳转链接伪协议对应的页面;以及当无法获取所述第一跳转链接伪协议对应的页面时,向所述第一跳转链接伪协议对应的目标插件应用程序发送所述第一跳转链接伪协议;
所述终端中目标插件应用程序,用于从第二预设协议页面信息库中查找与所述第一跳转链接伪协议对应的插件页面,所述第二预设协议页面信息库包括跳转链接伪协议与插件页面的映射关系;以及将与所述第一跳转链接伪协议对应的插件页面确定为第一目标页面;所述目标插件应用程序内嵌于预设宿主应用程序中;
所述服务器,用于根据所述至少一组页面信息集,构建跳转链接伪协议集;所述跳转链接伪协议集包括每个跳转链接伪协议与所述每个跳转链接伪协议的标识信息的对应关系;以及向所述终端发送所述跳转链接伪协议集,所述跳转链接伪协议集包括第一跳转链接伪协议。
8.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1-5任一或权利要求6所述的页面展示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910982659.4A CN110716786B (zh) | 2019-10-16 | 2019-10-16 | 一种页面展示方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910982659.4A CN110716786B (zh) | 2019-10-16 | 2019-10-16 | 一种页面展示方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110716786A CN110716786A (zh) | 2020-01-21 |
CN110716786B true CN110716786B (zh) | 2021-10-22 |
Family
ID=69212678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910982659.4A Active CN110716786B (zh) | 2019-10-16 | 2019-10-16 | 一种页面展示方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110716786B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367590A (zh) * | 2020-02-27 | 2020-07-03 | 北京字节跳动网络技术有限公司 | 中断事件处理方法及其装置 |
CN111625746B (zh) * | 2020-05-27 | 2024-01-30 | 咪咕文化科技有限公司 | 应用程序页面的显示方法、系统、电子设备和存储介质 |
CN113704659B (zh) * | 2021-09-08 | 2023-07-11 | 杭州默安科技有限公司 | 一种设备终端访问标记方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982169A (zh) * | 2012-12-12 | 2013-03-20 | 北京奇虎科技有限公司 | 用于隔离网页插件的浏览器和方法 |
CN104346342A (zh) * | 2013-07-24 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种加载Flash插件的方法及装置 |
CN106469044A (zh) * | 2015-08-14 | 2017-03-01 | 腾讯科技(深圳)有限公司 | 实现页面跳转的方法和装置 |
CN107229513A (zh) * | 2017-05-27 | 2017-10-03 | 努比亚技术有限公司 | 一种多应用协同工作方法、装置及计算机可读存储介质 |
CN107368361A (zh) * | 2017-06-26 | 2017-11-21 | 中广热点云科技有限公司 | 一种移动终端应用程序切换方法及系统 |
WO2018128677A1 (en) * | 2017-01-04 | 2018-07-12 | Google Llc | Dynamically generating a subset of actions |
CN110221872A (zh) * | 2019-04-22 | 2019-09-10 | 五八有限公司 | 页面跳转方法、装置、电子设备和存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7483970B2 (en) * | 2001-12-12 | 2009-01-27 | Symantec Corporation | Method and apparatus for managing components in an IT system |
US8429474B2 (en) * | 2009-03-30 | 2013-04-23 | Intel Corporation | Multiple protocol data transport |
CN102122243A (zh) * | 2010-01-07 | 2011-07-13 | 炬力集成电路设计有限公司 | 生成应用程序界面的方法、系统和便携式电子设备 |
CN103544005B (zh) * | 2013-09-10 | 2017-08-08 | Tcl集团股份有限公司 | 一种Android自定义控件的扩展开发方法及装置 |
US10558742B2 (en) * | 2015-03-09 | 2020-02-11 | Vinyl Development LLC | Responsive user interface system |
US10084657B2 (en) * | 2015-06-29 | 2018-09-25 | Ca, Inc. | Normalized software-defined networking interface |
US10592350B2 (en) * | 2016-03-09 | 2020-03-17 | Commvault Systems, Inc. | Virtual server cloud file system for virtual machine restore to cloud operations |
CN107741934A (zh) * | 2016-08-22 | 2018-02-27 | 腾讯科技(深圳)有限公司 | 页面处理方法及页面处理系统 |
CN109492181A (zh) * | 2018-10-19 | 2019-03-19 | 中国平安财产保险股份有限公司 | 页面跳转方法、装置、计算机设备和存储介质 |
CN110309005B (zh) * | 2019-06-28 | 2022-03-25 | 百度在线网络技术(北京)有限公司 | 一种功能调用方法、装置、终端设备及存储介质 |
-
2019
- 2019-10-16 CN CN201910982659.4A patent/CN110716786B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982169A (zh) * | 2012-12-12 | 2013-03-20 | 北京奇虎科技有限公司 | 用于隔离网页插件的浏览器和方法 |
CN104346342A (zh) * | 2013-07-24 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种加载Flash插件的方法及装置 |
CN106469044A (zh) * | 2015-08-14 | 2017-03-01 | 腾讯科技(深圳)有限公司 | 实现页面跳转的方法和装置 |
WO2018128677A1 (en) * | 2017-01-04 | 2018-07-12 | Google Llc | Dynamically generating a subset of actions |
CN107229513A (zh) * | 2017-05-27 | 2017-10-03 | 努比亚技术有限公司 | 一种多应用协同工作方法、装置及计算机可读存储介质 |
CN107368361A (zh) * | 2017-06-26 | 2017-11-21 | 中广热点云科技有限公司 | 一种移动终端应用程序切换方法及系统 |
CN110221872A (zh) * | 2019-04-22 | 2019-09-10 | 五八有限公司 | 页面跳转方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110716786A (zh) | 2020-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3342145B1 (en) | Deep linking to mobile application states through programmatic replay of user interface events | |
CN110221872B (zh) | 页面跳转方法、装置、电子设备和存储介质 | |
CN105100191B (zh) | 一种云编译实现Java应用安装的方法、装置及系统 | |
CN108830720B (zh) | 智能合约运行方法、装置、系统和计算机可读存储介质 | |
CN105657191B (zh) | 一种基于Android系统的应用增量升级方法及系统 | |
CN110716786B (zh) | 一种页面展示方法、系统及存储介质 | |
CN111142903B (zh) | 一种基于文件对比的配置文件交互式更新方法及装置 | |
CN102413022B (zh) | 一种应用调试方法和系统 | |
JP5171790B2 (ja) | 情報処理装置、通信システムおよびプログラム | |
EP3499364B1 (en) | Method and device for loading kernel module | |
CN107391104B (zh) | 一种客户端与react native代码的更新依赖管理方法、装置及系统 | |
CN104572114A (zh) | 一种绑定装置、应用更新装置及方法以及应用 | |
CN107193607B (zh) | 用于更新代码文件的方法和装置、存储介质、处理器以及终端 | |
CN107506221A (zh) | 应用程序升级方法、装置及设备 | |
CN106815049B (zh) | 特征库升级的方法及装置 | |
CN111399840B (zh) | 一种模块开发方法及装置 | |
CN112769706B (zh) | 组件化路由方法及系统 | |
CN108540509B (zh) | 一种终端浏览器的处理方法、装置及服务器、智能终端 | |
CN111290801A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN106796521B (zh) | 独立于产品发布的api版本控制 | |
CN112702195A (zh) | 网关配置方法、电子设备及计算机可读存储介质 | |
CN106909434A (zh) | 可执行程序中未定义函数的检测方法及装置 | |
CN116069366A (zh) | 客户端应用程序更新方法及装置、存储介质及电子设备 | |
CN112732265A (zh) | 一种数据处理方法和相关装置 | |
CN114816449A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40020340 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |