发明内容
本公开实施例至少提供一种应用运行方法、桌面应用生成方法、设备、服务器及介质。
第一方面,本公开实施例提供了一种应用运行方法,应用于终端设备,所述方法包括:
在检测到针对桌面应用的触发操作时,从运行的所述桌面应用中获取跳转链接信息,其中,所述桌面应用是根据从第一服务器中下载的安装文件预先完成安装好的;
基于所述跳转链接信息,确定与所述桌面应用关联的目标应用,以及用于运行所述目标应用的目标宿主应用;
在所述目标宿主应用中运行所述目标应用。
在一种可能的实施方式中,所述基于所述跳转链接信息,确定与所述桌面应用关联的目标应用,以及用于运行所述目标应用的目标宿主应用,包括:
基于所述跳转链接信息,确定与所述桌面应用关联的目标应用;
从跳转链接信息中,解析所述目标应用的至少一个宿主应用对应的运行条件信息;
基于所述运行条件信息,在所述至少一个宿主应用中确定出目标宿主应用。
在一种可能的实施方式中,所述基于所述运行条件信息,在所述至少一个宿主应用中确定出目标宿主应用,包括:
确定出所述运行条件信息指示的所述至少一个宿主应用中的、在安装所述桌面应用时运行所述目标应用的宿主应用;
将确定出的宿主应用确定为目标宿主应用。
在一种可能的实施方式中,所述运行条件信息包括宿主应用针对所述目标应用的运行优先级信息;
所述基于所述运行条件信息,在所述至少一个宿主应用中确定出目标宿主应用,包括:
基于所述运行优先级信息,在所述至少一个宿主应用中确定出运行优先级最高的宿主应用;
将所述运行优先级最高的宿主应用确定为目标宿主应用。
在一种可能的实施方式中,所述跳转链接信息包括对应于所述目标应用的至少一个宿主应用的至少一个跳转信息,所述在所述目标宿主应用中运行所述目标应用,包括:
将所述跳转链接信息中对应于所述目标宿主应用的跳转信息,确定为目标跳转信息;
基于所述目标跳转信息所指示的运行界面的位置信息,跳转至所述目标宿主应用的与所述位置信息对应的目标运行界面;
在所述目标运行界面运行所述目标应用。
在一种可能的实施方式中,在检测到针对桌面应用的触发操作之前,所述方法还包括:
在目标应用的任一宿主应用运行所述目标应用的过程中,响应于用户针对所述桌面应用的同意安装触发操作,从第一服务器下载的所述桌面应用的安装文件,根据所述安装文件安装所述桌面应用。
第二方面,本公开实施例提供了一种桌面应用生成方法,应用于服务器,所述方法包括:
接收与目标应用对应的桌面应用的安装文件构建请求;
获取所述目标应用的应用信息,以及与所述目标应用相关联的至少一个宿主应用的应用信息;
基于所述目标应用的应用信息、以及各所述宿主应用的应用信息,生成所述桌面应用的安装文件;
将所述安装文件上传至第一服务器中,以供终端设备下载所述安装文件并根据所述安装文件安装所述桌面应用。
在一种可能的实施方式中,所述基于所述目标应用的应用信息、以及各所述宿主应用的应用信息,生成所述桌面应用的安装文件,包括:
基于所述目标应用的应用信息、以及各所述宿主应用的应用信息,生成包括各所述宿主应用对应的跳转信息的跳转链接信息,以便根据所述跳转链接信息运行任一宿主应用,并在运行中的宿主应用中运行所述目标应用;
构建所述桌面应用的、包括跳转链接信息的安装文件。
在一种可能的实施方式中,所述目标应用的应用信息至少包括所述目标应用的应用标识,所述宿主应用的应用信息至少包括所述宿主应用的应用标识。
第三方面,本公开实施例提供了一种终端设备,所述终端设备包括:
桌面应用触发模块,用于在检测到针对桌面应用的触发操作时,从运行的所述桌面应用中获取跳转链接信息,其中,所述桌面应用是根据从第一服务器中下载的安装文件预先完成安装好的;
目标确定模块,用于基于所述跳转链接信息,确定与所述桌面应用关联的目标应用,以及用于运行所述目标应用的目标宿主应用;
目标应用运行模块,用于在所述目标宿主应用中运行所述目标应用。
在一种可能的实施方式中,所述目标确定模块在用于基于所述跳转链接信息,确定与所述桌面应用关联的目标应用,以及用于运行所述目标应用的目标宿主应用时,具体用于:
基于跳转链接信息,确定与桌面应用关联的目标应用;
从跳转链接信息中,解析所述目标应用的至少一个宿主应用对应的运行条件信息;
基于所述运行条件信息,在所述至少一个宿主应用中确定出目标宿主应用。
在一种可能的实施方式中,所述目标确定模块在用于基于所述运行条件信息,在所述至少一个宿主应用中确定出目标宿主应用时,具体用于:
确定出所述运行条件信息指示的所述至少一个宿主应用中的、在安装所述桌面应用时运行所述目标应用的宿主应用;
将确定出的宿主应用确定为目标宿主应用。
在一种可能的实施方式中,所述运行条件信息包括宿主应用针对所述目标应用的运行优先级信息;
所述目标确定模块在用于基于所述运行条件信息,在所述至少一个宿主应用中确定出目标宿主应用时,具体用于:
基于所述运行优先级信息,在所述至少一个宿主应用中确定出运行优先级最高的宿主应用;
将所述运行优先级最高的宿主应用确定为目标宿主应用。
在一种可能的实施方式中,所述跳转链接信息包括对应于所述目标应用的至少一个宿主应用的至少一个跳转信息,所述目标应用运行模块在用于在所述目标宿主应用中运行所述目标应用时,具体用于:
将所述跳转链接信息中对应于所述目标宿主应用的跳转信息,确定为目标跳转信息;
基于所述目标跳转信息所指示的运行界面的位置信息,跳转至所述目标宿主应用的与所述位置信息对应的目标运行界面;
在所述目标运行界面运行所述目标应用。
在一种可能的实施方式中,所述终端设备还包括桌面应用安装模块,所述桌面应用安装模块用于:
在目标应用的任一宿主应用运行所述目标应用的过程中,响应于用户针对所述桌面应用的同意安装触发操作,从第一服务器下载的所述桌面应用的安装文件,根据所述安装文件安装所述桌面应用。
第四方面,本公开实施例提供了一种第二服务器,所述第二服务器包括:
请求接收模块,用于接收与目标应用对应的桌面应用的安装文件构建请求;
应用信息获取模块,用于获取所述目标应用的应用信息,以及与所述目标应用相关联的至少一个宿主应用的应用信息;
文件生成模块,用于基于所述目标应用的应用信息、以及各所述宿主应用的应用信息,生成所述桌面应用的安装文件;
文件上传模块,用于将所述安装文件上传至第一服务器中,以供终端设备下载所述安装文件并根据所述安装文件安装所述桌面应用。
在一种可能的实施方式中,所述文件生成模块在用于基于所述目标应用的应用信息、以及各所述宿主应用的应用信息,生成所述桌面应用的安装文件时,具体用于:
基于所述目标应用的应用信息、以及各所述宿主应用的应用信息,生成包括各所述宿主应用对应的跳转信息的跳转链接信息,以便根据所述跳转链接信息运行任一宿主应用,并在运行中的宿主应用中运行所述目标应用;
构建所述桌面应用的、包括跳转链接信息的安装文件。
在一种可能的实施方式中,所述目标应用的应用信息至少包括所述目标应用的应用标识,所述宿主应用的应用信息至少包括所述宿主应用的应用标识。
第五方面,本公开实施例提供了一种计算机设备,计算机设备包括处理器、存储器和总线;所述存储器存储有所述处理器可执行的机器可读指令,当所述计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器运行时执行第一方面中任意一种应用运行方法的步骤,或者第二方面中任意一种桌面应用生成方法的步骤。
第六方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面中任意一种应用运行方法的步骤,或者第二方面中任意一种桌面应用生成方法的步骤。
本公开实施例提供的应用运行方法、桌面应用生成方法、设备、服务器及介质,针对需要在宿主应用中运行的目标应用,可以根据目标应用的应用信息以及宿主应用的应用信息,预先构建与目标应用相关联的桌面应用的安装文件,并可以根据安装文件安装桌面应用,在用户触发了桌面应用后,桌面应用可以通过跳转链接信息指示运行对应的宿主应用,并进一步指示宿主应用自动运行目标应用。这样,通过启动桌面应用即可在宿主应用中启动和运行目标应用,大大缩短了查找目标应用的操作、流程和时间,简化了用户针对启动目标应用所需要完成的操作步骤,提高了目标应用的可操作性。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,对于需要在宿主应用中运行的子应用(如小程序),子应用的入口会部署在宿主应用中,用户需要在宿主应用中找到该子应用入口后,才能启动该子应用。可见,用户需要完成比较繁琐的操作步骤后,才能启动需要在宿主应用中运行的子应用,这严重地影响了用户体验。
另外,现有技术还可以为上述子应用创建桌面的快捷方式入口,用户通过快捷方式入口来快速地启动子应用。然而,随着不同厂商的终端设备的系统版本的碎片化变得越来越严重(即系统间的差异化越来越大),对于需要在宿主应用中运行的子应用,在为这类子应用创建桌面的快捷方式入口时,经常会发生无法成功创建快捷方式的情况,这会导致用户针对部分子应用无法基于快捷方式入口的方式来启动。
基于上述研究,本公开提供了一种应用运行方法和桌面应用生成方法,针对需要在宿主应用中运行的目标应用,可以根据目标应用的应用信息以及宿主应用的应用信息,预先构建与目标应用相关联的桌面应用的安装文件,并可以根据安装文件安装桌面应用,在用户触发了桌面应用后,桌面应用可以通过跳转链接信息指示运行对应的宿主应用,并进一步指示宿主应用自动运行目标应用。这样,通过启动桌面应用即可在宿主应用中启动和运行目标应用,大大缩短了查找目标应用的操作、流程和时间,简化了用户针对启动目标应用所需要完成的操作步骤,提高了目标应用的可操作性。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
为便于对本实施例进行理解,对本公开实施例所公开的一种应用运行方法和桌面应用生成方法进行详细介绍,本公开实施例所提供的应用运行方法和桌面应用生成方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备、服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端设备、终端设备、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该应用运行方法和桌面应用生成方法都可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为终端设备为例,对本公开实施例提供的应用运行方法加以说明。首先需要说明的是,在计算机环境下,应用赖以生存的应用环境被称作是宿主环境,这里,将能够为其他的应用提供宿主环境的应用称为宿主应用,应当理解,终端设备基于运行中的宿主应用可以运行其他的应用。例如,今日头条、抖音短视频和西瓜视频等应用都可以作为宿主应用,终端设备可以基于这些宿主应用运行一些小程序,其中,小程序可以是游戏应用、购物应用、阅读应用和音乐应用等,但不限于此。
本公开实施例中的目标应用就是一种可以在宿主应用中运行的应用,可以理解,目标应用可以在多个宿主应用中运行,本公开实施例将用于运行目标应用多个宿主应用中的其中一个宿主应用,定义为目标宿主应用。
这里,桌面应用是终端设备根据从第一服务器中下载的安装文件预先完成安装好的。在此需要说明的是,安装文件可以是代码经过编译、资源经过压缩后使用项目自动化构建工具构建得到的,每个应用的安装文件可以包含该应用的所有内容。以目标应用为适于安卓系统的应用为例,该目标应用的安装文件具体可以是安卓应用程序安装包(Androidapplication package,APK)。
在目标应用的任一宿主应用运行目标应用的过程中,终端设备可以响应于用户针对桌面应用的同意安装触发操作,从第一服务器下载的桌面应用的安装文件,根据安装文件安装桌面应用。在本公开实施例中,安装文件可以是预设的第二服务器根据目标应用的应用信息、以及目标应用的至少一个宿主应用的应用信息的生成的。其中,桌面应用的安装文件的生成过程将在后续内容中做进一步介绍。
在此需要说明的是,桌面应用中并不包含相关联的游戏应用的运行代码和资源等,桌面应用的作用是指示运行相关联的游戏应用的宿主应用、以及指示宿主应用运行该相关联的游戏应用。具体来说,在桌面应用被触发之后,可以基于桌面应用所包含的信息,确定与桌面应用相关联的游戏应用、以及该游戏应用的目标宿主应用,进而运行目标宿主应用、以及指示目标宿主应用运行游戏应用。
参见图1所示,为本公开实施例提供的一种应用运行方法的流程图,方法包括步骤S110~S130,其中:
S110:在检测到针对桌面应用的触发操作时,从运行的桌面应用中获取跳转链接信息。
在本公开实施例中,针对桌面应用的触发操作可以是任意一种能够触发桌面应用的操作形式。例如,在安装桌面应用时,可以在终端设备的桌面生成桌面应用的入口标识,触发操作可以是针对入口标识的点击操作,当然,触发操作还可以是触发口令和触发手势等,但不限于于此。终端设备在检测到上述任一种针对桌面应用的触发操作时,可以触发桌面应用。
以终端设备为手机为例,如图2所示,手机的主界面可以显示有至少一个手机的已安装应用的入口标识,图2中的入口标识1至入口标识4分别代表不同应用的入口标识。其中,入口标识1可以是目标应用的入口标识,入口标识2可以是目标宿主应用的入口标识。
可以理解,如图3所示,手机上安装了桌面应用之后,该手机的主界面上可以显示该桌面应用的入口标识5,针对桌面应用的触发操作可以是用户针对入口标识5的点击操作。
上述桌面应用所包含的信息可以是跳转链接信息。其中,跳转链接信息可以包括至少一个跳转信息,每个跳转信息是基于游戏应用的应用信息、以及游戏应用的一个宿主应用的应用信息生成的。
可选地,目标应用的应用信息至少包括目标应用的应用标识,宿主应用的应用信息至少包括宿主应用的应用标识,跳转信息为包括目标应用的应用标识以及宿主应用的应用标识的URL Scheme。
S120:基于跳转链接信息,确定与桌面应用关联的目标应用,以及用于运行目标应用的目标宿主应用。
这里,由于跳转链接信息中的跳转信息是基于游戏应用的应用信息、以及游戏应用的一个宿主应用的应用信息生成。因此,任一跳转信息可以指示与桌面应用相关联的游戏应用,每个跳转信息可以指示一个用于运行游戏应用的宿主应用。这样,基于跳转链接信息,可以确定出与桌面应用相关联的游戏应用、以及至少一个用于运行游戏应用的宿主应用。在检测到针对桌面应用的触发操作时,终端设备运行桌面应用,并可以从运行的桌面应用中获取跳转链接信息;基于跳转链接信息,确定与桌面应用关联的游戏应用,以及用于运行游戏应用的目标宿主应用。
可以理解,当跳转链接信息仅指示了一个用于运行游戏应用的宿主应用(即跳转链接信息仅包含一个跳转信息)时,可以直接将该宿主应用确定为目标宿主应用;当跳转链接信息指示了多个用于运行游戏应用的宿主应用(即跳转链接信息包含多个跳转信息)时,需要在多个宿主应用中确定出目标宿主应用(相当于在多个跳转信息中确定出一个目标跳转信息)。
在本公开实施例中,跳转链接信息还可以包括运行条件信息。终端设备可以基于跳转链接信息,确定与桌面应用关联的目标应用;从跳转链接信息中,解析目标应用的至少一个宿主应用对应的运行条件信息;基于运行条件信息,在至少一个宿主应用中确定出目标宿主应用。这里,根据运行条件信息,可以在至少一个宿主应用中确定出需要优先被桌面应用触发运行的宿主应用,将确定出的宿主应用作为目标宿主应用。
可选地,运行条件信息可以用于指示安装桌面应用时运行目标应用的宿主应用。终端设备可以确定出运行条件信息指示的至少一个宿主应用中的、在安装桌面应用时运行目标应用的宿主应用;将确定出的宿主应用确定为目标宿主应用。
例如,跳转链接信息包含4个跳转信息,4个跳转信息对应的,4个宿主应用分别为宿主应用a、宿主应用b、宿主应用c和宿主应用d。其中,在步骤S110之前,在宿主应用a运行目标应用的过程中,终端设备响应于用户针对桌面应用的同意安装触发操作,从第一服务器下载的桌面应用的安装文件,并根据安装文件安装桌面应用。在上述情况下,在执行步骤S110时,运行条件信息指示安装桌面应用时运行目标应用的宿主应用为宿主应用a,则可以将宿主应用a确定为目标宿主应用。
可选地,可以在安装桌面应用时,确定当前运行目标应用的宿主应用的应用信息,基于该宿主应用的应用信息生成运行条件信息,使得运行条件信息能够指示该宿主应用为安装桌面应用时运行目标应用的宿主应用,并将运行条件信息记录在跳转连接信息中。
可选地,运行条件信息包括宿主应用针对目标应用的运行优先级信息。终端设备可以基于运行优先级信息,在至少一个宿主应用中确定出运行优先级最高的宿主应用;将运行优先级最高的宿主应用确定为目标宿主应用。
例如,跳转链接信息包含4个跳转信息,4个跳转信息对应的,4个宿主应用分别为宿主应用a、宿主应用b、宿主应用c和宿主应用d。运行优先级信息包含了上述4个宿主应用的运行优先级次序,若根据运行优先级信息确定宿主应用a的运行优先级最高,则可以将宿主应用a确定为目标宿主应用。
可选地,终端设备可以在至少一个宿主应用确定出在安装桌面应用时运行目标应用的宿主应用,若终端设备部署有该宿主应用,则可以将该宿主应用确定为目标宿主应用;若终端设备未部署该宿主应用,则可以在剩余的宿主应用中确定出运行优先级最高的宿主应用,将运行优先级最高的宿主应用确定为目标宿主应用。
S130:在目标宿主应用中运行目标应用。
可以理解,跳转信息、宿主应用和目标应用是一一对应的。针对任一跳转信息,可以基于跳转信息从运行中的桌面应用跳转到与该跳转信息对应的宿主应用,以及在运行的宿主应用中运行该跳转信息对应的目标应用。
具体地,在确定出目标宿主应用后,可以将跳转链接信息对应于目标宿主应用的跳转信息确定为目标跳转信息,终端设备可以基于该目标跳转信息运行目标宿主应用。可以理解,若目标宿主应用处于未启动状态,则可以在运行桌面应用时,基于跳转链接信息直接启动和运行目标宿主应用;若目标宿主应用处于后台运行状态,则可以在运行桌面应用时,基于跳转链接信息将目标宿主应用恢复到前台运行。
进一步地,终端设备可以基于上述目标跳转信息所指示的运行界面的位置信息,在运行的目标宿主应用中,跳转至目标宿主应用的与位置信息对应的目标运行界面,在目标运行界面运行目标应用。
可以理解,在目标运行界面运行目标应用时,终端设备可以根据目标应用的运行情况展示相应的内容。以目标应用为游戏应用为例,如图4所示,在目标运行界面运行游戏应用时,可以进入游戏角色和游戏难度的选择环节,终端设备可以展示选择游戏角色和游戏难度的入口标识。
下面以执行主体为服务器为例,对本公开实施例提供的桌面应用生成方法加以说明。为了与上述存储有安装文件的第一服务器进行区别,本公开实施例将执行桌面应用生成方法的服务器称为第二服务器。第二服务器在执行桌面应用生成方法的过程中,可以与目标应用的运营方和第一服务器进行信息交互。其中,第二服务器可以是是开发端服务器,第一服务器可以是是应用商店服务器。
参见图5和图6所示,图5为本公开实施例提供的一种桌面应用生成方法的流程图,图6为本公开实施例提供的一种桌面应用生成过程的信息交互示意图。如图5所示,桌面应用生成方法包括步骤S210~S240,其中:
S210:接收与目标应用对应的桌面应用的安装文件构建请求。
如图6所示,目标应用的运营方的人员(如目标应用的开发者)可以将向第二服务器发送针对目标应用的桌面应用的安装文件构建请求。
S220:获取目标应用的应用信息,以及与目标应用相关联的至少一个宿主应用的应用信息。
如图6所示,第二服务器在接收到安装文件构建请求后,获取目标应用的应用信息,以及目标应用的至少一个宿主应用的应用信息。
这里,安装文件构建请求可以包含目标应用的应用信息,第二服务器可以在安装文件构建请求中提取出目标应用的应用信息。安装文件构建请求也可以包含目标应用的应用信息至少一个宿主应用的应用信息,第二服务器可以在安装文件构建请求中提取出至少一个宿主应用的应用信息;或者,第二服务器的数据库中预先存储有至少一个宿主应用的应用信息,第二服务器可以在数据库调用至少一个宿主应用的应用信息。当然,第二服务器获取应用信息的方式不限于此,其他可能的方式此处不再赘述。
S230:基于目标应用的应用信息、以及各宿主应用的应用信息,生成桌面应用的安装文件。
第二服务器可以是Http服务器或其他类型服务器,第二服务器对外提供一个针对生成安装文件任务的接口,第二服务器通过该接口接收安装文件构建请求后,根据目标应用的应用信息、各宿主应用的应用信息以及预设的代码模板,通过项目自动化构建工具(如Gradle)构建桌面应用的安装文件。具体地,第二服务器能够基于目标应用的应用信息、以及各宿主应用的应用信息,生成包括各宿主应用对应的跳转信息的跳转链接信息,之后构建包括跳转链接信息的安装文件。
可选地,目标应用的应用信息至少包括目标应用的应用标识,宿主应用的应用信息至少包括宿主应用的应用标识,跳转信息为包括宿主应用的和应用标识目标应用的应用标识的URL Scheme。
上述的终端设备可以根据跳转链接信息运行任一宿主应用,并在运行中的宿主应用中运行目标应用。具体来说,跳转信息、宿主应用和目标应用是一一对应的,针对任一跳转信息,上述的终端设备可以基于跳转信息从运行中的桌面应用跳转到与该跳转信息对应的宿主应用,进而在宿主应用中运行该跳转信息对应的目标应用。
可选地,在生成桌面应用的安装文件之前,第二服务器还可以获取生成桌面应用的入口标识所需要的标识信息。第二服务器可以基于标识信息、目标应用的应用信息、以及各宿主应用的应用信息,生成桌面应用的安装文件。这样,上述的终端设备在根据安装文件安装桌面应用时,还可以在终端设备的桌面生成桌面应用的入口标识。
桌面应用对应的标识信息可以包括桌面应用的图标和名称中的至少一项。可选地,桌面应用对应的标识信息可以与目标应用的标识信息相同,即桌面应用的入口标识的图标可以与目标应用的图标相同,桌面应用的入口标识的名称也可以与目标应用的名称相同。
标识信息可以由目标应用的运营方的提供,例如,目标应用的运营方向第二服务器发送的安装文件构建请求中可以包含标识信息,第二服务器可以在安装文件构建请求中提取出标识信息。
可选地,在该步骤中,还可以确定宿主应用针对目标应用的运行优先级信息,运行优先级信息包含了目标应用的各宿主应用的运行优先级次序,将运行优先级信息记录在跳转链接信息中。
S240:将安装文件上传至第一服务器中。
第一服务器可以是内容分发网络(Content Delivery Network,CDN)服务器。如图6所示,第二服务器在生成桌面应用的安装文件之后,可以将安装文件上传至第一服务器,第二服务器在成功接收到安装文件之后,可以向第二服务器反馈安装文件上传成功的消息,第二服务器向目标应用的运营方反馈安装文件构建成功的消息。
安装文件成功上传到第一服务器之后,上述的终端设备可以在第一服务器下载安装文件,并根据安装文件安装目标应用。应当理解,本公开实施例中安装目标应用的原理与安装常规的应用的原理相同,相比于为目标应用创建桌面的快捷方式入口,根据安装文件安装目标应用的成功率和稳定性更高。因此,对于任一需要在宿主应用运行的应用,都可以通过对应的桌面应用来启动该应用。
基于同一发明构思,本公开实施例中还提供了与应用运行方法对应的终端设备,由于本公开实施例中的终端设备解决问题的原理与本公开实施例上述应用运行方法相似,因此终端设备的实施可以参见方法的实施,重复之处不再赘述。
请参照图7和图8,图7为本公开实施例提供的一种终端设备的示意图之一,图8为本公开实施例提供的一种终端设备的示意图之二。如图7所示,终端设备包括桌面应用触发模块410、目标确定模块420和目标应用运行模块430。
桌面应用触发模块410用于在检测到针对桌面应用的触发操作时,从运行的桌面应用中获取跳转链接信息,其中,桌面应用是根据从第一服务器中下载的安装文件预先完成安装好的;
目标确定模块420用于基于跳转链接信息,确定与桌面应用关联的目标应用,以及用于运行目标应用的目标宿主应用;
目标应用运行模块430用于在目标宿主应用中运行目标应用。
在一种可能的实施方式中,目标确定模块420在用于基于跳转链接信息,确定与桌面应用关联的目标应用,以及用于运行目标应用的目标宿主应用时,具体用于:
基于跳转链接信息,确定与桌面应用关联的目标应用;
从跳转链接信息中,解析目标应用的至少一个宿主应用对应的运行条件信息;
基于运行条件信息,在至少一个宿主应用中确定出目标宿主应用。
在一种可能的实施方式中,目标确定模块420在用于基于运行条件信息,在至少一个宿主应用中确定出目标宿主应用时,具体用于:
确定出运行条件信息指示的至少一个宿主应用中的、在安装桌面应用时运行目标应用的宿主应用;
将确定出的宿主应用确定为目标宿主应用。
在一种可能的实施方式中,运行条件信息包括宿主应用针对目标应用的运行优先级信息;
目标确定模块420在用于基于运行条件信息,在至少一个宿主应用中确定出目标宿主应用时,具体用于:
基于运行优先级信息,在至少一个宿主应用中确定出运行优先级最高的宿主应用;
将运行优先级最高的宿主应用确定为目标宿主应用。
在一种可能的实施方式中,跳转链接信息包括对应于目标应用的至少一个宿主应用的至少一个跳转信息,目标应用运行模块430在用于在目标宿主应用中运行目标应用时,具体用于:
将跳转链接信息中对应于目标宿主应用的跳转信息,确定为目标跳转信息;
基于目标跳转信息所指示的运行界面的位置信息,跳转至目标宿主应用的与位置信息对应的目标运行界面;
在目标运行界面运行目标应用。
在一种可能的实施方式中,如图8所示,终端设备还包括桌面应用安装模块440,桌面应用安装模块440用于:
在目标应用的任一宿主应用运行目标应用的过程中,响应于用户针对桌面应用的同意安装触发操作,从第一服务器下载的桌面应用的安装文件,根据安装文件安装桌面应用。
关于终端设备中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一发明构思,本公开实施例中还提供了与桌面应用生成方法对应的服务器,由于本公开实施例中的服务器解决问题的原理与本公开实施例上述桌面应用生成方法相似,因此服务器的实施可以参见方法的实施,重复之处不再赘述。
请参照图9,为本公开实施例提供的一种第二服务器的示意图。如图9所示,第二服务器包括请求接收模块610、应用信息获取模块620、文件生成模块630和文件上传模块640。
请求接收模块610用于接收与目标应用对应的桌面应用的安装文件构建请求。
应用信息获取模块620用于获取目标应用的应用信息,以及与目标应用相关联的至少一个宿主应用的应用信息。
文件生成模块630用于基于目标应用的应用信息、以及各宿主应用的应用信息,生成桌面应用的安装文件。
文件上传模块640用于将安装文件上传至第一服务器中,以供终端设备下载安装文件并根据安装文件安装桌面应用。
在一种可能的实施方式中,文件生成模块630在用于基于目标应用的应用信息、以及各宿主应用的应用信息,生成桌面应用的安装文件时,具体用于:
基于目标应用的应用信息、以及各宿主应用的应用信息,生成包括各宿主应用对应的跳转信息的跳转链接信息,以便根据跳转链接信息运行任一宿主应用,并在运行中的宿主应用中运行目标应用;
构建桌面应用的、包括跳转链接信息的安装文件。
在一种可能的实施方式中,目标应用的应用信息至少包括目标应用的应用标识,宿主应用的应用信息至少包括宿主应用的应用标识。
关于第二服务器中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一发明构思,本公开实施例还提供了一种计算机设备,如图10所示,为本公开实施例提供的计算机设备的结构示意图,计算机设备包括处理器710、存储器720和总线730。存储器720用于存储执行指令,包括内存721和外部存储器722。这里的内存721也称内存储器,用于暂时存放处理器710中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器710通过内存721与外部存储器722进行数据交换。
在一种可能的实施方式中,当计算机设备运行时,处理器710与存储器720之间通过总线730通信,使得处理器710执行以下指令:
在检测到针对桌面应用的触发操作时,确定与桌面应用关联的目标应用,以及用于运行目标应用的目标宿主应用,其中,桌面应用是根据从第一服务器中下载的安装文件预先完成安装好的;
在目标宿主应用中运行目标应用。
在一种可能的实施方式中,当计算机设备运行时,处理器710与存储器720之间通过总线730通信,使得处理器710执行以下指令:
接收与目标应用对应的桌面应用的安装文件构建请求;
获取目标应用的应用信息,以及与目标应用相关联的至少一个宿主应用的应用信息;
基于目标应用的应用信息、以及各宿主应用的应用信息,生成桌面应用的安装文件;
将安装文件上传至第一服务器中,以供终端设备下载安装文件并根据安装文件安装桌面应用。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的应用运行方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的应用运行方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。