CN105955833B - 引擎调用方法和装置 - Google Patents
引擎调用方法和装置 Download PDFInfo
- Publication number
- CN105955833B CN105955833B CN201610396828.2A CN201610396828A CN105955833B CN 105955833 B CN105955833 B CN 105955833B CN 201610396828 A CN201610396828 A CN 201610396828A CN 105955833 B CN105955833 B CN 105955833B
- Authority
- CN
- China
- Prior art keywords
- interface
- engine
- game engine
- resource
- application
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种引擎调用方法和装置,该方法包括:确定处理当前需展现的资源所需的引擎,该引擎具有至少一个可供外部调用的外部接口,该外部接口是按照指定的接口定义集合中与该外部接口所实现的功能对应的接口定义封装成的;该接口定义集合中包括:实现不同功能的接口所对应的接口定义;确定当前通过调用该引擎所需实现的目标功能;从预置的该接口定义集合中,确定出实现该目标功能的接口所对应的目标接口定义;调用该引擎中按照该目标接口定义封装成的外部接口。本申请中该方法和装置可以提高终端中应用能够展现的资源的数量。
Description
技术领域
本申请涉及网络通信技术领域,特别涉及一种引擎调用方法和装置。
背景技术
随着网络技术的发展,网络上的资源(如,游戏、视频等)日益丰富。在终端的应用中包含能够解析某款资源的引擎时,该应用可以调用该引擎对网络上的该款资源进行解析,并展现出该款资源。如,以资源为一款HTML5游戏为例,如果应用中包含支持该款HTML5游戏的游戏引擎,该应用通过调用该游戏引擎便可以解析该款HTML5游戏的代码,避免了单独下载并安装该款游戏的安装包。
然而只有当某款资源是基于该应用中的该引擎生成的,该引擎才可以解析该资源,从而通过应用展现出该资源;相应的,如果应用不能调用解析该资源的引擎,应用便无法展现该款资源。如,仍以HTML5游戏为例进行说明,如果该款HTML5游戏是基于该应用中的游戏引擎开发的HTML5游戏,那么该游戏引擎便可以对该款HTML5游戏的代码进行解析;否则,游戏引擎便无法解析该款HTML5游戏的代码。而受限于应用安装包的大小,在应用的安装包中一般仅包含一套引擎,应用只能调用该款引擎,而由于该引擎只能对特定类型的资源进行解析,从而使得应用能够展现的资源的数量非常有限。
发明内容
本申请提供了一种引擎调用方法和装置,以提高终端中应用能够展现的资源的数量。
为了解决上述问题,一方面,本申请提供了一种引擎调用方法,其特征在于,所述方法包括:
确定处理当前需展现的资源所需的引擎,所述引擎具有至少一个可供外部调用的外部接口,所述外部接口是按照指定的接口定义集合中与所述外部接口所实现的功能对应的接口定义封装成的;所述接口定义集合中包括:实现不同功能的接口所对应的接口定义;
确定当前通过调用所述引擎所需实现的目标功能;
从预置的所述接口定义集合中,确定出实现所述目标功能的接口所对应的目标接口定义;
调用所述引擎中按照所述目标接口定义封装成的外部接口。
另一方面,本申请还提供了一种引擎调用装置,包括:
引擎确定单元,用于确定处理当前需展现的资源所需的引擎,所述引擎具有至少一个可供外部调用的外部接口,所述外部接口是按照指定的接口定义集合中与所述外部接口所实现的功能对应的接口定义封装成的;所述接口定义集合中包括:实现不同功能的接口所对应的接口定义;
接口功能确定单元,用于确定当前通过调用所述引擎所需实现的目标功能;
接口定义确定单元,用于从预置的所述接口定义集合中,确定出实现所述目标功能的接口所对应的目标接口定义;
接口调用单元,用于调用所述引擎中按照所述目标接口定义封装成的外部接口。
由以上可知,本申请中将实现不同功能的接口所需的接口定义进行了统一,抽象出一套接口定义集合,并依据该接口定义集合对该引擎进行封装,使得封装该引擎中外部接口所采用的接口定义与该接口定义集合中该外部接口所实现的功能对应的接口定义一致,这样,在终端中预置了该接口定义集合之后,终端可以根据当前调用引擎所需实现的目标功能,确定该引擎中实现该目标功能的接口所对应的接口定义,从而依据确定出的接口定义,调用该引擎中按照该接口定义封装的外部接口,以实现该目标功能。可见,对于任何引擎,只要引擎的外部接口是按照该接口定义集合进行封装的,终端便可以根据调用引擎所需实现的功能,从该接口定义集合中查询出该引擎中实现该功能的接口所对应的接口定义,并依据该接口定义对该引擎中实现该功能的外部接口进行调用,从而使得终端可调用的引擎数量增多,进而使得终端上可以运行基于多种引擎生成的资源。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一种引擎调用方法一种应用场景的示意图;
图2示出了本申请一种引擎调用方法一个实施例的流程示意图;
图3示出了本申请一种引擎调用方法又一个实施例的流程交互示意图;
图4示出了本申请一种引擎调用方法又一个实施例的流程交互示意图
图5示出了在应用于运行HTML5游戏的场景下,本申请一种引擎调用方法一个实施例的流程交互示意图;
图6示出了本申请一种引擎调用装置一个实施例的结构示意图;
图7示出了本申请一种引擎调用装置又一个实施例的结构示意图;
图8示出了本申请一种终端一个实施例的硬件架构示意图。
具体实施方式
本发明实施例描述的业务场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的引擎调用方法适用于终端从网络中获取资源,并调用用于解析该资源的引擎对该资源进行处理的场景。如图1,示出了本申请的引擎调用方法所适用于的一种场景示意图;在该场景中包括终端101以及应用服务器102。该终端可以为手机、平板电脑等等。终端与服务器之间可以通过网络连接。
其中,终端101中运行用于展现网络中资源的应用,如该应用可以为也可以是即时通讯应用、即时通讯应用的浏览器、手机管家等等应用。用户可以在终端上选择或输入所需展现的资源;终端确定出该资源的标识,如资源的名称,然后,终端上的应用可以向该应用服务器102请求该资源或者该资源的资源地址,以获取该资源对应的数据,应用通过调用用于解析该资源的引擎对该资源的数据进行解析,展现出资源。
如,在本申请实施例中,该资源是指在展现过程中,可呈现出连续画面变化的动态资源,如,该资源可以为图像帧序列所构成的动态资源,例如,该资源可以为游戏或视频。例如,该游戏可以为超文本标记语言(HTML,HyperText Markup Language)5游戏,在应用中可以展现出可供用户选择的HTML5游戏,用户选择了一款HTML5游戏之后,应用调用支持该款HTML5游戏的引擎对该款HTML5游戏进行解析,以在终端上运行该HTML5游戏。
发明人通过对现有的引擎调用过程进行研究发现:考虑到应用的安装包不能过大,应用的安装包中仅仅集成了一款引擎提供的文件,并在应用的代码中包括调用该款引擎中各个接口的代码,这样,需要处理资源时,该应用通过调用该引擎的不同接口来实现不同的功能。但是对于未集成到该应用中的其他引擎而言,由于应用并不了解其他引擎中各个接口的接口定义,无法识别引擎中的各个接口,也无法确定实现某种功能需要调用引擎的哪个或哪些接口,从而使得应用无法调用其他引擎,自然无法通过调用其他引擎来使得应用展现其他引擎所支持的资源,使得应用无法展现基于该应用内置的引擎之外的其他引擎所生成的资源。
而且,如果希望应用能够对另外一款引擎进行调用时,现有一般需要更新应用的安装包的版本,以在应用的安装包包含能够适配该引擎的代码,即能够对该引擎的接口进行调用的代码,同时,终端需要重新下载该应用的安装包的更新版本,并更新该终端中该应用的版本,整个过程较为复杂。
为了能够在不更新应用的版本的前提下,使得终端中该应用能够对多个不同的引擎进行调用,进而使得应用可以展现出基于不同引擎开发出的游戏或者视频等资源,在本申请实施例中基于引擎中不同接口所实现的功能,对接口所需的接口定义进行了统一,抽象出一套接口定义集合,在该接口定义集合中包含了实现不同功能的接口所对应的接口定义,其中,实现相同功能的接口对应相同的接口定义。同时,基于该接口定义集合对引擎的接口进行封装得到至少一个外部接口,使得封装该外部接口所采用的接口定义与该接口定义集合中该外部接口所实现的功能对应的接口定义一致,因此,终端依据该接口定义集合中不同功能的接口所对应的接口定义,便可以对引擎中的接口进行调用。
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
参见图2,其示出了本申请一种引擎调用方法一个实施例的流程示意图,本实施例可以应用于终端,该终端可以理解为应用所在的客户端。本实施例的方法可以包括:
201,确定处理当前需展现的资源所需的引擎。引擎用于对资源进行解析、渲染等处理,如,运行HTML5游戏需要游戏引擎;又如,展现网络中视频需要解码引擎。而引擎一般具有多个可供调用的接口,调用引擎的不同接口可以实现不同的功能。
其中,当前需要展现的资源为该应用中可以接入的多款资源中的一款,而处理当前需展现的资源所需的引擎为该应用可以调用的多款引擎的一款引擎。在本申请实施例中,该引擎具有至少一个可供外部调用的外部接口,且该外部接口均为按照该指定的接口定义集合中,与该外部接口所实现的功能对应的接口定义封装成的。为了便于区分,在本申请实施例中将引擎中封装后,能够被外部调用的接口称为外部接口。其中,外部接口所实现的功能可以理解为调用该外部接口所能实现的功能。
其中,该接口定义集合中包括:实现不同功能的接口所对应的接口定义。接口定义中可以包括表征或描述该接口的参数,通过接口定义可以区分不同的接口。如,接口定义可以包括接口的接口名(也可以称为方法签名),当然,接口定义还可以包括接口的访问权限等。
可以理解的是,由于引擎中的外部接口均为按照该指定的接口定义集合中,与该外部接口所实现的功能对应的接口定义封装成的,因此,该外部接口的接口定义是属于该接口定义集合中的接口定义,而且接口定义集合中与该外部接口实现相同功能的接口所对应的接口定义就是该外部接口的接口定义。同时,该接口定义集合中实现某个功能的接口所对应的接口定义是固定的,因此,对于按照该接口定义集合封装的任意引擎而言,实现相同功能的外部接口所具有的接口定义都是相同的,从而实现了不同引擎中的接口定义的统一。
如,以接口定义为接口名为例,接口定义集合中可以包括:实现不同功能的接口所对应的接口名。例如,实现功能1的接口所对应的接口名为接口a;实现功能2的接口所对应的接口名为接口b。这样,按照该接口定义集合对引擎的接口进行封装后,引擎中接口名为接口b的外部接口就是实现功能2的外部接口。
在实际应用中,接口定义集合中可以包括多种实现不同功能的接口所对应的接口定义。举例说明,接口定义集合中可以包括以下几种实现不同功能的接口所对应的接口定义:
用于实现引擎初始化的引擎初始化接口;
用于获取当前展现画面的画面获取接口;
在资源展现过程中,用于实现展现暂停的暂停接口(如,资源的展现界面从前台切换至后台时,该多媒体展现也需自动暂停);
用于恢复多媒体运行的恢复接口(如,资源展现过程中,当资源的展现界面从后台切换至前台时,该展现界面也需自动恢复);
用于退出资源展现的退出接口;
用于输出消息的消息接口(如,用于输出资源加载进度通知等消息)。
在接口定义集合中包含了以上几种实现不同功能的接口所对应的接口定义,这样,对于任意引擎而言,可以按照接口定义集合中包含的以上几种功能的接口,将引擎的接口进行封装后,引擎可以具有以上多种功能的多种外部接口,每个外部接口所实现的功能对应该接口定义集合中以上多种功能中的一种;当然,引擎也可以仅仅具有实现以上多个功能中的至少一个功能的外部接口。
可选的,在本申请实施例中,引擎中的外部接口是按照指定的接口定义集合中与该外部接口所实现的功能对应的接口定义,将引擎中至少一个内部接口进行封装得到的,也就是说,引擎中的外部接口是由至少一个内部接口封装而言,在本申请中内部接口是指开放商开发出的,未按照该接口定义集合中的接口定义封装的接口,只不过为了便于与外部接口进行区分,将引擎中封装前的接口称为内部接口。具体的,该外部接口指向至少一个内部接口,而内部接口实际上指向了该引擎中部分或全部代码。
可以理解的是,不同开放商开发出的引擎中内部接口的数量以及功能也会有所差异,这样,不同引擎实现同一功能所需调用的内部接口以及内部接口的数量均会有所差异,因此,在对引擎的内部接口进行封装时,不同引擎中封装成实现同一功能的外部接口所需的内部接口以及内部接口的数量也会有所差异。如,引擎1中实现引擎初始化,需要调用引擎1中的内部接口m和内部接口n,那么按照接口定义集合中,实现引擎初始化的接口名为接口M,这样就需要将接口m和接口n封装为接口名为接口M的外部接口;而引擎2中实现引擎初始化只需要调用内部接口s,则按照接口定义集合,只需要将内部接口s封装为接口名为接口M的外部接口。
可以理解的是,确定展现资源所需的引擎的方式可以有多种。如,可以在终端中预置不同资源的详情,该详情中可以包括资源与引擎之间的对应关系,基于该对应关系,可以确定该资源所需的引擎。可选的,在终端中该应用对应的应用服务器中可以存储不同资源所对应的游戏引擎,终端可以从服务器中查询该资源所需的引擎。
202,确定当前通过调用该引擎所需实现的目标功能。
其中,为了便于区分,将当前需要通过该调用引擎来实现的功能称为目标功能。
可以理解的是,在处理该资源的过程中,不同时刻调用引擎所需实现的功能也会有所不同。如,在处理资源之前,需要对引擎进行初始化,此时需要调用引擎需要实现的功能为引擎初始化;又如,在展现多媒体过程中,可能需要对画面进行暂停,此时就需要调用引擎实现暂停功能。
确定当前通过调用引擎所需实现的目标功能的方式可以有多种,如可以依据资源的处理进度来确定;也可以是根据用户输入的指令来确定,如,用户输入暂停该资源的请求时,则需要调用引擎实现资源的展现画面的暂停,又如,在当用户关闭终端中展现该资源的应用或者关闭该资源的展现窗口时,就需要调用引擎实现该展现窗口退出的功能。
203,从预置的该接口定义集合中,确定出实现该目标功能的接口所对应的目标接口定义。
由于接口定义集合中包括了实现不同功能的接口所对应的接口定义,在步骤202确定出当前希望调用引擎实现的目标功能之后,可以从该接口定义集合中确定出实现该目标功能的接口所对应的接口定义。在本申请实施例中,为了便于区分,将该实现该目标功能的接口所对应的接口定义称为目标接口定义。
204,调用该引擎中按照该目标接口定义封装成的外部接口。
在确定出需要调用实现该目标功能的接口所对应的目标接口定义之后,便可以依据该目标接口定义,调用引擎有具有该目标接口定义的外部接口,即按照该目标接口定义封装成的外部接口。
可选的,在调用引擎中按照该目标接口封装成的外部接口之后,可以运行该外部接口所指向的代码,实现该外部接口对应的目标功能。进一步的,在外部接口由至少一个内部接口封装的情况下,具体可以运行封装成该外部接口的至少一个内部接口所指向的代码,以实现该目标功能,完成该引擎的初始化或者对资源的相应处理。
需要说明的是,本申请实施例中该应用可以对支持多款不同资源的多款不同的游戏引擎进行调用。在不同时刻应用需要接入的资源可能是不同的,这样,在不同时刻应用需要调用不同的引擎,但是当应用需要接入的资源确定时,该应用所需调用的引擎也是固定,而本申请仅仅是以一次引擎的调用为例进行说明的,然而可以理解的是,在本申请实施例中对于本次调用的引擎之外的其他引擎的调用过程是相似的,因此,基于本实施例的方法可以实现对多款不同的游戏引擎进行调用。
由以上可知,在本申请实施例中,将实现不同功能的接口所需的接口定义进行了统一,抽象出一套接口定义集合,并依据该接口定义集合对该引擎进行封装,使得封装该引擎中外部接口所采用的接口定义与该接口定义集合中该外部接口所实现的功能对应的接口定义一致,这样,在终端中预置了该接口定义集合之后,终端可以根据当前调用引擎所需实现的目标功能,确定该引擎中实现该目标功能的接口所对应的接口定义,从而依据确定出的接口定义,调用该引擎中按照该接口定义封装的外部接口,以实现该目标功能。可见,对于任何引擎,只要引擎的外部接口是按照该接口定义集合进行封装的,终端便可以根据调用引擎所需实现的功能,从该接口定义集合中查询出该引擎中实现该功能的接口所对应的接口定义,并依据该接口定义对该引擎中实现该功能的外部接口进行调用,从而使得终端可调用的引擎数量增多,进而使得终端上可以运行基于多种引擎生成的资源。
可以理解的是,为了便于应用的发布,应用的安装包不应过大,而现有的应用中集成了某款引擎,这样由于的引擎的安装包所占用的体积,必然增大了该款应用的安装包的体积。可选的,在本申请实施例中应用的安装包中可以不包含任何引擎的安装包,而在需要某款游戏的引擎时,再下载该款引擎。而由于本申请实施例中,该应用中预置了统一的接口定义集合,基于该接口定义集合便可以实现对基于该接口定义集合封装的引擎进行调用,所以无需在应用中单独针对每款引擎集成调用该引擎的代码,从而为应用中无需集成引擎提供的条件。
具体的,本申请实施例在确定出处理当前需展现的资源所需的引擎之后,还可以:获取该引擎的下载地址,然后,依据该引擎的下载地址,下载并安装该引擎。
其中,获取该引擎的下载地址的方式也可以有多种,如,可以在终端存储不同引擎对应的下载地址。可选的,为了减少终端的数据储量,并提高查询效率,可以应用服务器中存储不同引擎的下载地址,并通过向该应用服务器发送查询下载地址的请求,获取该引擎的下载地址。
可以理解的是,在实际应用中,在终端已经安装了某款引擎之后,如果后续再需要该款引擎,则无需再重复下载该款引擎。具体的,可以参见图3,其示出了本申请一种引擎调用方法又一个实施例的流程示意图,本实施例的方法应用于终端,该终端为应用所在的客户端。本实施例的方法可以包括:
301,确定处理当前需展现的资源所需的引擎。
其中,该引擎具有至少一个可供外部调用的外部接口,该外部接口是按照指定的接口定义集合中与该外部接口所实现的功能对应的接口定义封装成的。
该接口定义集合中包括:实现不同功能的接口所对应的接口定义。
302,应用检测该应用所在的终端上是否安装有该引擎,如果是,则执行305;如果否,则执行303。
303,获取该引擎的下载地址。
304,依据该下载地址,下载并安装该引擎。
可选的,在终端中安装该引擎之后,还可以加载该引擎,以实现引擎的实例化。
305,下载展现该资源的媒体数据。
其中,该步骤305为可选步骤,为了后续可以处理该资源,需要下载资源,以便后续调用引擎的外部接口对该资源进行处理,以实现资源的展现。
可选的,下载展现该资源的资源数据可以包括:获取该资源的下载地址、依据该资源的下载地址,下载展现该资源的媒体数据。如,下载运行HTML5游戏所需的游戏数据;或者,下载展现视频所需的视频数据。
其中,获取该资源的下载地址的方式可以有多种,如,终端中存储资源的下载地址,则可以直接查询终端中该资源的下载地址。可选的,可以在应用对应的应用服务器中存储该资源的下载地址,然后从该服务器中获取该资源的下载地址。
306,确定当前通过调用该引擎所需实现的目标功能。
可以理解的是,在终端安装并加载该引擎之后,通过调用该引擎的不同接口可以实现不同的功能,在展现资源之前以及展现资源的过程中,不同时刻调用该引擎所需实现的功能也不同,因此,在该终端安装并加载该引擎之后,该步骤305至307并非仅仅执行一次,只要需要调用引擎执行某个功能时,均需要执行该步骤305至307。
307,从预置的该接口定义集合中,确定出实现该目标功能的接口所对应的目标接口定义。
308,调用该引擎中按照该目标接口定义封装的外部接口。
可选的,调用该外部接口可以是向该引擎发送调用请求,该调用请求携带有该目标接口定义。相应的,引擎可以依据该目标接口定义确定当前需要调用哪个外部接口,进而实现对该外部接口的调用。进一步的,引擎确定出该目标接口定义所对应的外部接口之后,可以确定该外部接口所关联的至少一个内部接口,即封装成该外部接口的至少一个内部接口。
309,运行该外部接口所指向的代码,以实现对资源的处理。
运行该外部接口所指向的代码,实际上是为了基于该外部接口所实现的目标功能,对该资源进行与该目标功能对应的处理。
可选的,该步骤具体为:运行封装成该外部接口的至少一个内部接口所指向的代码,以实现该目标功能,完成该引擎的初始化或者对资源的相应处理。
为了便于理解本申请实施例的引擎调用方法,下面以通过向服务器查询展现资源所需的引擎、该引擎的下载地址以及该资源的下载地址为例,对本申请实施例中终端与应用服务器的交互过程进行介绍。参见图4,其示出了本申请一种引擎调用方法一个优选的实施例的流程交互示意图,本实施例的方法可以包括:
401,应用显示出可供选择的资源列表。
具体的,终端中的应用支持哪些网络中的资源的展现,可以将这些资源的名称等标识以列表的形式在应用的某个界面中展现出来。在该资源列表中可以包括应用可以接入的多款资源的信息,相应的,该应用可以调用该多款资源所需的多款引擎。
如,以HTML游戏为例,应用支持哪些HTML5游戏的运行,可以以在游戏列表展现界面中列表的形式展现出这些HTML5游戏的名称,以便用户选择当前需要运行的HTML5游戏。
402,应用依据用户的选择,确定当前需要展现的资源的标识。
其中,该资源的标识用于唯一标识该资源,如该标识可以为资源的名称。
403,应用向应用服务器发送查询请求,该查询请求携带有该资源的标识。
其中,该查询请求用于请求查询该资源的关联信息。
该关联信息至少包括:用于解析该资源的引擎的标识,该资源的下载地址。当然,该关联信息还可以包括该资源的图标、名称等等。
404,应用服务器向该应用返回该资源的关联信息。
该关联信息至少包括引擎的标识和该资源的下载地址。
其中,引擎的标识可以为引擎的名称,也可以是其他用于唯一表示该引擎的标志信息。
405,应用检测终端上是否已安装有该引擎的标识对应的引擎。
406,如果终端尚未安装该引擎的标识对应的引擎,则应用向该应用服务器请求该引擎的标识对应的下载地址。
407,应用服务器依据该引擎的标识,查询该引擎的标识对应的引擎的下载地址。
408,应用接收该应用服务器返回的该引擎的下载地址。
409,应用依据该引擎的下载地址,下载该引擎的安装包,并在终端上安装该引擎。
410,应用加载该引擎,以实现该引擎的实例化。
在已经安装该引擎的情况下,应用加载该引擎。
411,应用依据资源的下载地址,向该下载地址所指向的资源服务器请求该资源的数据。
可以理解的是,本申请实施例是以资源存储到资源服务器中为例进行说明,但是在实际应用中,该资源也可以存储应用服务器中,此时该资源服务器与该应用服务器可以理解为同一个服务器。
412,应用接收该资源服务器返回的该资源的数据。
413,确定当前通过调用该引擎所需实现的目标功能。
414,从预置的该接口定义集合中,确定出实现该目标功能的接口所对应的目标接口定义。
415,调用该引擎中按照该目标接口定义封装的外部接口。
如,在引擎初始化之前,需要调用引擎实现引擎初始化的功能,此时需要从接口定义集合中获取用于实现引擎初始化的接口所对应的接口定义,以依据该接口定义调用引擎中用于实现引擎初始化的外部接口;而在引擎初始化之后,需要对在应用中展现资源的画面,此时,则需要实现获取画面的功能,则从接口定义集合中获取用于获取画面功能的接口对应的接口定义,并基于该接口定义对引擎中实现获取画面功能的接口进行调用,以展现资源;而在展现资源之后,根据用户需求或者播放进度等,可能需要对画面进行暂停、恢复等操作,则在该该种情况下,又需要通过调用引擎实现其他功能。
416,运行封装外部接口的至少一个内部接口所指向的代码,以实现该目标功能。
可以理解的是,本申请实施例的引擎调用方法可以应用于多种场景中。
如,在应用中获取网络中的视频资源,并进行视频展现的过程中,可能需要调用解析该视频资源的视频解码引擎,以通过视频解码引擎对视频资源进行解码后播放。在该种情况下,以上实施例中的当前需要展现的资源可以理解为当前需要展现的视频;相应的,处理当前需展现的资源所需的引擎可以理解为处于当前需展现的视频所需的解码引擎。例如,在即时通讯应用中可以视频显示窗口中播放网络中的视频资源,在确定出该即时通讯应用所需播放的视频资源后,可以确定播放该视频资源所需的解码引擎,只要该解码引擎是按照接口定义集合中的接口定义进行统一封装,那么即时通讯应用依据该接口定义集合中的接口定义便可以识别该解码引擎中的外部接口,并实现对该解码引擎中个外部接口的调用。
又如,本申请实施例的引擎调用方法也可以应用运行HTML5游戏的场景中,在该种场景中,需展现的资源可以理解为HTML5游戏,该引擎可以理解为支持该HTML5游戏的游戏引擎(其中,该HTML5游戏是基于该游戏引擎开发的)。为了便于理解该种场景,下面结合具体的流程交互对该种场景下,调用游戏引擎的过程进行介绍。参见图5,其示出了本申请一种引擎调用方法又一个实施例的流程交互示意图,本实施例以终端中的应用通过调用游戏引擎运行HTML5游戏为例进行介绍。
本实施例的方法可以包括:
501,应用显示出可供选择的HTML5游戏列表。
其中,该游戏列表中展现出该应用可以接入的多款HTML游戏的游戏信息,如游戏名称或者游戏图标等等。
502,应用依据用户的选择,确定当前需运行的HTML5游戏的标识。503,应用向应用服务器发送查询请求,该查询请求携带有该款HTML5游戏的标识。
其中,该查询请求用于请求查询该款HTML5游戏的关联信息。
该HTML5游戏的关联信息至少包括:用于运行该款HTML5游戏所需的游戏引擎的标识,该HTML5游戏的下载地址。当然,该关联信息还可以包括该HTML5游戏的图标、名称等等。
504,应用服务器向该应用返回该游戏引擎的标识。
505,应用检测终端上是否已安装有该游戏引擎的标识对应的游戏引擎。
可以理解的是,在本申请实施例中应用的安装包中可以不包含任何游戏引擎的安装包。这样,安装该应用中,终端上并未安装任何游戏引擎,在需要调用游戏引擎时,再实时安装该游戏引擎。这样,当首次调用该游戏引擎时,就需要下载并安装该游戏引擎;但是再次调用该游戏引引擎时,由于终端已经安装该游戏引擎,则无需再安装该游戏引擎。
506,如果终端尚未安装该游戏引擎,则应用向该应用服务器请求该游戏引擎的标识对应的下载地址。
507,应用服务器依据该游戏引擎的标识,查询该游戏引擎的标识对应的下载地址。
508,应用接收该应用服务器返回的该游戏引擎的下载地址。
509,应用依据该游戏引擎的下载地址,下载该游戏引擎的安装包,并在终端上安装该游戏引擎。
510,应用加载该游戏引擎,以实现该游戏引擎的实例化。
511,应用依据HTML5游戏的下载地址,向该HTML5游戏的下载地址所指向的资源服务器请求该HTML5游戏的游戏数据。
可以理解的是,本申请实施例是以HTML5游戏的游戏数据存储到资源服务器中为例进行说明,但是在实际应用中,该HTML5游戏的游戏数据也可以存储应用服务器中,此时该资源服务器与该应用服务器可以理解为同一个服务器。
512,应用接收该资源服务器返回的该HTML5游戏的游戏数据。
513,应用确定当前通过调用该游戏引擎所需实现的目标功能。
514,从预置的该接口定义集合中,确定出实现该目标功能的接口所对应的目标接口定义。
515,依据该目标接口的定义,调用游戏引擎中该目标接口定义对应的外部接口,以执行该外部接口关联的至少一个内部接口所指向的代码。
为了能够在应用可以接入该HTML5游戏列表中包含的多款HTML5游戏中的任意一款HTML5游戏,该应用必须能够对任意一款HTML5游戏所需的游戏引擎进行调用,在本实施例中,对于用户确定出当前所需运行的任意一款HTML5游戏而言,均可以采用本实施例的方式,调用到支持该款HTML5游戏的引擎。
需要说明的是,本实施例是在用户选择出需要运行的HTML5游戏之后,以调用该用户当前选择出的HTML5游戏所需的游戏引擎的过程进行介绍,然而可以理解的是,虽然本实施例的调用游戏引擎的过程仅仅涉及到对一款游戏引擎的调用,但是对于应用的游戏列表中的其他HTML5游戏而言,调用其他HTML5游戏所需的游戏引擎的过程是相似的,因此,基于本实施例的方法可以实现对多款不同的游戏引擎进行调用。
下面对本申请实施例提供的一种引擎调用装置进行介绍。
参见图6,其示出了本申请一种引擎调用装置一个实施例的结构示意图,本实施例的装置可以应用于终端,该装置可以包括:
引擎确定单元601,用于确定处理当前需展现的资源所需的引擎,所述引擎具有至少一个可供外部调用的外部接口,所述外部接口是按照指定的接口定义集合中与所述外部接口所实现的功能对应的接口定义封装成的;所述接口定义集合中包括:实现不同功能的接口所对应的接口定义;
接口功能确定单元602,用于确定当前通过调用所述引擎所需实现的目标功能;
接口定义确定单元603,用于从预置的所述接口定义集合中,确定出实现所述目标功能的接口所对应的目标接口定义;
接口调用单元604,用于调用所述引擎中按照所述目标接口定义封装成的外部接口。
可选的,所述引擎中的外部接口是按照指定的接口定义集合中与所述外部接口所实现的功能对应的接口定义,将所述引擎中至少一个内部接口进行封装得到的;所述内部接口指向所述引擎中的部分或全部代码;
所述装置还包括:
运行单元,用于在所述接口调用单元调用所述引擎中按照所述目标接口定义封装成的外部接口之后,运行至少一个内部接口所指向的代码。
可以理解的是,在本申请实施例中,应用的安装包中可以不包含任意引擎的安装包,因此,在该引擎确定单元确定出引擎之后,还需要安装该引擎。具体的,可以参见图7,其示出了本申请一种引擎调用装置又一个实施例的结构示意图,本实施例的装置与前面引擎调用装置的实施例的不同之处在于:
该装置还可以包括:
地址获取单元605,用于在所述引擎确定单元601确定出所述引擎之后,获取所述引擎的下载地址;
引擎下载单元606,用于依据所述下载地址,下载并安装所述引擎。
可选的,该装置还可以包括:
检测单元607,用于在所述地址获取单元605获取所述引擎的下载地址之前,检测终端中是否已安装所述引擎;
相应的,所述地址获取单元605,具体为,用于当所述检测单元确定出所述终端中尚未安装所述引擎时,获取所述引擎的下载地址。
可选的,在本申请以上任意一个装置的实施例中,该引擎确定单元中确定出需要当前需要展现的资源可以为当前需要运行的HTML5游戏;
相应的,该引擎为处理所述HTML5所需的游戏引擎。
可选的,所述引擎确定单元中确定出需要当前需要展现的资源可以为当前需展现的视频;
相应的,该引擎为处理所述视频所需的解码引擎。
本发明实施例还提供了一种终端,该终端可以包括上述所述的另一种引擎调用装置。
图8示出了终端的硬件结构框图,参照图8,终端800可以包括:处理器801,通信接口802,存储器803和通信总线804;
其中处理器801、通信接口802、存储器803通过通信总线804完成相互间的通信;
可选的,通信接口802可以为通信模块的接口,如GSM模块的接口;
处理器801,用于执行程序;
存储器803,用于存放程序;
程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器801可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器803可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,程序可具体用于:
确定处理当前需展现的资源所需的引擎,所述引擎具有至少一个可供外部调用的外部接口,所述外部接口是按照指定的接口定义集合中与所述外部接口所实现的功能对应的接口定义封装成的;所述接口定义集合中包括:实现不同功能的接口所对应的接口定义;
确定当前通过调用所述引擎所需实现的目标功能;
从预置的所述接口定义集合中,确定出实现所述目标功能的接口所对应的目标接口定义;
调用所述引擎中按照所述目标接口定义封装成的外部接口。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种游戏引擎调用方法,其特征在于,应用于终端,所述终端中包括能够接入多款资源的应用;所述方法包括:
显示出可供选择的资源列表,所述资源列表中包括所述应用可以接入的多款资源的信息;所述应用的安装包中不包含任何游戏引擎的安装包;
依据用户的选择,确定当前需展现的资源的标识;
依据所述资源的标识,从服务器查询用于处理所述资源的游戏引擎的标识,以确定处理当前需展现的资源所需的游戏引擎,其中,所述服务器中存储有所述资源的标识以及用于处理所述资源的游戏引擎的标识之间的对应关系;所述当前需展现的资源为所述应用能够接入的多款资源中的一款;所述处理当前需展现的资源所需的游戏引擎为所述应用能够调用的多款游戏引擎中的一款;所述游戏引擎具有可供外部调用的多个外部接口,所述多个外部接口与所述游戏引擎的多种功能相对应;所述外部接口是按照指定的接口定义集合中与所述外部接口所实现的功能对应的接口定义封装成的,以使得所述游戏引擎中的外部接口所采用的接口定义与所述接口定义集合中所述外部接口所实现的功能对应的接口定义一致;所述接口定义集合为,将实现不同功能的接口所对应的接口定义进行统一并抽象出来的;
检测终端中是否已安装所述游戏引擎;
如果所述终端中尚未安装所述游戏引擎,则依据所述游戏引擎的标识,从所述服务器中查询所述游戏引擎的下载地址;依据所述下载地址,下载并安装所述游戏引擎;
如果所述终端中已经安装所述游戏引擎,则通过所述应用加载所述游戏引擎;
依据所述资源的处理进度,确定当前通过调用所述游戏引擎所需实现的目标功能;
从预置的所述接口定义集合中,确定出实现所述目标功能的接口所对应的目标接口定义;
调用所述游戏引擎中按照所述目标接口定义封装成的外部接口。
2.根据权利要求1所述的方法,其特征在于,所述外部接口是按照指定的接口定义集合中与所述外部接口所实现的功能对应的接口定义,将所述游戏引擎中至少一个内部接口进行封装得到的;所述内部接口指向所述游戏引擎中的部分或全部代码;
在所述调用所述游戏引擎中按照所述目标接口定义封装成的外部接口之后,还包括:
运行至少一个内部接口所指向的代码。
3.根据权利要求1至2任一项所述的方法,其特征在于,所述当前需展现的资源为当前需要运行的HTML5游戏;
所述游戏引擎为处理所述HTML5所需的游戏引擎。
4.根据权利要求1至2任一项所述的方法,其特征在于,所述当前需展现的资源为当前需展现的视频;
所述游戏引擎为处理所述视频所需的解码引擎。
5.一种游戏引擎调用装置,其特征在于,应用于终端,所述终端中包括能够接入多款资源的应用;所述装置包括:
所述装置显示出可供选择的资源列表,所述资源列表中包括所述应用可以接入的多款资源的信息;依据用户的选择,确定当前需展现的资源的标识;所述应用的安装包中不包含任何游戏引擎的安装包;
引擎确定单元,用于依据所述资源的标识,从服务器查询用于处理所述资源的游戏引擎的标识,以确定处理当前需展现的资源所需的游戏引擎,其中,所述服务器中存储有所述资源的标识以及用于处理所述资源的游戏引擎的标识之间的对应关系;所述当前需展现的资源为所述应用能够接入的多款资源中的一款;所述处理当前需展现的资源所需的游戏引擎为所述应用能够调用的多款游戏引擎中的一款;所述游戏引擎具有可供外部调用的多个外部接口,所述多个外部接口与所述游戏引擎的多种功能相对应;所述外部接口是按照指定的接口定义集合中与所述外部接口所实现的功能对应的接口定义封装成的,以使得所述游戏引擎中的外部接口所采用的接口定义与所述接口定义集合中所述外部接口所实现的功能对应的接口定义一致;所述接口定义集合为,将实现不同功能的接口所对应的接口定义进行统一并抽象出来的;
接口功能确定单元,用于依据所述资源的处理进度,确定当前通过调用所述游戏引擎所需实现的目标功能;
接口定义确定单元,用于从预置的所述接口定义集合中,确定出实现所述目标功能的接口所对应的目标接口定义;
接口调用单元,用于调用所述游戏引擎中按照所述目标接口定义封装成的外部接口;
检测单元,用于检测终端中是否已安装所述游戏引擎;
地址获取单元,用于当所述检测单元确定出所述终端中尚未安装所述游戏引擎时,依据所述游戏引擎的标识,从所述服务器中查询所述游戏引擎的下载地址;
引擎下载单元,用于依据所述下载地址,下载并安装所述游戏引擎;
所述装置还用于,如果所述终端中已经安装所述游戏引擎,则通过所述应用加载所述游戏引擎。
6.根据权利要求5所述的装置,其特征在于,所述外部接口是按照指定的接口定义集合中与所述外部接口所实现的功能对应的接口定义,将所述游戏引擎中至少一个内部接口进行封装得到的;所述内部接口指向所述游戏引擎中的部分或全部代码;
所述装置还包括:
运行单元,用于在所述接口调用单元调用所述游戏引擎中按照所述目标接口定义封装成的外部接口之后,运行至少一个内部接口所指向的代码。
7.一种终端设备,其特征在于,包括存储器与处理器;
所述存储器,用于存放程序;
所述处理器,用于执行所述程序,以实现如权利要求1~4任一项所述的游戏引擎调用方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序,所述程序用于实现如权利要求1~4任一项所述的游戏引擎调用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610396828.2A CN105955833B (zh) | 2016-06-06 | 2016-06-06 | 引擎调用方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610396828.2A CN105955833B (zh) | 2016-06-06 | 2016-06-06 | 引擎调用方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105955833A CN105955833A (zh) | 2016-09-21 |
CN105955833B true CN105955833B (zh) | 2021-09-21 |
Family
ID=56907724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610396828.2A Active CN105955833B (zh) | 2016-06-06 | 2016-06-06 | 引擎调用方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105955833B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106406961B (zh) * | 2016-09-27 | 2021-01-15 | 北京奇虎科技有限公司 | 一种基于浏览器加载、提供应用程序的方法、装置 |
CN108694047A (zh) * | 2017-04-11 | 2018-10-23 | 武汉斗鱼网络科技有限公司 | 资源加载方法及装置 |
CN108563517B (zh) * | 2018-03-30 | 2020-11-03 | 腾讯科技(深圳)有限公司 | 系统接口的调用方法及装置 |
CN109117174B (zh) * | 2018-07-04 | 2022-03-29 | 北京德惠众合信息技术有限公司 | 兼容不同引擎的前端页面的系统及方法 |
WO2020093243A1 (zh) * | 2018-11-06 | 2020-05-14 | 深圳市欢太科技有限公司 | 一种游戏的加载方法及相关产品 |
CN117130758B (zh) * | 2023-10-23 | 2024-01-16 | 北京世冠金洋科技发展有限公司 | 仿真引擎的启停控制方法、装置及仿真系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103501382A (zh) * | 2013-09-17 | 2014-01-08 | 小米科技有限责任公司 | 语音服务提供方法、装置和终端 |
CN105005473A (zh) * | 2015-06-29 | 2015-10-28 | 乐道互动(天津)科技有限公司 | 一种用于开发3d游戏的游戏引擎系统 |
CN105224363A (zh) * | 2015-09-23 | 2016-01-06 | 北京金山安全软件有限公司 | 一种加载应用程序的方法及装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6957392B2 (en) * | 2002-01-16 | 2005-10-18 | Laszlo Systems, Inc. | Interface engine providing a continuous user interface |
US7290215B2 (en) * | 2002-06-03 | 2007-10-30 | Microsoft Corporation | Dynamic wizard interface system and method |
CN101730322A (zh) * | 2009-12-10 | 2010-06-09 | 中国联合网络通信集团有限公司 | 业务引擎及其业务能力调用的方法和系统 |
CN101833465B (zh) * | 2010-04-23 | 2013-03-13 | 中国科学院声学研究所 | 一种支持应用程序动态加载运行的嵌入式系统 |
CN102867284B (zh) * | 2011-07-07 | 2016-10-26 | 腾讯科技(深圳)有限公司 | 一种图形绘制引擎装置及其实现方法 |
CN102880464B (zh) * | 2012-08-31 | 2015-10-28 | 中山市世宇动漫科技有限公司 | 一种三维游戏引擎系统 |
CN102880470B (zh) * | 2012-09-18 | 2015-08-19 | 中山市世宇动漫科技有限公司 | 一种三维游戏引擎内核结构 |
CN103425491B (zh) * | 2013-07-30 | 2016-10-12 | 广州爱九游信息技术有限公司 | 一种游戏引擎 |
CN104866335B (zh) * | 2014-12-30 | 2018-04-13 | 北京白鹭时代信息技术有限公司 | 一种移动终端基于Egret Runtime运行游戏的方法及装置 |
CN104572116A (zh) * | 2015-01-23 | 2015-04-29 | 广东能龙教育股份有限公司 | 一种基于订阅模式的中间件调用系统 |
CN104765617B (zh) * | 2015-05-04 | 2019-02-19 | 北京奇虎科技有限公司 | 基于html5实现的流应用功能接口分发方法及系统 |
CN105138399A (zh) * | 2015-10-20 | 2015-12-09 | 深圳天源迪科信息技术股份有限公司 | 跨平台移动Web应用运行引擎 |
-
2016
- 2016-06-06 CN CN201610396828.2A patent/CN105955833B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103501382A (zh) * | 2013-09-17 | 2014-01-08 | 小米科技有限责任公司 | 语音服务提供方法、装置和终端 |
CN105005473A (zh) * | 2015-06-29 | 2015-10-28 | 乐道互动(天津)科技有限公司 | 一种用于开发3d游戏的游戏引擎系统 |
CN105224363A (zh) * | 2015-09-23 | 2016-01-06 | 北京金山安全软件有限公司 | 一种加载应用程序的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105955833A (zh) | 2016-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105955833B (zh) | 引擎调用方法和装置 | |
CN109547570B (zh) | 服务注册方法、装置、注册中心管理设备及存储介质 | |
CA2588772C (en) | A method of automatically building a customised software application for a specific type of wireless computing device | |
AU2019233201A1 (en) | Resource configuration method and apparatus, terminal, and storage medium | |
CN107741844B (zh) | 一种应用安装包的生成方法和装置 | |
CN109165050B (zh) | 程序的运行方法、装置、计算设备以及存储介质 | |
US20120227032A1 (en) | Method, apparatus, and system for invoking widget | |
CN107957837B (zh) | 网页应用程序的快捷方式生成方法、装置和终端设备 | |
CN111722885B (zh) | 程序运行方法、装置以及电子设备 | |
CN110968331A (zh) | 应用程序运行的方法和装置 | |
CN110764805A (zh) | 客户端无感升级的方法、装置、终端及存储介质 | |
CN111209065A (zh) | 动态壁纸设置方法、装置、存储介质及电子设备 | |
CN108319474B (zh) | 一种页面信息生成方法、装置和设备 | |
CN113163255B (zh) | 视频播放方法、装置、终端及存储介质 | |
CN112148395A (zh) | 页面显示方法、装置、设备及存储介质 | |
US10725797B2 (en) | Service-driven dynamic user interface technology | |
CN107621939B (zh) | 一种应用优化方法及装置 | |
CN107783837B (zh) | 一种进行存储扩展的方法、装置及电子设备 | |
CN111124523A (zh) | 用于初始化应用的方法和装置 | |
CN115438290A (zh) | 自动分析单页面应用静态资源并预加载的方法及系统 | |
CN110858238A (zh) | 一种数据处理的方法和装置 | |
CN110209402B (zh) | 应用安装方法、电子设备及计算机存储介质 | |
CN112015507A (zh) | 一种应用引导方法和装置 | |
RU2595763C2 (ru) | Способ и устройство менеджмента загрузки на базе браузера android | |
CN114443460A (zh) | 一种运行环境切换方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |