CN115054914A - 运行方法、下载方法及设备 - Google Patents
运行方法、下载方法及设备 Download PDFInfo
- Publication number
- CN115054914A CN115054914A CN202210764342.5A CN202210764342A CN115054914A CN 115054914 A CN115054914 A CN 115054914A CN 202210764342 A CN202210764342 A CN 202210764342A CN 115054914 A CN115054914 A CN 115054914A
- Authority
- CN
- China
- Prior art keywords
- game
- application
- package
- content
- downloading
- 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
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种运行方法、下载方法及设备。其中,应用程序响应于启动指令,获取第一服务端生成的游戏内容;输出所述游戏内容;从第二服务端下载第一游戏程序包;在所述第一游戏程序包下载成功情况下,运行所述第一游戏程序包以由所述第一游戏程序包生成所述游戏内容并输出所述游戏内容。本申请实施例提供的技术方案实现了及时获取游戏内容的目的。
Description
技术领域
本申请实施例涉及电子技术领域,尤其涉及一种运行方法、下载方法及设备。
背景技术
随着电子技术发展,可供智能设备安装的应用程序越来越多,以可以向用户提供诸如生活服务类、交通出行类、社交应用类以及游戏娱乐类等多种多样的功能。
目前,应用程序通常依赖应用程序包安装在设备中之后才能运行并产出应用内容,应用程序亦被称为客户端,而应用程序包需要下载获得,例如对于提供游戏娱乐类功能的游戏应用,先通过游戏程序包安装在设备中之后运行,才能渲染生成游戏画面等游戏内容,这就导致无法及时获取游戏内容。
发明内容
本申请实施例提供一种运行方法、下载方法及设备,用以解决现有技术中无法及时获取游戏内容的技术问题。
第一方面,本申请实施例中提供了一种运行方法,包括:
响应于启动指令,获取第一服务端生成的游戏内容;
输出所述游戏内容;
从第二服务端下载第一游戏程序包;
在所述第一游戏程序包下载成功情况下,运行所述第一游戏程序包以由所述第一游戏程序包生成所述游戏内容并输出所述游戏内容。
可选地,所述从所述第二服务端下载第一游戏程序包包括:
在保证所述游戏内容满足播放要求的情况下,从所述第二服务端下载第一游戏程序包。
可选地,所述在保证所述游戏内容满足播放要求的情况下,从所述第二服务端下载第一游戏程序包包括:
根据当前网络信息、当前播放环境、当前播放质量、以及所述游戏内容的编码参数中一个或多个指标,确定所述游戏内容是否满足播放要求;
在所述游戏内容播放要求的情况下,从所述第二服务端下载第一游戏程序包,否则继续从所述第一服务端获取其生成的游戏内容。
可选地,所述在所述第一游戏程序包下载成功情况下,运行所述第一游戏程序包以由所述第一游戏程序包生成所述游戏内容并输出所述游戏内容包括:
在所述第一游戏程序包下载成功情况下,显示切换提示信息;
响应于切换确认操作,运行所述第一游戏程序包以由所述第一游戏程序包生成所述游戏内容并输出所述游戏内容。
可选地,所述第一游戏程序包为游戏插件;所述运行所述第一游戏程序包以由所述第一游戏程序包生成所述游戏内容并输出所述游戏内容包括:
利用代理组件运行所述游戏插件以由所述游戏插件生成所述游戏内容并输出所述游戏内容。
可选地,所述利用代理组件运行所述游戏插件包括:
确定所述游戏插件当前运行所需的系统组件;
根据所述系统组件的组件类型,启动注册于操作系统中的一空闲注册组件作为代理组件;
利用所述代理组件调用所述系统组件启动以运行所述第一游戏程序包。
可选地,所述响应于启动指令,获取第一服务端生成的游戏内容包括:
响应于启动指令,提供多个游戏种类选择提示信息;
基于用户选择操作,确定目标游戏种类;
从第一服务端获取其生成的所述目标游戏种类对应的游戏内容;
所述从第二服务端下载第一游戏程序包包括:
从第二服务端下载所述目标游戏种类对应的第一游戏程序包。
可选地,所述响应于启动指令,获取第一服务端生成的游戏内容包括:
响应于启动指令,判断所述第一游戏程序包是否下载完成;
在所述第一游戏程序包未下载完成情况下,获取第一服务端生成的游戏内容;
所述从第二服务端下载第一游戏程序包包括:
根据所述第一游戏程序包的下载进度,从第二服务端继续下载所述第一游戏程序包;
所述方法还包括:
在所述第一游戏程序包下载完成情况下,运行所述第一游戏程序包以由第一游戏程序包生成所述游戏内容并输出所述游戏内容。
可选地,所述响应于切换确认操作,运行所述第一游戏程序包包括:
响应于切换确认操作,获取账号信息及所述游戏内容的进度信息;
运行所述第一游戏程序包,以基于所述账号信息登录所述第一游戏程序包,并确定所述进度信息对应的游戏数据以及基于所述游戏数据生成所述游戏内容。
可选地,该方法还包括:
在所述第一游戏程序包下载失败情况下,输出下载失败提示信息;
响应于用户重试操作,返回执行从第二服务端下载所述第一游戏程序包的操作。
第二方面,本申请实施例提供了一种运行方法,包括:
响应于启动指令,获取第一服务端生成的应用内容;
输出所述应用内容;
从第二服务端下载第一应用程序包;
在所述第一应用程序包下载成功情况下,运行所述第一应用程序包以由所述第一应用程序包生成所述应用内容并输出所述应用内容。
第三方面,本申请实施例提供了一种下载方法,包括:
下载第二应用程序包;
基于所述第二应用程序包,安装对应的应用程序;
检测到启动操作,启动所述应用程序;
其中,所述应用程序用以获取并输出第一服务端生成的应用内容,并从第二服务端下载第一应用程序包,及在所述第一应用程序包下载成功情况下,运行所述第一应用程序包以由所述第一应用程序包生成所述应用内容并输出所述应用内容。
第四方面,本申请实施例提供了一种下载方法,包括:
接收应用程序发送的下载请求;所述下载请求由所述应用程序基于启动指令从第一服务端获取并输出应用内容之后而发送;
将所述下载请求对应的第一应用程序包下发至所述应用程序;所述第一应用程序包用以依赖所述应用程序运行并生成以及输出所述应用内容。
第五方面,本申请实施例提供了一种运行方法,包括:
基于应用程序的调用指令,依赖所述应用程序而运行应用插件;所述调用指令为所述应用程序在所述应用插件下载成功之后发送;所述应用插件为所述应用程序响应于启动指令,获取并输出第一服务端生成的应用内容的同时,从第二服务端下载获得;
生成所述应用内容;
输出所述应用内容。
第六方面,本申请实施例提供了一种运行方法,包括:
接收应用程序发送的内容获取请求;
生成应用内容;
将所述应用内容发送至所述应用程序;所述应用程序用以输出所述应用内容,并从第二二服务端下载第一应用程序包,及在所述第一应用程序包下载成功情况下,运行所述第一应用程序包以由所述第一应用程序包生成所述应用内容并输出所述应用内容。
第七方面,本申请实施例提供了一种下载方法,包括:
接收电子设备发送的下载请求;
将第二应用程序包发送至所述电子设备;所述电子设备用以基于所述第二应用程序包安装对应的应用程序,并检测到启动操作时,启动所述应用程序。
第八方面,本申请实施例提供了一种应用程序,包括:
接口处理模块,用于监听启动事件并提供获取接口以及下载接口;
协议处理模块,用于提供获取协议、下载协议以及运行协议;
逻辑处理模块,用于基于所述启动事件,生成启动指令,并按照所述获取协,通过所述获取接口获取第一服务端生成的应用内容;以及按照所述下载协议,通过所述下载接口从第二服务端下载第一应用程序包;以及在所述第一应用程序包下载成功情况下,按照所述运行协议,运行所述第一应用程序包以由所述第一应用程序包生成所述应用内容并输出所述应用内容;
基层处理模块,用于存储以及操作所述接口处理模块、所述协议处理模块以及所述逻辑处理模块在运行过程中产生的日志数据。
第九方面,本申请实施例提供了一种运行装置,包括:
控制模块,用于提供运行规则等;
组件代理组件,用于提供多个系统组件,并基于运行规则,在被应用程序调用情况下而运行对应的系统组件,以执行生成并输出应用内容的处理操作。
第十方面,本申请实施例提供了一种电子设备,包括存储组件以及处理组件,所述存储组件存储一条或多条计算机程序指令;所述一条或多条计算机程序指令以供所述处理组件调用并执行,实现上述第一方面所述的运行方法,或者实现如上述第二方面所述运行方法,或者实现如上述第三方面所述的下载方法,或者实现如上述第五方面所述的运行方法。
第十一方面,本申请实施例提供了一种计算设备,包括存储组件以及处理组件,所述存储组件存储一条或多条计算机程序指令;所述一条或多条计算机程序指令以供所述处理组件调用并执行,实现如权利要求第四方面所述的下载方法,或者实现如权利要求第六方面所述的运行方法,或者实现如上述第七方面所述的下载方法。
本申请实施例中,游戏应用响应于启动指令,可以首先从第一服务端获取第一服务端生成的游戏内容,并输出所述游戏内容;同时可以从第二服务端下载第一游戏程序包;并在所述第一游戏程序包下载成功情况之后,运行所述第一游戏程序包以由所述第一游戏程序包生成所述游戏内容并输出所述游戏内容。本申请实施例中,负责生成并输出游戏内容的第一游戏程序包无需预先下载并安装,借助游戏应用及第一服务端即可以实现游戏内容的及时输出,从而实现及时获取游戏内容的目的,且在获取并输出第一服务端生成游戏内容的同时,可以同步下载第一游戏程序包,并在第一游戏程序包下载成功之后,即可以由第一游戏程序包生成并输出游戏内容,有助于保证游戏效果,提升游戏转化率。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例技术方案应用于其中一种系统架构示意图;
图2示出了本申请提供的一种运行方法一个实施例的流程图;
图3示出了本申请提供的一种运行方法又一个实施例的流程图;
图4示出了本申请提供的一种运行方法又一个实施例的流程图;
图5示出了本申请提供的一种下载方法一个实施例的流程图;
图6示出了本申请提供的一种下载方法又一个实施例的流程图;
图7示出了本申请提供的一种下载方法又一个实施例的流程图;
图8示出了本申请提供的一种运行方法又一个实施例的流程图;
图9示出了本申请实施例在一个实际应用中的场景交互示意图;
图10示出了本申请提供的一种应用程序的一个实施例的结构示意图;
图11示出了本申请提供的一种应用程序包的一个实施例的结构示意图;
图12示出了本申请提供的一种电子设备一个实施例的结构示意图;
图13示出了本申请提供的一种计算设备一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例的技术方案可以应用于任意类型的应用程序,特别是一些目前应用程序包比较大的应用程序,例如提供游戏娱乐类功能的游戏应用、视频应用、或即时通信应用等。
正如背景技术中所述,由于应用程序需要依赖应用程序包安装在设备中之后才能运行并产出应用内容,应用程序包需要下载获得,这会影响应用内容获取的及时性,特征是对于应用程序包较大的应用程序,例如游戏应用,其应用程序包的大小通常都是GB(Gigabyte,吉字节)级别,应用程序包的下载以及安装均可能非常缓慢,导致无法及时为用户产出应用内容。且可能用户为了避免无法及时获取应用内容,而拒绝下载、安装或者激活应用程序,这将影响应用程序的转化率和利用率。
为了提高应用内容获取的及时性,提高应用程序的转化率和利用率,发明人经过一系列研究提出了本申请实施例的技术方案,在本申请实施例中,应用程序响应于启动指令,可以首先从第一服务端获取第一服务端生成的应用内容,也即由第一服务端生成应用内容,应用程序负责输出,借助第一服务端实现应用内容的及时输出,同时可以下载第一应用程序包,并在第一应用程序包下载成功之后可以直接运行第一应用程序包,由第一应用程序包生成并输出该应用内容,从而提高了应用内容获取的及时性,有助于提高用户体验,从而提高应用程序的转化率和利用率。且采用该方式应用程序无需设计太大,集成获取、输出、下载以及运行功能即可,从而可以降低应用程序的第二应用程序包的大小,用户只需先下载较小的第二应用程序包安装应用程序,仅可以借助第一服务端的云计算能力实现及时获取应用内容的目的,且可以获取应用内容的同时,下载较大的第一应用程序包,以进一步有助于提高应用程序的转化率和利用率。在游戏场景下,应用程序可以为游戏应用,从而可以及时获取游戏内容,不影响游戏操作,有助于提高游戏转化率和利用率等,可以有效解决传统方式中游戏程序包较大导致下载时间长、转化率低的技术问题。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例的技术方案可以应用于如图1所示的系统架构中,该系统架构可以包括应用程序101、第一服务端102及第二服务端103。
应用程序101与第一服务端102以及第二服务端103之间可以通过网络建立连接。网络为应用程序101与服务端102和第二服务端103之间提供了通信链路的介质,其可以包括各种连接类型,例如无线通信链路,当然也不排除线形式,如光纤电缆等等。
应用程序101可以安装于电子设备中,依赖电子设备而运行。电子设备可以预先从第二服务端103下载第二应用程序包并安装获得该应用程序101。电子设备例如可以具有显示屏并支持信息浏览等,例如可以是个人移动终端如手机、平板电脑、个人计算机等,为了便于理解,图1中主要以设备形象表示应用程序。在电子设备中通常还可以配置各种其它类应用,例如人机对话类应用、模型训练类应用、文本处理类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
实际应用中,第一服务端102以及第二服务端103可以为不同服务端或者也可以为同一服务端,分别可以包括各种服务的服务器等。
需要说明的是,第一服务端102以及第二服务端103可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器,也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。实际应用中,第一服务端102可以具体是提供云应用服务的云服务器,例如提供云游戏服务的云游戏服务器。
需要说明的是,本申请实施例中提供的运行方法一般由电子设备中的应用程序101执行。下载方法可以由请求安装应用程序的电子设备执行,在本申请的其它实施例中,第一服务端102也可以执行辅助应用程序运行的运行方法,第一服务端102或第二服务端103也可以执行辅助电子设备下载的下载方法等。
应该理解,图1中的应用程序和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的用户端和服务端。
实际应用中,以游戏场景为例,应用程序可以是指游戏应用,第一服务端可以是提供云游戏服务的云游戏服务端,云游戏可以指以云计算为基础的游戏方式。在云游戏场景中,可以由第一服务端基于游戏数据生成游戏画面等游戏内容,应用程序仅用于数据的发送和接收并呈现游戏内容等。
以下对本申请实施例的技术方案的实现细节进行详细阐述。
图2为本申请实施例提供的一种运行方法一个实施例的流程图,本实施例的技术方案可以由应用程序执行,该方法可以包括以下几个步骤:
201:响应于启动指令,获取第一服务端生成的应用内容。
其中,启动指令可以是应用程序基于首次启动操作而生成。第一服务端可以是提供云应用服务的云应用服务端,在游戏场景中,第一服务端即可以是提供云游戏服务的云游戏服务端。
应用程序响应于启动指令,可以建立与第一服务端的网络连接,可以向第一服务端发送内容获取请求,第一服务端基于内容获取请求,可以生成应用内容并发送至应程序。
可选地,应用程序可以是基于用户控制操作而生成控制指令,可以基于控制指令向第一服务端发送内容获取请求,第一服务端可以是基于控制指令而生成对应的应用内容。例如,游戏场景下,应用程序为提供游戏娱乐类功能的游戏应用,控制指令可以是游戏操作指令等,第一服务端负责响应于用户触发的游戏操作指令并生成对应的游戏内容,而游戏应用可以无需执行内容生成操作等。在游戏场景中,游戏内容可以包括游戏画面,当然还可以包括游戏声音等,游戏画面即由第一服务端负责渲染生成;当前,其它实现场景中,如即时通信场景,应用内容例如还可以是聊天内容等。
需要说明的是,应用程序除了可以为游戏应用之外,还可以是其它任意类型的应用程序,本申请对此不进行具体限定,为了方便理解,在下文的一个或多个实施例中多以游戏应用对本申请技术方案进行介绍。
其中,应用程序可以通过预先下载第二应用程序包,并基于第二应用程序包安装于电子设备中。应用程序可以集成获取、输出以及下载等少量功能即可,因此第二应用程序包的大小将大大压缩,通常相较于传统GB级别的应用程序包,采用本申请实施例的技术方案,第二应用程序包可以做到20MB以内。
202:输出应用内容。
其中,应用内容包括显示内容时,该输出应用内容可以包括提供显示界面,在显示界面显示该显示内容,应用内存包括音频内容时,该输出应用内容可以包括播放音频内容。
203:从第二服务端下载第一应用程序包。
可以是响应于启动指令,从第二服务端下载第一应用程序包,第一应用程序包可以是相对于应用程序而言,实现功能更多的完整程序包,其可以是将实现相应功能的代码进行编译并打包获得。实际应用中,该第一应用程序包可以为应用插件,当然其也可以是基于应用程序而开发的独立程序包。
需要说明的是,第一服务端与第二服务端可以为同一个服务端,当然也可以为不同服务端。
第一服务端与第二服务端为不同服务端时,在第一服务端中可以配置由第二服务端提供该应用程序对应的云应用,以具体利用该云应用生成应用内容。
为了进一步保证应用内容的输出效果,可选地,从第二服务端下载第一应用程序包可以包括:
在保证应用内容满足播放要求的情况下,从第二服务端下载第一应用程序包。
在保证应用内容满足播放要求的情况下,具体可以第二服务端发送下载请求,第二服务端可以基于下载请求,将第一应用程序包发送至应用程序。
其中,可以是根据当前网络信息、当前播放环境、当前播放质量、以及应用内容的编码参数中一个或多个指标,确定应用内容是否满足播放要求;
在应用内容满足播放要求的情况下,再从第二服务端下载第一应用程序包,否则可以继续从第一服务端获取其生成的游戏内容。
其中,当前网络信息例如可以包括网络带宽、丢包率、时延等、当前播放环境例如可以包括电子设备的硬件处理性能等,当前播放质量例如可以包括播放中断次数、播放中断时长、播放卡顿率等,应用内容通常可以流式传输至应用程序,编码参数例如可以包括编码码率等。
其中,该播放要求例如可以包括当前网络信息、当前播放环境和/或当前播放质量分别满足各自的播放条件等,例如网络信息的播放条件可以包括网络带宽大于一定数值、丢包率小于一定数值、时延小于一定数值中的一个或多个,播放环境的播放条件例如可以包括播放中断次数小于一定次数、播放中断时长小于一定时长、以及播放卡顿率小于一定数值中的一个或多个;编码参数播放条件例如包括编码参数符合编码要求中的一个或多个条件等。
此外,也可以是基于当前网络信息,预测目标网络信息;以及基于当前播放环境,预测目标播放环境;基于当前播放质量预先目标播放质量等,该播放要求可以是目标网络信息、目标播放环境和/或目标播放质量分别满足各自的播放条件等。其中,具体预测方式可以基于统计方式,结合历史分布规律来进行预测,或者基于机器学习模型来实现预测,本申请对此不进行具体限定。
通过播放要求的判定,可以保证应用内容的输出效果,不影响用户视听感受,提高用户体验,有助于提高应用程序的转化率和利用率等。
此外,可以在保证应用内容满足播放要求的情况下,可以利用最大网络带宽从第二服务端下载第一应用程序包,以实现第一应用程序包的快速下载,保证下载成功率等。
当前,也可以是检测用户下载操作之后,从第二服务端下载第一应用程序包。
可选地,输出应用内容的同时,可以显示下载提示信息,以提示用户可以下载第一应用程序包等。
204:在第一应用程序包下载成功情况下,运行第一应用程序包以由第一应用程序包生成应用内容并输出应用内容。
第一应用程序包例如适用于安卓系统时,可以为APK(Android applicationpackage,安卓应用程序包)格式,例如适用于ios(一种操作系统类型)系统时,可以为ipa(iPhone Application,iPhone应用程序)格式,pxl(Package and eXtension Library,软件包扩展库)格式,或deb(Debian,一种软件包)格式,例如适用于其它类型操作时,还可以是sis(Software Installation Script,软件安装脚本)格式,jar(Java Archive,Java归档)格式,zip(Deflate,一种计算机文件格式)格式等。其相较于第二应用程序包,功能全面可以负责生成以及输出应用内容等,第一应用程序包的大小也将远远大于第二应用程序包。在第一应用程序包为应用插件时,第二应用程序包被安装之后即可以作为该应用插件的宿主程序而运行应用插件。
本实施例中,第一应用程序包下载成功之后,即可以运行并由第一应用程序包生成应用内容并输出应用内容,应用程序可以停止向第一服务端获取应用内容。利用第一应用程序包继续提供应用内容,既可以保证应用内容不中断,且可以避免由于网络等原因而带来的输出质量等问题,可以保证应用内容的输出效果。同时借助第一服务端的云计算能力,既可以及时获取应用内容,且可以在用户无感知情况下下载第一应用程序包,可以有效提高应用程序的转化率和利用率。
一些实施例中,为了保证输出效果,提高用户体验,该在第一应用程序包下载成功情况下,运行第一应用程序包以由第一应用程序包生成应用内容并输出应用内容可以包括:
在第一应用程序包下载成功情况下,显示切换提示信息;
响应于切换确认操作,运行第一应用程序包以由第一应用程序包生成应用内容并输出应用内容。
该切换提示信息可以提示用户是否切换至第一应用程序包运行,从而可以在检测到用户触发的切换确认操作之后,再运行第一应用程序包。
一些实施例中,为了进一步保证输出效果,提高用户体验,该响应于切换确认操作,运行第一应用程序包可以包括:
响应于切换确认操作,获取应用内容的进度信息;
运行第一应用程序包,确定进度信息对应的应用数据以及基于应用数据而生成应用内容。
其中,应用程序可以与第一服务端交互获得应用内容的进度信息。之后,可以调用第一应用程序包与第二服务端交互从而获得进度信息对应的应用数据。
此外,应用程序还可能存在账号信息,因此,一些实施例中,该响应于切换确认操作,运行第一应用程序包可以包括:
响应于切换确认操作,获取账号信息及应用内容的进度信息;
运行第一应用程序包,以基于账号信息登录第一应用程序包,并确定进度信息对应的应用数据以及基于应用数据生成应用内容。
其中,应用程序可以在基于用户提供的账号信息登录第一服务端的情况下,将账号信息保存至本地等,从而响应于切换确认操作可以从本地获取对应的账号信息并传递至第一应用程序包。
其中,作为又一种可选方式,第一应用程序包可以是基于账号信息登录至第二服务端,应用程序响应于切换确认操作可以向第一服务端发送停止指令,可以由第一服务端确定应用内容的进度信息,并可以将进度信息传递至第二服务端,第一应用程序包基于账号信息登录至第二服务端之后,第二服务端可以将该进度信息对应的应用数据发送至第一应用程序包,由第一应用程序包基于应用数据生成应用内容。
其中,第一应用程序包可以在不安装情况下运行在应用程序中,一些实施例中,运行第一应用程序包以由第一应用程序包生成应用内容并输出应用内容可以包括:
利用代理组件运行第一应用程序包以由第一应用程序包生成应用内容并输出应用内容。
应用程序可以利用代理组件创建第一应用程序包的运行环境,从而可以启动并运行第一应用程序包。
可选地,利用代理组件运行第一应用程序包可以包括:确定第一应用程序包当前运行所需的系统组件;启动注册于操作系统中的空闲注册组件作为代理组件;利用代理组件调用系统组件启动以运行第一应用程序包。
其中,该第一应用程序包可以是指应用插件,则具体可以是利用代理组件运行应用插件以由应用插件生成应用内容并输出应用内容。应用程序作为应用插件的宿主,可以为应用插件创建运行环境以运行应用插件。
该确定第一应用程序包当前运行所需的系统组件也即是确定应用插件当前运行所需的系统组件。
其中,第一应用程序包可以包括多个系统组件,用以负责执行第一应用程序包所提供的各自功能,以基于安卓系统开发的第一应用程序包为例,当然本申请并不仅限定于此,该多个系统组件例如可以包括Activity(显示界面)、Service(服务)、BroadCastReceiver(广播)、Content Provider(数据通信)。
通常系统组件需要注册与操作系统中才可以在操作系统中启动运行,第一应用程序包不安装在电子设备中的情况下,无法在操作系统执行注册操作,因此,为了保证第一应用程序包的正常运行,应用程序可以在安装时,即在操作系统针对不同组件类型,注册对应的多个注册组件,通过该多个注册组件可以在操作系统中为第一应用程序包进行预先占位。从而通过解析第一应用程序包,确定当前运行所需的系统组件之后,进而可以根据组件类型,查找该组件类型对应的一个注册空闲组件作为代理组件,并启动该代理组件,利用该代理组件即可以调用系统组件启动以运行第一应用程序包,从而使得第一应用程序包执行生成应用内容并输出该应用内容等。且通过代理组件,第一应用程序包可以兼容任意版本的操作系统,通用性更高。
一些实施例中,获取第一服务端生成的游戏内容可以包括:提供多个应用种类选择提示信息;基于用户选择操作,确定目标应用种类;从第一服务端获取其生成的目标应用种类对应的应用内容;
则该从第二服务端下载第一游戏程序包可以是:从第二服务端下载目标游戏种类对应的第一游戏程序包。
也即,应用程序可以实现提供多个应用种类的应用内容的目的,传统方式中,用户若想获得多个应用种类的应用内容,需要按照多个应用程序才可以实现,采用本申请实施例的技术方案,只需要安装一个应用程序作为宿主程序,即可以实现输出任意应用种类的应用内容。
一些实施例中,响应于启动指令,获得第一服务端生成的应用内容可以包括:
响应于启动指令,判断第一应用程序包是否下载完成,若否,则获取第一服务端生成的应用内容。
该从第二服务端下载第一应用程序包可以是根据第一应用程序包的下载进度,从第二服务端继续下载该第一应用程序包。
此外,该方法还以包括:
在第一应用程序包下载完成情况下,运行第一应用程序包以由第一应用程序包生成应用内容并输出应用内容。
一些实施例中,应用程序可以在第一应用程序包下载成功情况下,还可以对第一应用程序包进行安全校验以及版本检验等,在校验成功之后,再运行第一应用程序包。
应用程序还可以根据第一应用程序包的运行规则来运行第一应用程序包。该运行规则例如可以包括状态管理规则如用于指示不同状态下所执行操作等;代理管理规则,比如系统组件与注册组件的对应关系等;资源管理规则比如包括运行过程中的图片、文件、本地文件等资源的使用方式等、上下文管理规则比如运行过程中产生的上下文的使用方式等;类加载管理规则以及第一应用程序包作为插件的插件管理规则等。
运行第一应用程序包首先可以进行初始化处理,初始化处理例如可以包括实例化、动态链接库加载、资源处理等。
通过上述实施方式,依赖应用程序可以实现正常启动第一应用程序包的目的,第一应用程序包可以作为应用程序的应用插件,将应用程序作为其运行环境而运行。
一些实施例中,在第一应用程序包下载失败情况下,可以继续请求第一服务端生成应用内容,此外,该方法还可以包括:
在第一应用程序包下载失败情况下,输出下载失败提示信息;
响应于用户重试操作,返回执行从第二服务端下载第一应用程序包的操作。
图3为本申请实施例提供的一种运行方法又一个实施例的流程图,本实施例的技术方案可以由第一应用程序包执行,该方法可以包括以下几个步骤:
301:基于应用程序的调用指令,依赖应用程序而运行应用插件。
其中,应用插件即为上文描述的第一应用程序包的一种具体实现形式,应用程序可以在应用插件下载成功情况下而生成调用指令。应用程序可以是响应于启动指令,从第一服务端获取其生成的应用内容并输出之后,从第二服务端下载该应用插件。
应用程序可以利用代理组件生成调用指令,并运行应用插件,具体的,可以是,利用代理组件启动应用插件中的系统组件。其中,代理组件可以是应用程序注册于操作系统中多个注册组件中的空闲注册组件。
302:生成应用内容。
303:输出该应用内容。
应用插件运行之后,即可以生产应用内容,并输出该应用内容。
图4为本申请实施例提供的一种运行方法一个实施例的流程图,本实施例的技术方案可以由第一服务端执行,该方法可以包括以下几个步骤:
401:接收应用程序发送的内容获取请求。
402:生成内容获取请求对应的应用内容。
403:将应用内容发送至应用程序。
其中,应用程序用以输出该应用内容,并从第二服务端下载第一应用程序包,以在第一应用程序包下载成功情况下,运行第一应用程序包以由第一应用程序包生成应用内容并输出应用内容。
需要说明的是,图3~图4分别从不同执行主体的角度对本申请技术方案提供的运行方法进行描述,具体执行操作可以详见图2所示实施例中所述,此处将不再过多赘述。
图5为本申请实施例提供的一种下载方法一个实施例的流程图,本实施例的技术方案可以由电子设备执行,该方法可以包括以下几个步骤:
501:下载第二应用程序包。
其中,电子设备可以是从第一服务端或第二服务端下载第二应用程序包,当然也可以通过其它渠道下载第二应用程序包等,本申请对此不进行具体限制。
第二应用程序包可以是应用程序实现获取、输出、下载以及运行功能的代码进行编译并打包生成的电子设备可识别的文件,例如适用于安卓系统的APK。当然,该第二应用程序包也可以是其它格式,如ipa格式,pxl格式,deb格式,sis格式,jar格式,或zip格式等,本申请对此不进行具体限定。
502:基于第二应用程序包,安装对应的应用程序。
基于第二应用程序包,安装应用程序的过程,本申请对此不进行限定。
503:检测到启动操作,启动应用程序。
其中,检测到启动操作即可以生成启动指令,应用程序启动之后即可以响应该启动指令从而第一服务端获取其生成的应用程序,
应用程序可以获取并输出第一服务端生成的应用内容,并可以从第二服务端下载第一应用程序包,及在第一应用程序包下载成功情况下,运行第一应用程序包以由第一应用程序包生成应用内容并输出应用内容。
其中,第二应用程序包的大小要远远小于第一应用程序包的大小。
本实施例从电子设备的下载以及安装角度对本申请实施例的技术方案进行介绍,应用程序启动之后的具体执行操作可以详见图2所示实施例中所述,此处不再重复赘述。
通过本申请实施例的技术方案,应用程序只需集成获取、输出以及下载、运行等少量功能即可,应用程序为微型客户端,因此第二应用程序包的大小将大大压缩,从而可以降低下载时间以及安装时间,提高应用内容获取及时性,且可以提高用户体验,降低用户等待时间,有助于降低用户反感度,从而有助于提升应用程序的转化率和利用率,在应用程序与第一服务端交互通信,保证应用内容及时输出情况下,可以再下载第一应用程序包以提供完整功能,既有助于保证最终应用内容的输出效果,保证播放质量等,有助于提升应用提供方的利益,降低其运营成本等。
图6为本申请实施例提供的一种下载方法又一个实施例的流程图,本实施例的技术方案可以由应用提供方执行,应用提供方可以是第一服务端、第二服务端或者第三方系统等,本申请对此不进行限定,该方法可以包括以下几个步骤:
601:接收电子设备发送的下载请求。
该下载请求可以是电子设备检测到用户下载操作之后而生成并发送的。
可选地,可以首先向电子设备发送下载提示信息,电子设备显示该下载提示信息,该下载提示信息即用于提示用户下载应用程序的第二应用程序包。
602:将第二应用程序包发送至电子设备。
电子设备用以基于第二应用程序包安装对应的应用程序,并检测到启动操作时,启动该应用程序,应用程序可以获取并输出第一服务端生成的应用内容,并从第二服务端下载第一应用程序包,及在第一应用程序包下载成功情况下,运行第一应用程序包以由第一应用程序包生成应用内容并输出应用内容。
本实施例从应用提供方的角度,对第二应用程序包下载以及安装进行描述,应用程序启动之后的具体执行操作可以详见图2所示实施例中所述,此处不再重复赘述。
图7为本申请实施例提供的一种下载方法又一个实施例的流程图,本实施例的技术方案可以由第二服务端执行,该方法可以包括以下几个步骤:
701:接收应用程序发送的下载请求。
其中,该下载请求是应用程序响应于启动指令而生成;或者可以是在保证应用内容满足播放要求的情况下而生成。
702:将下载请求对应的第一应用程序包下发至应用程序。
其中,第一应用程序包用以依赖应用程序运行并生成以及输出应用内容。
其中,下载请求中还可以包括目标应用种类,从而可以是将目标应用种类对应的第一应用程序包下载至应用程序,
本实施例从第二服务端的对第一应用程序包的下载角度对本申请的技术方案进行介绍,应用程序的运行之后的具体执行操作可以详见图2所示实施例中所述,此处不再重复赘述。
一个实际应用中,上文涉及应用程序可以是指游戏应用,对应的第一应用程序包为游戏程序包,第一服务端可以是提供云游戏服务的云游戏服务端等。对于游戏应用来讲,传统方式中的游戏程序包往往比较大,导致下载以及安装均较慢,影响游戏内容获取的及时性,且容易造成用户的下载和安装体验不好,从而影响游戏转化率和利用率等。而采用本申请实施例的技术,游戏应用仅需集成获取、输出、下载以及运行功能即可,可以大大降低其对应游戏程序包的大小,提高下载速度和安装速度等,且借助于第一服务端的云游戏功能,可以实现边玩游戏边下载游戏程序包的效果,实现无感知下载,既可以及时获取游戏内容,同时可以保证游戏效果,有助于游戏转化率和利用率等。
下面一个或多个实施例主要以游戏场景为例,对本申请实施例的技术方案进行说明,与前述相应实施例不同之处在于,应用程序具体实现为游戏应用,一些相同或相似操作的具体实现可以详见前文一个或多个实施例中所述,在下文描述中将不再重复赘述。如图8所示,为本申请实施例提供的一种运行方法又一个实施例的流程图,本实施例的技术方案由游戏应用执行,该方法可以包括以下几个步骤:
801:响应于启动指令,获取第一服务端生成的游戏内容。
第一服务端可以是提供云游戏服务的云游戏服务端,可以是获取第一服务端中的云游戏应用而生成的游戏内容。
其中,可以是基于用户控制操作,向第一服务端发送控制指令,由第一服务端基于控制指令生成对应的游戏内容。
802:输出游戏内容。
803:从第二服务端下载第一游戏程序包。
第一游戏程序包可以是相对于游戏应用而言,功能更为完整的完整程序包,其可以是将游戏原始代码进行编译并打包获得。实际应用中,该第一游戏程序包可以为游戏插件,作为游戏应用的插件而下载,游戏应用即可以作为游戏插件的宿主程序而运行游戏插件,当然其也可以是基于游戏应用而开发的独立程序包。
804:在第一游戏程序包下载成功情况下,运行第一游戏程序包以由第一游戏程序包生成游戏内容并输出游戏内容。
其中,游戏内容可以包括游戏画面,此外还可以包括游戏声音等,可以基于游戏数据渲染生成游戏画面,以及游戏声音等。之后,可以提供游戏界面,并在游戏界面中显示游戏画面,同时播放游戏声音等。
在本实施例中,可以首先从第一服务端获取第一服务端生成的游戏内容,并输出游戏内容;同时可以从第二服务端下载第一游戏程序包;并在第一游戏程序包下载成功情况之后,运行第一游戏程序包以由第一游戏程序包生成游戏内容并输出游戏内容。本申请实施例中,负责生成并输出游戏内容的第一游戏程序包无法预先下载并安装,借助第一服务端即可以实现游戏内容的及时输出,从而实现及时获取游戏内容的目的,且在获取并输出第一服务端生成游戏内容的同时,可以同步下载第一游戏程序包,并在第一游戏程序包下载成功之后,即可以由第一游戏程序包生成并输出游戏内容,有助于保证游戏效果,提升游戏转化率。
一些实施例中,从第二服务端下载第一游戏程序包可以包括:
在保证游戏内容满足播放要求的情况下,从第二服务端下载第一游戏程序包。
一些实施例中,在保证游戏内容满足播放要求的情况下,从第二服务端下载第一游戏程序包可以包括:
根据当前网络信息、当前播放环境、当前播放质量、以及游戏内容的编码参数中一个或多个指标,确定游戏内容是否满足播放要求;
在游戏内容播放要求的情况下,从第二服务端下载第一游戏程序包,否则继续从第一服务端获取其生成的游戏内容。
一些实施例中,在第一游戏程序包下载成功情况下,运行第一游戏程序包以由第一游戏程序包生成游戏内容并输出游戏内容可以包括:
在第一游戏程序包下载成功情况下,显示切换提示信息;
响应于切换确认操作,运行第一游戏程序包以由第一游戏程序包生成游戏内容并输出游戏内容。
一些实施例中,响应于切换确认操作,运行第一游戏程序包可以包括:
响应于切换确认操作,获取账号信息及游戏内容的进度信息;
运行第一游戏程序包,以基于账号信息登录第一游戏程序包,并确定进度信息对应的游戏数据以及基于游戏数据生成游戏内容。
一些实施例中,该第一游戏程序可以是指游戏插件,运行第一游戏程序包以由第一游戏程序包生成游戏内容并输出游戏内容可以包括:
利用代理组件运行游戏插件以由游戏插件生成游戏内容并输出游戏内容。
一些实施例中,利用代理组件运行游戏插件可以包括:
确定游戏插件当前运行所需的系统组件;
根据系统组件的组件类型,启动注册于操作系统中的对应的一个空闲注册组件作为代理组件;
利用代理组件调用系统组件启动以运行游戏插件。
一些实施例中,响应于启动指令,获取第一服务端生成的游戏内容可以包括:
响应于启动指令,提供多个游戏种类选择提示信息;
基于用户选择操作,确定目标游戏种类;
从第一服务端获取其生成的目标游戏种类对应的游戏内容。
从第二服务端下载第一游戏程序包包括:
从第二服务端下载目标游戏种类对应的第一游戏程序包。
一些实施例中,响应于启动指令,获取第一服务端生成的游戏内容可以包括:
响应于启动指令,判断第一游戏程序包是否下载完成;
在第一游戏程序包未下载完成情况下,获取第一服务端生成的游戏内容;
从第二服务端下载第一游戏程序包包括:
根据第一游戏程序包的下载进度,从第二服务端继续下载第二游戏封装包;
则该方法还可以包括:
在第一游戏程序包下载完成情况下,运行第一游戏程序包以由第一游戏程序包生成游戏内容并输出游戏内容。
一些实施例中,该方法还可以包括:
在第一游戏程序包下载失败情况下,输出下载失败提示信息;
响应于用户重试操作,返回执行从第二服务端下载第一游戏程序包的操作。
作为又一个实施例,本申请实施例还提供了一种运行方法,应用于游戏插件,该方法可以包括:
基于游戏应用的调用指令,依赖游戏应用而运行游戏插件;
生成游戏内容。
输出游戏内容。
其中,调用指令为游戏应用在游戏插件下载成功之后发送;游戏插件为游戏应用响应于启动指令,获取并输出第一服务端生成的游戏内容的同时,从第二服务端下载获得。
其中,游戏内容可以包括游戏画面,此外还可以包括游戏声音等,第一游戏程序包可以基于游戏数据渲染生成游戏画面,以及游戏声音等。之后,可以提供游戏界面,并在游戏界面中显示游戏画面,同时播放游戏声音等。
作为又一个实施例,本申请实施例还提供了一种运行方法,应用于第一服务端,该方法可以包括:
接收游戏应用发送的内容获取请求;
生成内容获取请求对应的游戏内容;
将游戏内容发送至游戏应用。
作为又一个实施例,本申请实施例还提供了一种下载方法,应用于电子设备,该方法可以包括:
下载第二游戏程序包;
基于第二游戏程序包,安装对应的游戏应用;
检测到启动操作,启动游戏应用;游戏应用可以获取并输出第一服务端生成的游戏内容,并可以从第二服务端下载第一游戏程序包,及在第一游戏程序包下载成功情况下,运行第一游戏程序包以由第一游戏程序包生成游戏内容并输出游戏内容。
作为又一个实施例,本申请实施例还提供了一种下载方法,应用于应用提供方,该方法可以包括:
接收电子设备发送的下载请求;
将第二游戏程序包发送至电子设备。
电子设备用以基于第二游戏程序包安装对应的游戏应用,并检测到启动操作时,启动该游戏应用,游戏应用可以获取并输出第一服务端生成的游戏内容,并可以从第二服务端下载第一游戏程序包,及在第一游戏程序包下载成功情况下,运行第一游戏程序包以由第一游戏程序包生成游戏内容并输出游戏内容。
作为又一个实施例,本申请实施例还提供了一种下载方法,应用于第二服务端,该方法可以包括:
接收游戏应用发送的下载请求;其中,该下载请求是游戏应用响应于启动指令而生成;或者可以是在保证游戏内容满足播放要求的情况下而生成。
将下载请求对应的第一游戏程序包下发至游戏应用。
其中,第一游戏程序包用以依赖游戏应用运行并生成以及输出游戏内容。
为了便于理解,下面结合图9所示的场景交互示意图对本申请实施例的技术方案进行描述。
如图9中所示,电子设备901可以从第二服务端902下载第二游戏程序包,并基于第二游戏程序包,安装对应的游戏应用,并在检测到启动操作时,启动该游戏应用。
之后,游戏应用可以与第一服务端903交互通信,获取其生成的游戏内容,并输出该游戏内容,实现游戏试玩。用户可以通过游戏应用向第一服务端发送控制指令,第一服务端可以根据控制指令而生成游戏内容,再将游戏内容进行编码压缩,通过网络返回游戏应用,游戏应用仅需解码解压缩处理即可以输出游戏内容。
同时,游戏应用可以在保证游戏内容满足播放要求的情况下,向第二服务端902发送下载请求,请求下载对应的游戏插件,游戏应用在游戏插件下载成功的情况下,可以显示切换提示信息,并在检测到切换确认操作之后,运行该游戏插件,该游戏插件即可依赖游戏应用而运行,替代第一服务端903生成游戏内容,并输出该游戏内容。
在该实际应用场景中的具体执行操作可以详见前文相应实施例所述,此处将不再重复赘述。
通过本申请实施例的技术方案,可以在高质量试玩体验情况下,下载第一游戏程序包,并依赖应用程序,使得第一游戏程序包在无需安装情况,可以从试玩状态切换至由第一游戏程序包生成并输出游戏内容,既保证了及时获取游戏内容,且保证了游戏效果,有助于提高游戏转化率和利用率等。此外,可以在保证游戏内容满足播放要求的情况下,可以利用最大网络带宽从第二服务端下载游戏插件,以实现游戏插件的快速下载,保证下载成功率等。
需要说明的是,第一服务端903以及第二服务端902可以为同一个服务端,也可以是不同服务端,图9中仅以不同服务端的实现方式进行了描绘。
此外,本申请实施例提供的应用程序的软件结构可以如图10中所示,该应用程序可以包括:
接口处理模块1001,用于监听启动事件并提供获取接口以及下载接口;
协议处理模块1002,用于提供获取协议、下载协议以及运行协议;
逻辑处理模块1003,用于基于启动事件,生成启动指令,并按照获取协,通过获取接口获取第一服务端生成的应用内容;以及按照下载协议,通过下载接口从第二服务端下载第一应用程序包;以及在第一应用程序包下载成功情况下,按照运行协议,运行第一应用程序包以由第一应用程序包生成游戏内容并输出游戏内容。
基层处理模块1004,用于存储以及操作接口处理模块、协议处理模块以及逻辑处理模块在运行过程中产生的日志数据。
其中,接口处理模块1001、协议处理模块1002、逻辑处理模块1003、以及基层处理模块1004可以实现为如图10所示的层级结构,从上层至下层依次为接口处理模块、逻辑处理模块、协议处理模块以及基层处理模块等。
其中,接口处理模块还可以监听下载事件,该下载事件可以是响应于启动指令且应用内容满足播放要求的情况下而生成,逻辑处理模块可以基于下载事件,及按照下载协议,通过下载接口从第二服务端下载第一应用程序包。
其中,逻辑处理模块1003,如图10中所示,可以包括获取单元111、下载单元112以及运行单元113。具体由于获取单元111基于启动事件,生成启动指令,并按照获取协,通过获取接口获取第一服务端生成的应用内容;由下载单元112按照下载协议,通过下载接口从第二服务端下载第一应用程序包;由运行单元113在第一应用程序下载成功情况下,按照运行协议,运行第一应用程序包以由第一应用程序包生成游戏内容并输出游戏内容。
获取单元111还可以提供试玩界面以展示游戏画面,并提供试玩策略、或者游戏画面调整策略等获取策略以指示从应用内容的获取操作。
下载单元112还可以提供下载界面以显示下载提示信息、下载进度提示信息等,并提供限速策略以例如约束第一应用程序包下载所占用的网络带宽等,还可以提供重试策略以例如指示在第一应用程序包下载失败情况下的重新下载次数等下载策略。此外,下载单元112还可以统计当前网络信息、当前播放环境、当前播放质量、编码参数等信息。
运行单元113还可以提供切换界面以显示切换提示信息,此外还可以提供运行策略,如指示进行状态管理、包安装管理、启动管理等处理操作。
其中,协议处理模块1002即用于提供逻辑处理模块执行相应操作所需要的获取协议、下载协议以及运行协议等,获取协议可以基于第一服务端提供的云计算能力而实现,下载协议可以基于应用提供方的下载库而实现,运行协议可以基于第一应用程序包的应用框架而实现等。
基层处理模块可以主要负责存储日志数据,比如异常上报数据、性能检测数据、数据埋点、事件分发记录、以及全链路日志等。
其中,该应用程序可以具体执行上述图2所示实施例的运行方法,其实现原理和技术效果不再赘述。对于上述实施例中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例还提供了一种运行装置,如图11所示,该运行装置可以即为上述涉及的第一应用程序包的框架结构图,该运行装置可以包括控制模块1101、以及组件代理模块1102;
控制模块1101可以用以提供运行规则等,组件代理模块1102可以提供多个系统组件,并基于运行规则,在被应用程序调用情况下而运行对应的系统组件,以执行生成并输出应用内容的处理操作。此外还可以包括执行初始化操作、动态链接库加载操作、资源处理等等处理操作。
该运行规则如前文所述,例如可以包括状态管理规则如用于指示不同状态下所执行操作等;代理管理规则,比如系统组件与注册组件的对应关系等;资源管理规则比如包括运行过程中的图片、文件、本地文件等资源的使用方式等、上下文管理规则比如运行过程中产生的上下文的使用方式等;类加载管理规则比如动态链接库的加载方式等,以及第一应用程序包作为插件的插件管理规则,如插件更新方式等。
控制模块1101可以通过创建的执行引擎将运行规则传递至组件代理模块1102,以供组件代理模块1102中的系统组件被应用程序调用情况下按照运行规则执行相应操作等。其中组件代理模块1102也可以通过创建的执行引擎接收应用程序的调用以及执行相应操作等。
该应用程序包可以执行上述图3所示实施例的运行方法,其实现原理和技术效果不再赘述。对于上述实施例中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
如图12所示,本申请实施例还提供了一种电子设备,其可以包括存储组件1201以及处理组件1202,该存储组件1201存储一条或多条计算机程序指令;一条或多条计算机程序指令以供处理组件1202调用并执行,以可以实现上述图2所示实施例的运行方法、实现上述图3所示实施例的运行方法和/或实现图5所示实施例的下载方法。
当然,电子设备必然还可以包括其他部件,例如输入/输出接口、显示组件、通信组件等。
输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被计算机执行时可以实现上述图2所示实施例的运行方法、实现上述图3所示实施例的运行方法和/或实现图5所示实施例的下载方法。该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
本申请实施例还提供了一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,计算机程序被计算机执行时可以实现如上述图2所示实施例的运行方法、实现上述图3所示实施例的运行方法和/或实现图5所示实施例的下载方法。在这样的实施例中,计算机程序可以是从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被处理器执行时,执行本申请的系统中限定的各种功能。
如图13所示,本申请实施例还提供了一种计算设备,其可以包括存储组件1301以及处理组件1302,该存储组件1301存储一条或多条计算机程序指令;一条或多条计算机程序指令以供处理组件1302调用并执行,以可以实现上述图4所示实施例的运行方法、实现上述图6所示实施例的下载方法、或者实现图7所示实施例的下载方法。
当然,计算设备必然还可以包括其他部件,例如输入/输出接口、显示组件、通信组件等。
输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
需要说明的是,上述计算设备在某些实现方式中可以为物理设备,在某些实现方式中也可以为云计算平台提供的弹性计算主机等。其可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被计算机执行时可以实现上述图4所示实施例的运行方法、实现上述图6所示实施例的下载方法、或者实现图7所示实施例的下载方法。该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
本申请实施例还提供了一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,计算机程序被计算机执行时可以实现如上述图4所示实施例的运行方法、实现上述图6所示实施例的下载方法、或者实现图7所示实施例的下载方法。在这样的实施例中,计算机程序可以是从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被处理器执行时,执行本申请的系统中限定的各种功能。
上述相应实施例中涉及的处理组件可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
显示组件可以为电致发光(EL)元件、液晶显示器或具有类似结构的微型显示器、或者视网膜可直接显示或类似的激光扫描式显示器。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种运行方法,其特征在于,包括:
响应于启动指令,获取第一服务端生成的游戏内容;
输出所述游戏内容;
从第二服务端下载第一游戏程序包;
在所述第一游戏程序包下载成功情况下,运行所述第一游戏程序包以由所述第一游戏程序包生成所述游戏内容并输出所述游戏内容。
2.根据权利要求1所述的方法,其特征在于,所述从所述第二服务端下载第一游戏程序包包括:
在保证所述游戏内容满足播放要求的情况下,从所述第二服务端下载第一游戏程序包。
3.根据权利要求2所述的方法,其特征在于,所述在保证所述游戏内容满足播放要求的情况下,从所述第二服务端下载第一游戏程序包包括:
根据当前网络信息、当前播放环境、当前播放质量、以及所述游戏内容的编码参数中一个或多个指标,确定所述游戏内容是否满足播放要求;
在所述游戏内容播放要求的情况下,从所述第二服务端下载第一游戏程序包,否则继续从所述第一服务端获取其生成的游戏内容。
4.根据权利要求1所述的方法,其特征在于,所述在所述第一游戏程序包下载成功情况下,运行所述第一游戏程序包以由所述第一游戏程序包生成所述游戏内容并输出所述游戏内容包括:
在所述第一游戏程序包下载成功情况下,显示切换提示信息;
响应于切换确认操作,运行所述第一游戏程序包以由所述第一游戏程序包生成所述游戏内容并输出所述游戏内容。
5.根据权利要求1所述的方法,其特征在于,所述第一游戏程序包为游戏插件;所述运行所述第一游戏程序包以由所述第一游戏程序包生成所述游戏内容并输出所述游戏内容包括:
利用代理组件运行所述游戏插件以由所述游戏插件生成所述游戏内容并输出所述游戏内容。
6.根据权利要求5所述的方法,其特征在于,所述利用代理组件运行所述游戏插件包括:
确定所述游戏插件当前运行所需的系统组件;
根据所述系统组件的组件类型,启动注册于操作系统中的一空闲注册组件作为代理组件;
利用所述代理组件调用所述系统组件启动以运行所述第一游戏程序包。
7.根据权利要求1所述的方法,其特征在于,所述响应于启动指令,获取第一服务端生成的游戏内容包括:
响应于启动指令,提供多个游戏种类选择提示信息;
基于用户选择操作,确定目标游戏种类;
从第一服务端获取其生成的所述目标游戏种类对应的游戏内容;
所述从第二服务端下载第一游戏程序包包括:
从第二服务端下载所述目标游戏种类对应的第一游戏程序包。
8.一种运行方法,其特征在于,包括:
响应于启动指令,获取第一服务端生成的应用内容;
输出所述应用内容;
从第二服务端下载第一应用程序包;
在所述第一应用程序包下载成功情况下,运行所述第一应用程序包以由所述第一应用程序包生成所述应用内容并输出所述应用内容。
9.一种下载方法,其特征在于,包括:
下载第二应用程序包;
基于所述第二应用程序包,安装对应的应用程序;
检测到启动操作,启动所述应用程序;
其中,所述应用程序用以获取并输出第一服务端生成的应用内容,并从第二服务端下载第一应用程序包,及在所述第一应用程序包下载成功情况下,运行所述第一应用程序包以由所述第一应用程序包生成所述应用内容并输出所述应用内容。
10.一种下载方法,其特征在于,包括:
接收应用程序发送的下载请求;所述下载请求由所述应用程序基于启动指令从第一服务端获取并输出应用内容之后而发送;
将所述下载请求对应的第一应用程序包下发至所述应用程序;所述第一应用程序包用以依赖所述应用程序运行并生成以及输出所述应用内容。
11.一种运行方法,其特征在于,包括:
基于应用程序的调用指令,依赖所述应用程序而运行应用插件;所述调用指令为所述应用程序在所述应用插件下载成功之后发送;所述应用插件为所述应用程序响应于启动指令,获取并输出第一服务端生成的应用内容的同时,从第二服务端下载获得;
生成所述应用内容;
输出所述应用内容。
12.一种应用程序,其特征在于,包括:
接口处理模块,用于监听启动事件并提供获取接口以及下载接口;
协议处理模块,用于提供获取协议、下载协议以及运行协议;
逻辑处理模块,用于基于所述启动事件,生成启动指令,并按照所述获取协,通过所述获取接口获取第一服务端生成的应用内容;以及按照所述下载协议,通过所述下载接口从第二服务端下载第一应用程序包;以及在所述第一应用程序包下载成功情况下,按照所述运行协议,运行所述第一应用程序包以由所述第一应用程序包生成所述应用内容并输出所述应用内容;
基层处理模块,用于存储以及操作所述接口处理模块、所述协议处理模块以及所述逻辑处理模块在运行过程中产生的日志数据。
13.一种电子设备,其特征在于,包括存储组件以及处理组件,所述存储组件存储一条或多条计算机程序指令;所述一条或多条计算机程序指令以供所述处理组件调用并执行,实现如权利要求1~7任一项所述的运行方法,或者实现如权利要求8所述运行方法,或者实现如权利要求9所述的下载方法,或者实现如权利要求11所述的运行方法。
14.一种计算设备,其特征在于,包括存储组件以及处理组件,所述存储组件存储一条或多条计算机程序指令;所述一条或多条计算机程序指令以供所述处理组件调用并执行,实现如权利要求10所述的下载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210764342.5A CN115054914A (zh) | 2022-06-29 | 2022-06-29 | 运行方法、下载方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210764342.5A CN115054914A (zh) | 2022-06-29 | 2022-06-29 | 运行方法、下载方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115054914A true CN115054914A (zh) | 2022-09-16 |
Family
ID=83204700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210764342.5A Pending CN115054914A (zh) | 2022-06-29 | 2022-06-29 | 运行方法、下载方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115054914A (zh) |
-
2022
- 2022-06-29 CN CN202210764342.5A patent/CN115054914A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108491275B (zh) | 程序优化方法、装置、终端及存储介质 | |
JP5350392B2 (ja) | オンデマンド無線サービスのための適応ストリーミング | |
KR101993953B1 (ko) | 게임을 이주시키는 기법 | |
US20150081764A1 (en) | Remote Virtualization of Mobile Apps | |
KR20100085127A (ko) | 무선 필드 장치들에서의 실패 관리 | |
CN109391843B (zh) | 在线视频倍速播放方法、装置、介质及智能终端 | |
US11909812B2 (en) | Application control method and apparatus, electronic device, and storage medium | |
KR102121358B1 (ko) | 데이터 전송 방법 및 디바이스 | |
CN112121411A (zh) | 震动控制方法、装置、电子设备和计算机可读存储介质 | |
CN110674040A (zh) | 应用的测试方法、装置、设备和存储介质 | |
CN112954717A (zh) | 基于h5页面的家电配网方法和装置 | |
US10725797B2 (en) | Service-driven dynamic user interface technology | |
US10073688B2 (en) | Method and apparatus for executing application | |
CN111026406A (zh) | 应用运行方法、设备和计算机可读存储介质 | |
CN113656091B (zh) | 独立开播进程的实现方法以及相关装置、设备 | |
CN115054914A (zh) | 运行方法、下载方法及设备 | |
CN116233209A (zh) | 一种gpu云渲染服务远程管理调度方法 | |
US8745257B1 (en) | Methods and apparatus for rendering video advertising on a mobile device | |
CN111638914A (zh) | 一种对终端功能的设置方法、设备及存储介质 | |
Bisignano et al. | Dynamic user interface adaptation for mobile computing devices | |
CN114390300B (zh) | 一种直播控制方法、装置、电子设备及计算机存储介质 | |
CN110392105B (zh) | 一种文件传输方法、装置、系统及电子设备和存储介质 | |
CN117119265A (zh) | 视频的播放方法、装置、设备和计算机可读存储介质 | |
CN118689428A (zh) | 跨设备的画面显示方法、装置、设备、介质及程序产品 | |
CN114697647A (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 |