发明实施例中,应用类控件包括但不限于:游戏类控件、支付类控件、搜索类控件、娱乐类控件等。
[0031]本发明实施例中,作为一可选实施例,预先设置的平台文件为H5游戏平台文件,即第五代超文本标记语言游戏平台文件。当然,实际应用中,预先设置的平台文件也可以为其它平台文件,例如,H5搜索平台文件,或者,后续应用中可能出现的H6平台文件或H7平台文件等。
[0032]本发明实施例中,平台文件包含有平台运行的环境信息、支持的应用程序列表信息等,关于平台文件包含的详细内容为公知技术,在此略去详述。
[0033]作为另一可选实施例,接收应用类控件加载请求也可以是发送应用类控件加载请求的终端设备中的浏览器,由浏览器接收应用类控件加载请求并查询终端设备是否存储有预先设置的平台文件的流程。
[0034]步骤102,如果所述终端设备存储有所述平台文件,触发所述终端设备调用所述平台文件以加载所述平台的主页;
[0035]本步骤中,如果终端设备存储有平台文件,表明该终端设备已预先下载过平台文件,因而,无需终端设备再行下载,只需调用已下载的平台文件以加载平台的主页即可。
[0036]本发明实施例中,在加载所述平台的主页后,在所述平台的主页中显示应用程序列表,用户可以通过点击应用程序列表中的一应用程序以加载该应用程序。
[0037]作为一可选实施例,在所述如果所述终端设备存储有所述平台文件之后,触发所述终端设备调用所述平台文件以加载所述平台的主页之前,该方法进一步包括:
[0038]获取所述终端设备存储的所述平台文件的第一版本信息,如果存储的所述平台文件的第二版本信息高于所述第一版本信息,向所述终端设备推送所述第二版本信息对应的平台文件,以更新所述终端设备存储的所述平台文件。
[0039]本步骤中,在有新版本的平台文件发布后,终端设备可以及时获取新版本的平台文件。
[0040]作为一可选实施例,该方法进一步包括:
[0041]如果所述终端设备未存储有所述平台文件,推送所述平台文件并存储在所述终端设备中,触发所述终端设备调用存储的所述平台文件以加载所述平台的主页。
[0042]本步骤中,如果接收应用类控件加载请求是发送所述应用类控件加载请求的终端设备中的浏览器,推送所述平台文件包括:
[0043]浏览器将接收的应用类控件加载请求向存储有所述平台文件的服务器发送,以使所述服务器接收所述应用类控件加载请求,向发送所述应用类控件加载请求的终端设备推送所述平台文件。
[0044]步骤103,接收所述终端设备在所述平台的主页中发送的应用程序加载请求,获取所述应用程序加载请求对应的应用程序的地址信息;
[0045]本步骤中,用户在所述平台的主页中显示的应用程序列表中,点击所述应用程序列表中的一目标应用程序,触发发送应用程序加载请求。
[0046]作为一可选实施例,获取所述应用程序加载请求对应的应用程序的地址信息包括:
[0047]所述平台的主页使用网络视图打开所述应用程序加载请求对应的应用程序的启动页面,执行所述启动页面中的JS代码,获取所述应用程序加载请求对应的应用程序的地址信息,并通过预先设置的接口通知所述平台的主页。
[0048]步骤104,查询所述终端设备是否安装有驱动所述应用程序的引擎;
[0049]本步骤中,对于不同的应用程序,可能需要不同的引擎进行驱动,例如,对于游戏类控件中的各游戏,有些游戏需要白鹭(Egret)引擎进行驱动,有些游戏需要拉亚(Laya)引擎进行驱动。
[0050]作为一可选实施例,查询所述终端设备是否安装有驱动所述应用程序的引擎包括:
[0051]All,获取所述应用程序加载请求对应的应用程序类型以及应用类标识;
[0052]本步骤中,应用类标识用于标识应用程序所属的应用类是游戏类、支付类、搜索类还是娱乐类。
[0053]应用程序类型是指应用类下的应用程序的类型,每一应用程序类型对应一引擎。例如,以游戏类中的游戏应用程序为例,游戏应用程序类型可以包括但不限于:白鹭类型以及拉亚类型等,其中,白鹭类型的游戏对应白鹭引擎,即需要白鹭引擎进行驱动,拉亚类型的游戏对应拉亚引擎,即需要拉亚引擎进行驱动。其中,白鹭引擎是一个开源免费的游戏框架,用于构建二维游戏、演示程序和其他图形界面交互应用等,白鹭引擎使用TypeScript脚本语言开发。
[0054]本发明实施例中,获取所述应用程序加载请求对应的应用程序类型与获取所述应用程序加载请求对应的应用程序的地址信息相同,即通过所述平台的主页使用网络视图打开所述应用程序加载请求对应的应用程序的启动页面,执行所述启动页面中的JS代码,获取所述应用程序加载请求对应的应用程序的应用程序类型,并通过预先设置的接口通知所述平台的主页。
[0055]A12,查询预先设置的应用类标识与引擎集的映射关系,得到获取的应用类标识映射的引擎集;
[0056]A13,查询得到的引擎集中应用程序类型与引擎的映射关系,得到获取的应用程序类型映射的引擎;
[0057]A14,查询所述终端设备是否安装有得到的引擎。
[0058]所应说明的是,获取所述应用程序加载请求对应的应用程序的地址信息与查询所述终端设备是否安装有驱动所述应用程序的引擎并没有先后顺序之分,即获取所述应用程序加载请求对应的应用程序的地址信息可以在查询所述终端设备是否安装有驱动所述应用程序的引擎之后,或者,与查询所述终端设备是否安装有驱动所述应用程序的引擎同时进行。
[0059]步骤105,如果所述终端设备安装有驱动所述应用程序的引擎,触发所述终端设备启动所述应用程序的引擎,并基于启动的所述应用程序的引擎加载所述应用程序的地址信息对应的应用程序。
[0060]本步骤中,作为一可选实施例,基于启动的所述应用程序的引擎加载所述应用程序的地址信息对应的应用程序包括:
[0061]所述应用程序的引擎加载、解析并执行所述地址信息对应的应用程序中的应用程序脚本,并在执行过程中调用平台为所述应用程序脚本提供的运行环境。
[0062]作为一可选实施例,在所述终端设备安装有驱动所述应用程序的引擎之后,触发所述终端设备启动所述应用程序的引擎之前,该方法可以进一步包括:
[0063]获取所述终端设备安装的所述引擎的第一属性信息,如果存储的引擎安装文件的第二属性信息高于所述第一属性信息,向所述终端设备推送所述第二属性信息对应的引擎安装文件,以更新所述终端设备安装的所述引擎。
[0064]本步骤中,属性信息为版本信息。
[0065]作为一可选实施例,该方法进一步包括:
[0066]如果所述终端设备未安装有驱动所述应用程序的引擎,推送所述驱动所述应用程序的引擎对应的引擎安装文件,以使所述终端设备安装所述引擎安装文件得到所述应用程序的引擎后,启动所述应用程序的引擎,并基于启动的所述应用程序的引擎加载所述应用程序的地址信息对应的应用程序。
[0067]本步骤中,如果接收应用类控件加载请求是发送所述应用类控件加载请求的终端设备中的浏览器,推送所述驱动所述应用程序的引擎对应的引擎安装文件包括:
[0068]浏览器向所述服务器发送引擎安装文件请求,以使所述服务器接收所述引擎安装文件请求,向所述终端设备推送所述引擎安装文件请求对应的引擎