CN112487322A - 一种第三方应用Loading页面的加载方法及显示设备 - Google Patents
一种第三方应用Loading页面的加载方法及显示设备 Download PDFInfo
- Publication number
- CN112487322A CN112487322A CN202011489349.8A CN202011489349A CN112487322A CN 112487322 A CN112487322 A CN 112487322A CN 202011489349 A CN202011489349 A CN 202011489349A CN 112487322 A CN112487322 A CN 112487322A
- Authority
- CN
- China
- Prior art keywords
- application
- page
- loading
- file
- display
- 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.)
- Granted
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 284
- 230000009471 action Effects 0.000 claims description 27
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000000034 method Methods 0.000 abstract description 34
- 238000010586 diagram Methods 0.000 description 29
- 238000004891 communication Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- UGODCLHJOJPPHP-AZGWGOJFSA-J tetralithium;[(2r,3s,4r,5r)-5-(6-aminopurin-9-yl)-4-hydroxy-2-[[oxido(sulfonatooxy)phosphoryl]oxymethyl]oxolan-3-yl] phosphate;hydrate Chemical compound [Li+].[Li+].[Li+].[Li+].O.C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP([O-])(=O)OS([O-])(=O)=O)[C@@H](OP([O-])([O-])=O)[C@H]1O UGODCLHJOJPPHP-AZGWGOJFSA-J 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种第三方应用Loading页面的加载方法及显示设备,在启动第三方应用时,获取第三方应用的应用URL、应用代码包和Loading页面URL;在应用URL为目标协议URL时,在应用代码包中读取加载页面参数;将加载页面参数写入Loading页面URL,基于生成的新Loading页面URL,在显示器中呈现包括加载页面参数对应显示内容的Loading页面。可见,本发明提供的方法及显示设备,在等待第三方应用数据加载的时间内,在Loading页面中展示应用代码包中提供的更加丰富的显示内容,提高第三方应用的加载性能,优化使用体验。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种第三方应用Loading页面的加载方法及显示设备。
背景技术
随着显示设备的快速发展,显示设备的功能将越来越丰富,性能也越来越强大,目前,显示设备包括智能电视、智能机顶盒、智能盒子,以及带有智能显示屏幕的产品等。以智能电视为例,为丰富应用的电视使用体验,显示设备集成若干第三方应用供用户使用,除Youtube、Netflix、PrimeVideo等Native应用外,其他绝大多数应用属于托管在云端的应用,在终端浏览器中运行。
目前,显示设备内仅保存第三方应用的超文本传输协议(HTTP,HypertextTransfer Protocol)协议URL,而不提供应用代码包(package包)。在启动第三方应用时,通常基于HTTP协议URL进行即时加载,加载慢,也无法离线启动,且在加载时仅显示Loading圈,用户的加载体验不好。
发明内容
本申请提供了一种第三方应用Loading页面的加载方法及显示设备,以解决现有的第三方应用加载性能低的问题。
第一方面,本申请提供了一种显示设备,包括:
显示器,被配置为呈现用户界面;
与所述显示器连接的控制器,所述控制器被配置为:
响应于启动第三方应用的应用启动指令,获取所述第三方应用的应用URL、应用代码包和Loading页面URL;
在所述应用URL为目标协议URL时,在所述应用代码包中读取用于使所述第三方应用的Loading页面呈现显示内容的加载页面参数;
将所述加载页面参数写入所述Loading页面URL,生成新Loading页面URL;
基于所述新Loading页面URL,在所述显示器中呈现包括所述加载页面参数对应显示内容的Loading页面。
本申请实施例中,所述控制器在执行所述在所述应用代码包中读取用于使所述第三方应用的Loading页面呈现显示内容的加载页面参数,被进一步配置为:
在所述应用代码包中读取所述第三方应用的应用描述文件;
解析所述应用描述文件,获得用于使所述第三方应用的Loading页面呈现显示内容的加载页面参数。
本申请实施例中,所述控制器在执行所述解析所述应用描述文件,获得用于使所述第三方应用的Loading页面呈现显示内容的加载页面参数,被进一步配置为:
解析所述应用描述文件,以及,将解析得到的所有文件内容存储成字符串;
在所述字符串中存在加载页面参数字段时,则解析所述字符串,以及,将解析结果存储至数据对象,所述数据对象中存储有所述应用描述文件的所有文件内容;
获取所述数据对象中的加载页面参数字段对应的目标结构格式,将所述目标结构格式对应的文件内容作为加载页面参数。
本申请实施例中,所述目标结构格式包括一级结构、二级结构和三级结构;以及,所述控制器在执行所述获取所述数据对象中的加载页面参数字段对应的目标结构格式,将所述目标结构格式对应的文件内容作为加载页面参数,被进一步配置为:
判断所述加载页面参数字段的目标结构格式是否为一级结构;
如果是所述一级结构,则将所述一级结构对应的文件内容作为加载页面参数;
如果不是所述一级结构,则判断所述加载页面参数字段的目标结构格式是否为二级结构;
如果是所述二级结构,则将所述二级结构对应的文件内容作为加载页面参数;
如果不是所述二级结构,则将所述三级结构对应的文件内容作为加载页面参数。
本申请实施例中,所述控制器在执行所述如果是所述二级结构,则将所述二级结构对应的文件内容作为加载页面参数,被进一步配置为:
如果所述加载页面参数字段的目标结构格式为二级结构,则获取所述加载页面参数字段对应的一级结构文件内容;
在所述一级结构文件内容中,获取所述加载页面参数字段对应的二级结构文件内容,将所述二级结构文件内容作为加载页面参数。
本申请实施例中,所述控制器在执行所述如果不是所述二级结构,则将所述三级结构对应的文件内容作为加载页面参数,被进一步配置为:
如果所述加载页面参数字段的目标结构格式不是二级结构,则获取所述加载页面参数字段对应的一级结构文件内容;
在所述一级结构文件内容中,获取所述加载页面参数字段对应的二级结构文件内容;
在所述二级结构文件内容中,获取所述加载页面参数字段对应的三级结构文件内容,将所述三级结构文件内容作为加载页面参数,所述三级结构为所述加载页面参数字段的目标结构格式。
本申请实施例中,所述控制器被进一步配置为:
在所述显示器中呈现Loading页面时,在后台加载所述第三方应用的应用显示页面;
在所述Loading页面的显示时长达到预设时长时,将所述第三方应用的应用显示页面呈现在所述显示器中,以及,将所述Loading页面取消显示。
本申请实施例中,所述控制器在执行所述在后台加载所述第三方应用的应用显示页面,被进一步配置为:
解析所述应用URL,得到所述第三方应用对应的指定启动动作、APPID和APP参数;
获取所述第三方应用的索引配置文件,在所述索引配置文件中查找与所述APPID对应的APPURL,所述APPURL为所述第三方应用在显示设备中存储的真实访问路径;
解析所述第三方应用的应用描述文件,确定与所述指定启动动作对应的所述第三方应用的指定访问页面信息;
将所述APP参数、APPURL和指定访问页面信息封装成File协议URL,以及,在后台基于所述File协议URL加载所述第三方应用的应用显示页面。
本申请实施例中,所述控制器在执行所述获取所述第三方应用的应用代码包,被进一步配置为:
生成第三方应用的代码包下载请求,将所述代码包下载请求发送至云端服务器,以及,在所述显示器中呈现显示有下载进度条的代码包下载页面,所述代码包下载请求用于指示所述云端服务器返回所述第三方应用的应用代码包;
在所述下载进度条处于完成状态时,将所述云端服务器返回的第三方应用的应用代码包存储在本地。
第二方面,本申请还提供了一种第三方应用Loading页面的加载方法,所述方法包括:
响应于启动第三方应用的应用启动指令,获取所述第三方应用的应用URL、应用代码包和Loading页面URL;
在所述应用URL为目标协议URL时,在所述应用代码包中读取用于使所述第三方应用的Loading页面呈现显示内容的加载页面参数;
将所述加载页面参数写入所述Loading页面URL,生成新Loading页面URL;
基于所述新Loading页面URL,在所述显示器中呈现包括所述加载页面参数对应显示内容的Loading页面。
第三方面,本申请还提供了一种存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的第三方应用Loading页面的加载方法各实施例中的部分或全部步骤。
由以上技术方案可知,本发明实施例提供的一种第三方应用Loading页面的加载方法及显示设备,在启动第三方应用时,获取第三方应用的应用URL、应用代码包和Loading页面URL;在应用URL为目标协议URL时,在应用代码包中读取加载页面参数;将加载页面参数写入Loading页面URL,基于生成的新Loading页面URL,在显示器中呈现包括加载页面参数对应显示内容的Loading页面。可见,本发明实施例提供的方法及显示设备,在等待第三方应用数据加载的时间内,在Loading页面中展示应用代码包中提供的更加丰富的显示内容,提高第三方应用的加载性能,优化使用体验。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据一些实施例的显示设备的使用场景;
图2示出了根据一些实施例的控制装置100的硬件配置框图;
图3示出了根据一些实施例的显示设备200的硬件配置框图;
图4示出了根据一些实施例的显示设备中软件配置图;
图5示出了根据一些实施例的应用描述文件的内容示意图;
图6示出了根据一些实施例的应用代码包的管理架构示意图;
图7示出了根据一些实施例的第三方应用Loading页面的加载方法的流程图;
图8示出了根据一些实施例的第三方应用Loading页面的加载方法的数据流图;
图9示出了根据一些实施例的云端应用商店界面的显示示意图;
图10示出了根据一些实施例的应用下载界面的显示示意图;
图11示出了根据一些实施例的开始下载时代码包下载页面的显示示意图;
图12示出了根据一些实施例的下载过程中代码包下载页面的显示示意图;
图13示出了根据一些实施例的下载完成时代码包下载页面的显示示意图;
图14示出了根据一些实施例的获取加载页面参数的数据流图;
图15示出了根据一些实施例的加载应用显示页面的方法流程图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
图1示出了根据一些实施例的显示设备的使用场景。如图1所示,显示设备200还与服务器400进行数据通信,用户可通过智能设备300或控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等至少一种输入用户指令,来控制显示设备200。
在一些实施例中,智能设备300可以包括移动终端、平板电脑、计算机、笔记本电脑,AR/VR设备等中的任意一种。
在一些实施例中,也可以使用智能设备300以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。
在一些实施例中,也可以使用智能设备300和显示设备进行数据的通信。
在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制装置来接收用户的语音指令控制。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
在一些实施例中,一个步骤执行主体执行的软件步骤可以随需求迁移到与之进行数据通信的另一步骤执行主体上进行执行。示例性的,服务器执行的软件步骤可以随需求迁移到与之数据通信的显示设备上执行,反之亦然。
图2示出了根据一些实施例的控制装置100的硬件配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。
在一些实施例中,通信接口130用于和外部通信,包含WIFI芯片,蓝牙模块,NFC或可替代模块中的至少一种。
在一些实施例中,用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。
图3示出了根据一些实施例的显示设备200的硬件配置框图。参见图3,在一些实施例中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
在一些实施例中控制器包括中央处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面等。
在一些实施例中,显示器260可为液晶显示器、OLED显示器、以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。
在一些实施例中,调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG数据信号。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与控制装置100或服务器400建立控制信号和数据信号的发送和接收。
在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
在一些实施例中,外部装置接口240可以包括但不限于如下:高清多媒体接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。
在一些实施例中控制器包括中央处理器(Central Processing Unit,CPU),视频处理器,音频处理器,图形处理器(Graphics Processing Unit,GPU),RAM Random AccessMemory,RAM),ROM(Read-Only Memory,ROM),用于输入/输出的第一接口至第n接口,通信总线(Bus)等中的至少一种。
CPU处理器,用于执行存储在存储器中操作系统和应用程序指令,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。CPU处理器,可以包括多个处理器。如,包括一个主处理器以及一个或多个子处理器。
在一些实施例中,图形处理器,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等中的至少一种。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理中的至少一种,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等中的至少一种。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。显示格式化模块,用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。
在一些实施例中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理中的至少一种,得到可以在扬声器中播放的声音信号。
在一些实施例中,用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素中的至少一种。
在一些实施例中,用户接口280,为可用于接收控制输入的接口(如:显示设备本体上的实体按键,或其他等)。
在一些实施例中,显示设备的系统可以包括内核(Kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
显示设备的系统可以包括内核(Kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
图4示出了根据一些实施例的显示设备中软件配置图。如图4所示,将显示设备的系统分为三层,从上至下分别为应用层、中间件层和硬件层。
应用层主要包含电视上的常用应用,以及应用框架(Application Framework),其中,常用应用主要是基于浏览器Browser开发的应用,例如:HTML5 APPs;以及原生应用(Native APPs);
应用框架(Application Framework)是一个完整的程序模型,具备标准应用软件所需的一切基本功能,例如:文件存取、资料交换...,以及这些功能的使用接口(工具栏、状态列、菜单、对话框)。
原生应用(Native APPs)可以支持在线或离线,消息推送或本地资源访问。
中间件层包括各种电视协议、多媒体协议以及系统组件等中间件。中间件可以使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
硬件层主要包括HAL接口、硬件以及驱动,其中,HAL接口为所有电视芯片对接的统一接口,具体逻辑由各个芯片来实现。驱动主要包含:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
在一些实施例中,显示设备可连接到VIDAA服务器,即安装有VIDAA系统以实现网络电视功能。在实现网络电视功能时,为丰富应用的电视使用体验,显示设备集成若干第三方应用供用户使用,除Youtube、Netflix、PrimeVideo等Native应用外,其他绝大多数应用属于托管在云端的应用,在终端浏览器中运行。
采用VIDAA系统的显示设备中安装有多种第三方应用,VIDAA的第三方应用的管理均基于URL来实现。第三方应用由第三方应用商向显示设备提供,每个第三方应用均对应有应用代码包(package包)。
但是,由于现有的显示设备本端并未存储应用代码包,而仅保存第三方应用的超文本传输协议(HTTP,Hypertext Transfer Protocol)协议URL。因此,在启动第三方应用时,显示设备通常先下载HTTP协议URL,再基于HTTP协议URL启动对应的第三方应用,这种启动方式属于即时启动即时加载的方式,加载慢,也无法离线启动。
而对于显示设备中需要维护的多个第三方应用,每个第三方应用在启动时均需单独进行,无法对显示设备中的所有第三方应用进行统一管理,导致管理效率低下。
显示设备在启动第三方应用时,由于需要先经过下载URL的过程,导致在等待应用数据加载的过程为空白期,通常可在显示器中显示Loading圈,以对加载第三方应用的过程进行遮挡。但是,Loading圈仅为带有“Loading”字样的图案,显示内容不丰富,用户的加载体验不好。
因此,为便于显示设备在加载第三方应用时,在等待加载的过程中能够提供给用户更加丰富的内容,可在加载时,在显示器中显示Loading页面,且Loading页面中可呈现有图片、视频、推荐信息等内容。
在一些实施例中,Loading页面中呈现的内容可来自第三方应用的应用代码包,因此,需要第三方应用商将第三方应用的应用代码包提供给显示设备侧。应用代码包中除包括对应第三方应用的运行代码外,还包括保存该第三方应用配置信息的应用描述文件(manifest.json文件)、Loading页面加载所需的图片、视频、推荐信息等内容。
图5示出了根据一些实施例的应用描述文件的内容示意图。应用描述文件为Json格式,其内容包括但不限于图5所示的内容。参见图5,应用描述文件中包括三种结构格式:一级结构、二级结构和三级结构;每种结构格式下可对应多种配置信息,如应用包名(pkgname)、应用名称(appname)、应用版本号名称(version)、Loading页面加载参数等信息,每种结构对应的信息可实现至少一种功能。
显示设备基于每个第三方应用的应用代码包,可获取应用代码包中的Loading页面加载参数,将其呈现在Loading页面时,使得显示设备在启动第三方应用时,可以在显示器中呈现带有图片、视频等信息的Loading页面,丰富等待第三方应用加载时的页面显示内容,提升加载体验。
同时,显示设备基于应用代码包实现对第三方应用的统一管理,将原来运行在第三方云端的前端代码,开发应用代码包管理机制,通过应用商店下载的形式,将应用代码包安全的加载在显示设备上并运行。显示设备基于应用代码包中的信息将第三方应用的URL统一定义成File协议URL进行调用,构建完整的应用管控及Deeplink机制,第三方不再可以任意更新版本,而必须提供给显示设备侧进行审核,提高应用加载性能,并提高管理效率。
图6示出了根据一些实施例的应用代码包的管理架构示意图。参见图6,显示设备在管理第三方应用的应用代码包时,包括Apps层和PKG Mode层。Apps层为应用代码包管理机制支持的APP类型,涵盖VIDAA APPs、HiPlayer、E-Manual在内的所有预装APP及第三方应用(媒资应用、游戏应用等)等。
PKG Mode层为本机制开发的模块,包括:包管理模块(PkgMode)、包运行环境模块(WebEngine)和包开发环境模块(Developer Tools)。包管理模块包括:Installer、SpaceManage、Downloader,负责包的安装、更新、下载部分;包运行环境模块包括:统一Scheme封装(URL Scheme Module)、Splash优化部分(Splash Module)和权限管理(PermissionManage);包开发环境模块包括:包结构(packager)、TV直接上传调试接口(TV Uploader)、打包工具(Manifest Tool)等部分。
显示设备提出的应用代码包管理机制实现后,不影响原有应用继续使用,支持在本地启动系列第三方应用,如VIDAA系列APP、HiPlayer、E-Manual、第三方CSP应用等;可优化应用启动体验、应用启动性能,并支持离线应用;统一Package结构,提供打包工具,提供调试工具,Package被第三方篡改可识别。支持统一Scheme方案,即将第三方应用的URL统一定义为File协议URL,以加快应用加载效率。支持统一Deeplinking方案。第三方应用商将对应的应用代码包上传至云端应用商店,显示设备由云端应用商店获取对应第三方应用的应用代码包实现类原生的应用商店体验。
可见,显示设备获取到第三方应用的应用代码包后,可基于应用代码包中的配置信息对第三方应用进行统一管理,提高管理效率。
在一些实施例中,显示设备调用第三方应用的应用代码包进行统一管理的一种应用场景,是在显示设备启动第三方应用时,为提供给用户更加丰富的内容展示,可在第三方应用的Loading页面中展示应用代码包中的Loading页面加载参数,在等待应用数据加载的时间内优化使用体验。
图7示出了根据一些实施例的第三方应用Loading页面的加载方法的流程图;图8示出了根据一些实施例的第三方应用Loading页面的加载方法的数据流图。本发明实施例提供一种显示设备,包括:显示器,被配置为呈现用户界面;与显示器连接的控制器。在加载第三方应用,利用应用代码包呈现更加丰富内容的Loading页面时,参见图7和图8,控制器被配置为执行下述步骤:
S1、响应于启动第三方应用的应用启动指令,获取第三方应用的应用URL、应用代码包和Loading页面URL。
用户在启动显示设备中配置的应用程序时,显示设备利用浏览器启动该应用程序得到第三方应用。启动时,用户可通过触发遥控器上的按键,产生应用启动指令,以启动指定第三方应用。
在加载第三方应用时,显示器中会显示Loading页面,而为丰富Loading页面的显示内容,可获取第三方应用的应用URL、应用代码包和Loading页面URL。应用URL是指启动第三方应用的URL,在VIDAA系统中,应用URL为采用VIDAA协议的URL。应用代码包内封装有第三方应用的运行代码和配置信息(应用描述文件等),Loading页面URL是指用于启动Loading页面的URL。
应用URL和Loading页面URL由显示设备的系统提供,通常每个第三方应用的应用URL和Loading页面URL均存储在应用安装信息文件(AppInfo.json)中。
应用代码包由启动的第三方应用的所属应用商提供,第三方应用商将对应的第三方应用的应用代码包打包为tar.gz格式,上传到云端应用商店界面(云端服务器)。应用代码包中除自身代码外,还包含保存其配置信息的manifest.json文件,Loading页面加载所需的图片,动画等信息。
因此,在一些实施例中,控制器在执行获取第三方应用的应用代码包,被进一步配置为执行下述步骤:
步骤11、生成第三方应用的代码包下载请求,将代码包下载请求发送至云端服务器,以及,在显示器中呈现显示有下载进度条的代码包下载页面,代码包下载请求用于指示云端服务器返回第三方应用的应用代码包。
步骤12、在下载进度条处于完成状态时,将云端服务器返回的第三方应用的应用代码包存储在本地。
第三方应用商将各自的第三方应用的应用代码包上传到云端服务器后,显示设备本地对应显示有云端应用商店界面。显示设备可以下载特定文件,将压缩包安装至特定目录,并更新应用配置索引文件以及AppInfo.json文件,实现更新应用,卸载应用。
图9示出了根据一些实施例的云端应用商店界面的显示示意图;图10示出了根据一些实施例的应用下载界面的显示示意图。参见图9和图10,云端应用商店界面中显示有各第三方应用的图标,用户在云端应用商店界面中显示的多个第三方应用中选择其中一个,跳转至应用下载界面。用户再次触发应用下载界面中的“install”按钮,产生第三方应用的应用启动指令。控制器基于应用启动指令,生成第三方应用的代码包下载请求,并发送至云端服务器,以获取云端服务器中存储的该第三方应用的应用代码包,并将第三方应用下载到本地。
图11示出了根据一些实施例的开始下载时代码包下载页面的显示示意图;图12示出了根据一些实施例的下载过程中代码包下载页面的显示示意图。同时,显示设备侧,在显示器中生成代码包下载页面,在开始下载时,代码包下载页面中呈现的下载进度条显示的进度为0。在完成下载时,下载进度条显示的进度为100。
下载进度条显示的进度值逐渐增加的过程中,为云端服务器查找与用户启动的第三方应用对应的应用代码包的过程。下载进度条在处于完成状态时,说明云端服务器已查找到第三方应用的应用代码包,并将其返回至显示设备侧。此时,显示设备获取到云端服务器返回的第三方应用的应用代码包,并将其保存在本地。
图13示出了根据一些实施例的下载完成时代码包下载页面的显示示意图。参见图13,在第三方应用的应用代码包完成下载后,代码包下载页面中生成open控件、remove控件和upgrade控件。第三方应用的应用代码包下载完毕后,即可将实现对第三方应用的下载安装,并在应用下载完成后,可点击open控件对其进行打开,点击remove控件对其移除,点击upgrade控件对其进行更新操作。
例如,点击remove,可删除在本地储存的应用代码包,并删除AppInfo.json文件中该应用的配置信息和mapindex.txt中该应用的索引信息。点击Upgrade,可更新该应用的版本,将本地中原有的旧版本删除,安装新版本应用,并更新AppInfo.json文件中和mapindex.txt中该应用的版本信息。
按照上述方法在获取到第三方应用的应用URL、应用代码包和Loading页面URL后,即可执行应用代码包管理机制,将应用代码包中的Loading页面加载参数写入Loading页面URL,加载Loading页面,以得到呈现丰富显示内容的Loading页面。
S2、在应用URL为目标协议URL时,在应用代码包中读取用于使第三方应用的Loading页面呈现显示内容的加载页面参数。
在一些实施例中,在VIDAA系统中,目标协议可为VIDAA协议,目标协议URL可为VIDAA协议URL。因此,在获取到指定第三方应用的应用URL后,判断应用URL是否为目标协议URL,即在打开指定第三方应用时,从AppInfo.json读取的该应用URL,判断是否为自定义vidaa://协议。如果是,则在应用代码包中读取用于使第三方应用的Loading页面呈现显示内容的加载页面参数。如果不是目标协议URL,则按照原有逻辑加载Loading页面,即仅显示Loading圈。
用于使第三方应用的Loading页面呈现显示内容的加载页面参数即为应用描述文件中存储的Loading页面加载参数,因此,可先获取到第三方应用的应用描述文件,再得到加载页面参数。
在一些实施例中,控制器在执行在应用代码包中读取用于使第三方应用的Loading页面呈现显示内容的加载页面参数,被进一步配置为:
步骤21、在应用代码包中读取第三方应用的应用描述文件。
步骤22、解析应用描述文件,获得用于使第三方应用的Loading页面呈现显示内容的加载页面参数。
在第三方应用的应用代码包中读取第三方应用的应用描述文件,解析应用描述文件(manifest.json文件),读取manifest.json文件中的所需字段作为加载页面参数。例如:resolution,index,appname,image,backgroundcolor等。
根据resolution字段配置主window的分辨率,即应用显示页面的分辨率,支持自适应分辨率。根据manifest.json文件中的配置参数,在应用启动时,加载相应的Loading页面,以呈现包括图片、视频或推荐信息等丰富内容的Loading页面。在一些实施例中,Loading页面设计保存在/opt/webengine/resources/status_page/中。
控制器在获取应用描述文件中的加载页面参数(splash字段信息)时,需调用包运行环境模块中的JSPlugins接口读取配置信息。
图14示出了根据一些实施例的获取加载页面参数的数据流图。参见图14,在一些实施例中,控制器在执行解析应用描述文件,获得用于使第三方应用的Loading页面呈现显示内容的加载页面参数,被进一步配置为执行下述步骤:
步骤221、解析应用描述文件,以及,将解析得到的所有文件内容存储成字符串。
步骤222、在字符串中存在加载页面参数字段时,则解析字符串,以及,将解析结果存储至数据对象,数据对象中存储有应用描述文件的所有文件内容。
步骤223、获取数据对象中的加载页面参数字段对应的目标结构格式,将目标结构格式对应的文件内容作为加载页面参数。
控制器在调用JSPlugins接口读取应用描述文件中的splash字段信息,对应用描述文件进行解析,得到所有文件内容,并将解析得到的所有文件内容读取至字符串。判断字符串中是否存在要查找的加载页面参数字段,如果不存在,则返回“NULL”。如果存在,则将字符串解析至value,将value作为数据对象,存储应用描述文件的所有文件内容。
在数据对象中查找需要查找的加载页面参数字段,由于应用描述文件为Json格式,其包括三种结构格式,分别为一级结构、二级结构和三级结构。因此,需要判断加载页面参数字段的目标结构格式,判断其为一级结构、二级结构,还是三级结构,以便更加精准地获取到加载页面参数字段对应的参数。
在一些实施例中,一级结构>二级结构>三级结构,即三级结构从属于二级结构,二级结构从属于一级结构。因此,在判断加载页面参数字段的目标结构格式,需按照一级结构、二级结构、三级结构的顺序依次判断。
在一些实施例中,控制器在执行步骤223,即获取数据对象中的加载页面参数字段对应的目标结构格式,将目标结构格式对应的文件内容作为加载页面参数,被进一步配置为执行下述步骤:
步骤2231、判断加载页面参数字段的目标结构格式是否为一级结构。
步骤2232、如果是一级结构,则将一级结构对应的文件内容作为加载页面参数。
步骤2233、如果不是一级结构,则判断加载页面参数字段的目标结构格式是否为二级结构。
步骤2234、如果是二级结构,则将二级结构对应的文件内容作为加载页面参数。
步骤2235、如果不是二级结构,则将三级结构对应的文件内容作为加载页面参数。
依据判断顺序,先判断加载页面参数字段的目标结构格式是否为一级结构,如果是一级结构,则将一级结构对应的文件内容至结构体,将结构体中存储的文件内容作为加载页面参数。结构体为用户自定义的存储介质,用于存储读取到的文件内容,并在后续向控制器返回查找到的参数数据,即加载页面参数。
如果加载页面参数字段的目标结构格式不是一级结构,则基于判断顺序,继续判断加载页面参数字段的目标结构格式是否为二级结构。如果加载页面参数字段的目标结构格式是二级结构,则将二级结构对应的文件内容作为加载页面参数。
但是,由于应用描述文件中的数据需要一级接着一级进行读取,即需先读取一级结构的数据,再从一级结构的数据中读取二级结构的数据。因此,在一些实施例中,控制器在执行步骤2234,即如果是二级结构,则将二级结构对应的文件内容作为加载页面参数,被进一步配置为:
步骤22341、如果加载页面参数字段的目标结构格式为二级结构,则获取加载页面参数字段对应的一级结构文件内容。
步骤22342、在一级结构文件内容中,获取加载页面参数字段对应的二级结构文件内容,将二级结构文件内容作为加载页面参数。
在加载页面参数字段的目标结构格式为二级结构时,读取一级结构的文件内容至object,将object中的文件内容作为与加载页面参数字段对应的一级结构文件内容。object为控制器中定义的存储介质,用于暂时存储读取到的一级结构的文件内容。
再在object中查找加载页面参数字段对应的文件内容,即在一级结构文件内容中,查找加载页面参数字段对应的文件内容,将在一级结构文件内容中查找到的文件内容作为二级结构文件内容。
将二级结构对应的文件内容至结构体,将结构体中存储的二级结构文件内容作为加载页面参数。
在一些实施例中,如果加载页面参数字段的目标结构格式不是二级结构,则说明加载页面参数字段的目标结构格式是三级结构,此时,将三级结构对应的文件内容作为加载页面参数。在读取三级结构对应的文件内容时,需要先依次读取一级结构和二级结构对应的文件内容,在二级结构文件内容中读取三级结构对应的文件内容。
因此,控制器在执行步骤2235,即如果不是二级结构,则将三级结构对应的文件内容作为加载页面参数,被进一步配置为执行下述步骤:
步骤22351、如果加载页面参数字段的目标结构格式不是二级结构,则获取加载页面参数字段对应的一级结构文件内容。
步骤22352、在一级结构文件内容中,获取加载页面参数字段对应的二级结构文件内容。
步骤22353、在二级结构文件内容中,获取加载页面参数字段对应的三级结构文件内容,将三级结构文件内容作为加载页面参数,三级结构为加载页面参数字段的目标结构格式。
在加载页面参数字段的目标结构格式不是二级结构时,此时,加载页面参数字段的目标结构格式为三级结构,因此,先读取一级结构的文件内容至object(A),将object(A)中的文件内容作为与加载页面参数字段对应的一级结构文件内容。object(A)为控制器中定义的存储介质,用于暂时存储读取到的一级结构的文件内容。
再在object(A)中查找二级结构的文件内容并存储至object(B),将object(B)中的文件内容作为与加载页面参数字段对应的二级结构文件内容。object(B)为控制器中定义的存储介质,用于暂时存储读取到的二级结构的文件内容。
最后,在object(B)中查找加载页面参数字段对应的文件内容,即在二级结构文件内容中,查找加载页面参数字段对应的文件内容,将在二级结构文件内容中查找到的文件内容作为三级结构文件内容,将三级结构文件内容作为加载页面参数。
将三级结构对应的文件内容至结构体,将结构体中存储的三级结构文件内容作为加载页面参数。
JSPlugins接口在应用描述文件中读取到加载页面参数后,存储至结构体,最后,将结构体中存储的加载页面参数反馈到控制器,便于进行后续呈现带有丰富显示内容的Loading页面。
S3、将加载页面参数写入Loading页面URL,生成新Loading页面URL。
在从应用描述文件中获取到第三方应用的加载页面参数后,加载页面参数可为图片或视频等内容,将加载页面参数写入Loading页面URL,生成新Loading页面URL。
在一些实施例中,由于Loading页面URL为File协议URL,将加载页面参数写入Loading页面URL后,生成的新Loading页面URL为:packageWindow=“file:///usr/local/opt/webengine/resources/status_page/loadingPage.html?im age=“+path+appInfo.image+“&backgroundcolor=“+appInfo.backgroundcolor+“&statusWindo w=“+path+appInfo.statusWindow+“&appname=“+appInfo.appname;。
在一些实施例中,从应用描述文件中获取的加载页面参数为:image=“+path+appInfo.image+“&backgroundcolor=“+appInfo.backgroundcolor+“&statusWi ndow=“+path+appInfo.statusWindow+“&appname=“+appInfo.appname”,该加载页面参数可实现丰富的内容展示。其中,image为三级结构文件内容,backgroundcolor为三级结构文件内容。
S4、基于新Loading页面URL,在显示器中呈现包括加载页面参数对应显示内容的Loading页面。
加载新Loading页面URL,即可在显示器中展示Loading页面,此时,Loading页面中展示有加载页面参数对应显示内容,例如,图片或视频等。可见,在用户启动某个第三方应用时,使得加载Loading页面不再仅显示单调的Loading圈图案,而可加载应用描述文件中的splash信息并进行相关展示,实现可配置的闪屏,优化用户体验。
在一些实施例中,用户在启动第三方应用时,在等待应用加载过程中,在显示器中呈现展示有丰富内容的Loading页面,同时,在后台加载第三方应用的应用显示页面,通过Loading页面对应用显示页面进行遮挡,避免加载过程中的空白界面被用户看到,影响用户体验。
因此,在执行加载Loading页面的方法时,控制器被进一步配置为执行下述步骤:
步骤51、在显示器中呈现Loading页面时,在后台加载第三方应用的应用显示页面。
步骤52、在Loading页面的显示时长达到预设时长时,将第三方应用的应用显示页面呈现在显示器中,以及,将Loading页面取消显示。
显示设备基于新Loading页面URL在显示器中呈现Loading页面时,可同时在后台加载第三方应用的应用显示页面。Loading页面的显示时长有限,避免用户等待过长时间,因此,可设定预设时长,在一些实施例中,可设定预设时长为3秒。
在Loading页面的显示时长达到预设时长时,取消显示Loading页面,而将第三方应用的应用显示页面呈现在显示器中,此时,实现第三方应用的加载。
由于Loading页面的显示时长较短,因此,需要控制器在后台加载第三方应用的应用显示页面时,需要进行快速的加载。
在一些实施例中,在启动第三方应用时,为提高第三方应用启动的速度,提高第三方应用加载性能,可将第三方应用的目标协议URL封装为File协议URL,即在启动第三方应用时,可在原来运行在第三方云端的前端代码,安全的加载在终端上,以统一Scheme的形式基于File协议进行调用,即保证启动网页应用时的加载性能,又能提升加载体验。同时,基于统一的Scheme机制,通过调用统一接口形式启动网页应用,无需暴露技术细节,屏蔽系统相干性,提升安全性。
图15示出了根据一些实施例的加载应用显示页面的方法流程图。因此,参见图15,控制器在执行在后台加载第三方应用的应用显示页面,被进一步配置为执行下述步骤:
S511、解析应用URL,得到第三方应用对应的指定启动动作、APPID和APP参数。
S512、获取第三方应用的索引配置文件,在索引配置文件中查找与APPID对应的APPURL,APPURL为第三方应用在显示设备中存储的真实访问路径。
S513、解析第三方应用的应用描述文件,确定与指定启动动作对应的第三方应用的指定访问页面信息。
S514、将APP参数、APPURL和指定访问页面信息封装成File协议URL,以及,在后台基于File协议URL加载第三方应用的应用显示页面。
为提高第三方应用的加载效率,将采用目标协议的应用URL替换为采用File协议的URL,因此,解析该应用URL,得到指定网页应用对应的指定启动动作(Action)、APPID和APP参数。
在一些实施例中,控制器选择自定义Scheme,即将目标协议自定义为File协议,隐藏细节,将路径管理与依赖保留在模块内部,实现UI/云端平台无关。自定义Scheme的内容至少包括如下1-6的内容:
“1、Scheme字段:为自定义协议,默认为VIDAA,webengine会识别此Scheme进行处理。
2、Host字段:为应用类型,第三方应用默认为webapps,即网页应用。
3、Port字段:用于特殊管理,第三方应用默认为空,如在debug模式下使用特定端口启动应用,可以打开log/启用实验特性。
4、Action字段:包括(1)Launch:启动应用;(2)Deeplink:深链接,等。
5、ID字段:为APPID。
6、parm字段:为APP参数。”
在自定义File协议URL时,需依据第三方应用的真实访问路径(APPURL),而APPURL存储在第三方应用的索引配置文件中。因此,需先获取第三方应用的索引配置文件,索引配置文件为Pkgapps类型的应用配置文件,统一保存在数据库文件/APPS/pkgapps/mapindex.txt中,由浏览器进行统一控制与读取,主要用于启动链接与真实URL的映射,以及实现Deeplinking功能。
从第三方应用的应用代码包中获取配置索引表mapindex,配置索引表中存储有配置索引信息,内容包括但不限于以下内容:
“APPID字段:为内部id,同云端对齐,不存储在软件包中。
APPURL字段:为内部URL,真实的File地址。
Updatestatus字段:‘0’表示正常使用;‘1’表示更新过程中。
Launchcount字段:为启动次数。
Createtime字段:为创建日期。
Updatetime字段:为更新日期。
Versionname字段:为程序版本。”
将上述配置索引信息按以下格式存储到数据库文件/APPS/pkgapps/mapindex.txt文件中:APPID|APPURL|Updatestatus|Launchcount|Createtime|Updatetime|Versionname,作为配置索引表的内容,为Pkgapps类型的配置文件。
在启动指定第三方应用时,判断配置索引表是否为空,如果不为空,则获取配置索引表的配置索引信息,即/APPS/pkgapps/mapindex.txt文件,将每一行的信息按照‘|’符号分割开,依次识别APPID、APPURL、Updatestatus、Launchcount、Createtime、Updatetime、Versionname信息,并分别保存在结构体中,得到多个结构体。
将其中一个结构体作为key值,将其余结构体作为value值,建立映射关系。在一些实施例中,将指定第三方应用的APPID作为key,将剩余信息的结构体作为value,形成映射关系,存储到配置索引表中,将存储有key-value映射关系的配置索引表作为指定第三方应用的索引配置文件,方便后续调用。
在需要获取第三方应用的APPURL时,遍历索引配置文件中的配置索引信息,基于指定第三方应用的APPID和key-value映射关系,将指定第三方应用的APPID作为key,遍历key-value映射关系,可查找到value分别为APPURL、Updatestatus、Launchcount、Createtime、Updatetime、Versionname等结构体。因此,将与APPID对应的APPURL作为指定第三方应用的真实File地址,作为后序转换为File协议的URL的数据源。
在获取到第三方应用的APPURL后,需根据第三方应用的指定启动动作确定第三方应用的指定访问页面信息。
获取到要启动的指定第三方应用的应用代码包,从应用代码包中获取到应用描述文件(manifest.json文件),解析manifest.json文件,得到包括多个字段的字符串,将该字符串与目标协议URL进行对比,即可确定出指定网页应用的指定启动动作。
目标协议URL即为前述应用URL,经过解析,从应用URL中提取到指定启动动作(Action),指定访问动作包括launch或者deeplink。在应用描述文件中获取与指定启动动作对应的页面信息作为指定访问页面信息,以作为指定网页应用的真实URL的数据源。
例如,如果目标协议URL为vidaa://apps/launch/12345,则启动“应用12345”对应的指定启动动作为launch;如果目标协议URL为vidaa://apps/deeplink/12345,则启动“应用12345”对应的指定启动动作为deeplink。
在将指定第三方应用的目标协议URL重新封装为File协议URL时,所依据的数据源分别为前述基于应用URL、索引配置文件和应用描述文件经过处理后得到的APP参数、APPURL和指定访问页面信息,将上述信息映射成真实的File协议URL,以启动指定第三方应用,将应用显示页面呈现在显示器中。
由于指定访问页面信息可为launch对应的页面信息,或者deeplink对应的页面信息,因此,在映射成File协议URL时,会存在两种不同的形式。
在一些实施例中,在指定启动动作为launch时,控制器解析应用描述文件,将得到配置信息与目标协议URL(应用URL)中确定的指定启动动作(Action)进行对比,如果Action为launch,则读取配置信息中与launch对应的页面信息作为指定第三方应用的指定访问页面信息。
具体地,在Action为launch时,指定访问页面信息为index字段信息。即在应用描述文件(manifest.json文件)中读取与launch对应的页面信息中的index字段信息,即page->index字段。基于APP参数、APPURL和index字段信息(page->index字段)封装成File协议URL。
在一些实施例中,在指定启动动作为deeplink时,控制器解析应用描述文件,将得到配置信息与目标协议URL(应用URL)中确定的指定启动动作(Action)进行对比,如果Action为deeplink,则读取配置信息中与deeplink对应的页面信息作为指定网页应用的指定访问页面信息。
具体地,在Action为deeplink时,指定访问页面信息为deeplink字段信息。即在应用描述文件(manifest.json文件)中读取与deeplink对应的页面信息中的deeplink字段信息,即page->deeplink字段。基于APP参数、APPURL和deeplink字段信息(page->deeplink字段)封装成File协议URL。
基于前述两种封装方式得到的File协议URL,启动指定网页应用,可以提高应用的加载速度。同时,通过统一的Scheme机制,自定义URL,得到File协议URL,在启动指定第三方应用时,以统一接口格式进行启动,可隐藏技术细节,屏蔽系统相关性,提升安全性。
可见,本发明实施例提供的显示设备,可调用第三方应用的应用代码包,对第三方应用进行统一管理。并在启动第三方应用时,获取应用代码包中的加载页面参数,将加载页面参数写入Loading页面URL中,基于新生成的Loading页面URL呈现显示有加载页面参数对应显示内容的Loading页面,使显示内容更加丰富,提高用户体验。同时,在后台加载应用显示页面时,可基于应用代码包中的配置信息将第三方应用的应用URL转换为File协议URL,提高第三方应用的加载性能,并提高管理效率。
图7示出了根据一些实施例的第三方应用Loading页面的加载方法的流程图。参见图7,本发明实施例提供的一种第三方应用Loading页面的加载方法,由前述实施例提供的显示设备中的控制器执行,所述方法包括:
S1、响应于启动第三方应用的应用启动指令,获取所述第三方应用的应用URL、应用代码包和Loading页面URL;
S2、在所述应用URL为目标协议URL时,在所述应用代码包中读取用于使所述第三方应用的Loading页面呈现显示内容的加载页面参数;
S3、将所述加载页面参数写入所述Loading页面URL,生成新Loading页面URL;
S4、基于所述新Loading页面URL,在所述显示器中呈现包括所述加载页面参数对应显示内容的Loading页面。
由以上技术方案可知,本发明实施例提供的一种第三方应用Loading页面的加载方法及显示设备,在启动第三方应用时,获取第三方应用的应用URL、应用代码包和Loading页面URL;在应用URL为目标协议URL时,在应用代码包中读取加载页面参数;将加载页面参数写入Loading页面URL,基于生成的新Loading页面URL,在显示器中呈现包括加载页面参数对应显示内容的Loading页面。可见,本发明实施例提供的方法及显示设备,在等待第三方应用数据加载的时间内,在Loading页面中展示应用代码包中提供的更加丰富的显示内容,提高第三方应用的加载性能,优化使用体验。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的第三方应用Loading页面的加载方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于第三方应用Loading页面的加载方法实施例而言,由于其基本相似于显示设备实施例,所以描述的比较简单,相关之处参见显示设备实施例中的说明即可。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
Claims (10)
1.一种显示设备,其特征在于,包括:
显示器,被配置为呈现用户界面;
与所述显示器连接的控制器,所述控制器被配置为:
响应于启动第三方应用的应用启动指令,获取所述第三方应用的应用URL、应用代码包和Loading页面URL;
在所述应用URL为目标协议URL时,在所述应用代码包中读取用于使所述第三方应用的Loading页面呈现显示内容的加载页面参数;
将所述加载页面参数写入所述Loading页面URL,生成新Loading页面URL;
基于所述新Loading页面URL,在所述显示器中呈现包括所述加载页面参数对应显示内容的Loading页面。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器在执行所述在所述应用代码包中读取用于使所述第三方应用的Loading页面呈现显示内容的加载页面参数,被进一步配置为:
在所述应用代码包中读取所述第三方应用的应用描述文件;
解析所述应用描述文件,获得用于使所述第三方应用的Loading页面呈现显示内容的加载页面参数。
3.根据权利要求2所述的显示设备,其特征在于,所述控制器在执行所述解析所述应用描述文件,获得用于使所述第三方应用的Loading页面呈现显示内容的加载页面参数,被进一步配置为:
解析所述应用描述文件,以及,将解析得到的所有文件内容存储成字符串;
在所述字符串中存在加载页面参数字段时,则解析所述字符串,以及,将解析结果存储至数据对象,所述数据对象中存储有所述应用描述文件的所有文件内容;
获取所述数据对象中的加载页面参数字段对应的目标结构格式,将所述目标结构格式对应的文件内容作为加载页面参数。
4.根据权利要求3所述的显示设备,其特征在于,所述目标结构格式包括一级结构、二级结构和三级结构;以及,所述控制器在执行所述获取所述数据对象中的加载页面参数字段对应的目标结构格式,将所述目标结构格式对应的文件内容作为加载页面参数,被进一步配置为:
判断所述加载页面参数字段的目标结构格式是否为一级结构;
如果是所述一级结构,则将所述一级结构对应的文件内容作为加载页面参数;
如果不是所述一级结构,则判断所述加载页面参数字段的目标结构格式是否为二级结构;
如果是所述二级结构,则将所述二级结构对应的文件内容作为加载页面参数;
如果不是所述二级结构,则将所述三级结构对应的文件内容作为加载页面参数。
5.根据权利要求4所述的显示设备,其特征在于,所述控制器在执行所述如果是所述二级结构,则将所述二级结构对应的文件内容作为加载页面参数,被进一步配置为:
如果所述加载页面参数字段的目标结构格式为二级结构,则获取所述加载页面参数字段对应的一级结构文件内容;
在所述一级结构文件内容中,获取所述加载页面参数字段对应的二级结构文件内容,将所述二级结构文件内容作为加载页面参数。
6.根据权利要求4所述的显示设备,其特征在于,所述控制器在执行所述如果不是所述二级结构,则将所述三级结构对应的文件内容作为加载页面参数,被进一步配置为:
如果所述加载页面参数字段的目标结构格式不是二级结构,则获取所述加载页面参数字段对应的一级结构文件内容;
在所述一级结构文件内容中,获取所述加载页面参数字段对应的二级结构文件内容;
在所述二级结构文件内容中,获取所述加载页面参数字段对应的三级结构文件内容,将所述三级结构文件内容作为加载页面参数,所述三级结构为所述加载页面参数字段的目标结构格式。
7.根据权利要求1所述的显示设备,其特征在于,所述控制器被进一步配置为:
在所述显示器中呈现Loading页面时,在后台加载所述第三方应用的应用显示页面;
在所述Loading页面的显示时长达到预设时长时,将所述第三方应用的应用显示页面呈现在所述显示器中,以及,将所述Loading页面取消显示。
8.根据权利要求7所述的显示设备,其特征在于,所述控制器在执行所述在后台加载所述第三方应用的应用显示页面,被进一步配置为:
解析所述应用URL,得到所述第三方应用对应的指定启动动作、APPID和APP参数;
获取所述第三方应用的索引配置文件,在所述索引配置文件中查找与所述APPID对应的APPURL,所述APPURL为所述第三方应用在显示设备中存储的真实访问路径;
解析所述第三方应用的应用描述文件,确定与所述指定启动动作对应的所述第三方应用的指定访问页面信息;
将所述APP参数、APPURL和指定访问页面信息封装成File协议URL,以及,在后台基于所述File协议URL加载所述第三方应用的应用显示页面。
9.根据权利要求1所述的显示设备,其特征在于,所述控制器在执行所述获取所述第三方应用的应用代码包,被进一步配置为:
生成第三方应用的代码包下载请求,将所述代码包下载请求发送至云端服务器,以及,在所述显示器中呈现显示有下载进度条的代码包下载页面,所述代码包下载请求用于指示所述云端服务器返回所述第三方应用的应用代码包;
在所述下载进度条处于完成状态时,将所述云端服务器返回的第三方应用的应用代码包存储在本地。
10.一种第三方应用Loading页面的加载方法,其特征在于,所述方法包括:
响应于启动第三方应用的应用启动指令,获取所述第三方应用的应用URL、应用代码包和Loading页面URL;
在所述应用URL为目标协议URL时,在所述应用代码包中读取用于使所述第三方应用的Loading页面呈现显示内容的加载页面参数;
将所述加载页面参数写入所述Loading页面URL,生成新Loading页面URL;
基于所述新Loading页面URL,在所述显示器中呈现包括所述加载页面参数对应显示内容的Loading页面。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011489349.8A CN112487322B (zh) | 2020-12-16 | 2020-12-16 | 一种第三方应用Loading页面的加载方法及显示设备 |
PCT/US2021/055004 WO2022081859A1 (en) | 2020-10-14 | 2021-10-14 | Page loading method and display apparatus |
EP21881097.6A EP4229527A4 (en) | 2020-10-14 | 2021-10-14 | PAGE LOADING METHOD AND DISPLAY APPARATUS |
US18/065,487 US12045631B2 (en) | 2020-10-14 | 2022-12-13 | Page loading method and display apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011489349.8A CN112487322B (zh) | 2020-12-16 | 2020-12-16 | 一种第三方应用Loading页面的加载方法及显示设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112487322A true CN112487322A (zh) | 2021-03-12 |
CN112487322B CN112487322B (zh) | 2024-05-28 |
Family
ID=74918081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011489349.8A Active CN112487322B (zh) | 2020-10-14 | 2020-12-16 | 一种第三方应用Loading页面的加载方法及显示设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112487322B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783577A (zh) * | 2021-03-15 | 2021-05-11 | Vidaa美国公司 | 一种应用启动的方法及显示设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107179920A (zh) * | 2016-03-09 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 网络引擎启动方法及装置 |
CN107729352A (zh) * | 2017-08-30 | 2018-02-23 | 上海壹账通金融科技有限公司 | 页面资源加载方法及终端设备 |
CN110764765A (zh) * | 2019-09-20 | 2020-02-07 | 广州坚和网络科技有限公司 | 一种自动控制目录列表展示视觉节奏的方法 |
-
2020
- 2020-12-16 CN CN202011489349.8A patent/CN112487322B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107179920A (zh) * | 2016-03-09 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 网络引擎启动方法及装置 |
CN107729352A (zh) * | 2017-08-30 | 2018-02-23 | 上海壹账通金融科技有限公司 | 页面资源加载方法及终端设备 |
CN110764765A (zh) * | 2019-09-20 | 2020-02-07 | 广州坚和网络科技有限公司 | 一种自动控制目录列表展示视觉节奏的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783577A (zh) * | 2021-03-15 | 2021-05-11 | Vidaa美国公司 | 一种应用启动的方法及显示设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112487322B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112905210B (zh) | 服务器及灰度发布方法 | |
CN112445545B (zh) | 一种网页应用的启动方法及显示设备 | |
CN112217671B (zh) | 基于拆分部署的前端微服务进行界面显示的方法及设备 | |
CN114339332B (zh) | 一种移动终端、显示设备及跨网投屏方法 | |
CN114077584A (zh) | 一种文件传输方法及显示设备 | |
CN116886967A (zh) | 一种音箱模式下自动开关屏的方法及智能终端、显示设备 | |
CN112836158A (zh) | 显示设备上的资源加载方法及显示设备 | |
CN112487322B (zh) | 一种第三方应用Loading页面的加载方法及显示设备 | |
CN113111214A (zh) | 一种播放记录的显示方法及显示设备 | |
CN111479144A (zh) | 显示设备及应用交互方法 | |
CN113316014B (zh) | 一种显示设备、服务器及第三方数据显示控制方法 | |
CN112911359B (zh) | 一种资源显示方法、显示设备及遥控器 | |
CN116261003A (zh) | 一种显示设备及基于浏览器的流媒体播放控制方法 | |
CN112667285B (zh) | 一种应用升级方法、显示设备及服务器 | |
CN116340680A (zh) | 一种显示设备及插件对象生命周期管理的控制方法 | |
CN114116622A (zh) | 一种显示设备及文件显示方法 | |
CN112527330B (zh) | 一种管理方法及显示设备 | |
US12045631B2 (en) | Page loading method and display apparatus | |
CN114915810A (zh) | 一种媒资推送方法及智能终端 | |
CN113589990A (zh) | 一种显示设备的应用管理方法、显示设备及移动终端 | |
CN113573149A (zh) | 一种频道搜索方法及显示设备 | |
CN112885347A (zh) | 一种显示设备的语音控制方法、显示设备及服务器 | |
CN113378096B (zh) | 一种显示设备及浏览器残留帧清除方法 | |
CN112835633B (zh) | 显示设备及显示语言的控制方法 | |
CN116137667B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |