CN112394953A - 一种应用程序加载方法、装置、电子设备及存储介质 - Google Patents

一种应用程序加载方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112394953A
CN112394953A CN202011283044.1A CN202011283044A CN112394953A CN 112394953 A CN112394953 A CN 112394953A CN 202011283044 A CN202011283044 A CN 202011283044A CN 112394953 A CN112394953 A CN 112394953A
Authority
CN
China
Prior art keywords
application
target
application program
environment
component
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
Application number
CN202011283044.1A
Other languages
English (en)
Inventor
吴高飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN202011283044.1A priority Critical patent/CN112394953A/zh
Publication of CN112394953A publication Critical patent/CN112394953A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种应用程序加载方法、装置、电子设备及存储介质,涉及软件开发技术领域。所述方法包括:在目标应用程序中的应用视图加载完成后,确定所述应用视图所处的应用环境;在所述应用视图中加载与所述应用环境对应的目标功能组件;调用与所述目标功能组件对应的应用程序接口。因此,能够解决相关技术中因为多个APP之间的协议不同,而导致多个APP的API调用过程复杂繁琐的问题。

Description

一种应用程序加载方法、装置、电子设备及存储介质
技术领域
本发明涉及软件开发技术领域,尤其涉及一种应用程序加载方法、装置、电子设备及存储介质。
背景技术
现有技术的APP(应用程序,Application的缩写)应用开发过程中为了规避客户端审核周期长等问题,大多会采用混合Hybrid开发模式,能够达到开发上线的目的。当业务中存在多个APP并行开发时,由于各个APP的Hybrid协议可能不尽相同,所以在开发过程中引入多个hybrid sdk(Software Development Kit,软件开发工具包),在开发过程中人工判断当前APP环境然后调用对应APP的API(Application Programming Interface,应用程序接口)。
申请人在实现本发明的过程中,发现相关技术中至少存在以下问题:
为了适配多个APP,需要写“if-else”语言做多重判断,然后调用与APP环境合适的API,过程比较繁琐,低效。
针对上述问题,目前尚未提出有效的解决技术手段。
发明内容
本发明实施例提供一种应用程序加载方法、装置、电子设备及存储介质,以解决相关技术中因为多个APP之间的协议不同,而导致多个APP的API调用过程复杂繁琐,开发效率低的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种应用程序加载方法,所述方法包括:在目标应用程序中的应用视图加载完成后,确定所述应用视图所处的应用环境;在所述应用视图中加载与所述应用环境对应的目标功能组件;调用与所述目标功能组件对应的应用程序接口。
进一步地,确定所述应用视图所处的应用环境,包括:获取所述目标应用程序对应的用户代理以及用户数据;根据所述用户代理以及用户数据确定所述应用环境。
进一步地,在根据所述用户代理以及用户数据确定所述应用环境之后,还包括:判断所述应用视图是否位于应用程序环境中;若所述应用视图位于浏览器环境中,则在所述应用视图中展示异常提示;若所述应用视图位于所述应用程序环境中,则获取所述目标功能组件。
进一步地,若所述应用视图位于所述应用程序中,获取所述目标功能组件,包括:创建与所述应用环境对应的应用标签;从组件缓存中获取与所述应用标签对应的所述目标功能组件,其中,所述组件缓存包括至少一个功能组件,所述至少一个功能组件是由预设服务器预先分发至所述目标应用程序对应的终端系统。
进一步地,从组件缓存中获取与所述应用标签对应的所述目标功能组件,包括:判断所述目标功能组件对应的定时器是否超时;若所述定时器未超时,加载所述目标功能组件;若所述定时器超时,则根据当前时间生成时间戳;以及,根据所述时间戳向所述预设服务器请求所述时间戳对应的功能组件,以更新所述目标功能组件。
进一步地,调用与所述目标功能组件对应的应用程序接口,包括:在开始加载所述目标功能组件时,调用预设应用程序接口;通过所述预设应用程序接口确定与所述目标应用程序对应的应用协议;在确定所述目标功能组件加载完成后,调用所述应用协议对应的目标应用程序接口。
第二方面,本发明实施例另外提供了一种应用程序加载装置,所述装置包括:确定单元,用于在目标应用程序中的应用视图加载完成后,确定所述应用视图所处的应用环境;加载单元,用于在所述应用视图中加载与所述应用环境对应的目标功能组件;处理单元,用于调用与所述目标功能组件对应的应用程序接口。
进一步地,所述确定单元包括:第一获取模块,用于获取所述目标应用程序对应的用户代理以及用户数据;第一确定模块,用于根据所述用户代理以及用户数据确定所述应用环境。
进一步地,所述确定单元还包括:判断模块,用于在根据所述用户代理以及用户数据确定所述应用环境之后,判断所述应用视图是否位于应用程序环境中;展示模块,用于若所述应用视图位于浏览器环境中,则在所述应用视图中展示异常提示;第二获取模块,用于若所述应用视图位于所述应用程序环境中,则获取所述目标功能组件。
进一步地,所述第二获取模块包括:第一处理子模块,用于创建与所述应用环境对应的应用标签;获取子模块,用于从组件缓存中获取与所述应用标签对应的所述目标功能组件,其中,所述组件缓存包括至少一个功能组件,所述至少一个功能组件是由预设服务器预先分发至所述目标应用程序对应的终端系统。
进一步地,所述获取子模块具体用于:判断所述目标功能组件对应的定时器是否超时;若所述定时器未超时,加载所述目标功能组件;若所述定时器超时,则根据当前时间生成时间戳;以及,根据所述时间戳向所述预设服务器请求所述时间戳对应的功能组件,以更新所述目标功能组件。
进一步地,所述处理单元包括:第一处理模块,用于在开始加载所述目标功能组件时,调用预设应用程序接口;第二确定模块,用于通过所述预设应用程序接口确定与所述目标应用程序对应的应用协议;第二处理模块,用于在确定所述目标功能组件加载完成后,调用所述应用协议对应的目标应用程序接口。
第三方面,本发明实施例另外提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如前第一方面所述的应用程序加载方法的步骤。
第四方面,本发明实施例另外提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前第一方面所述的应用程序加载方法的步骤。
在本发明实施例中,在目标应用程序中的应用视图加载完成后,确定应用视图所处的应用环境;在应用视图中加载与应用环境对应的目标功能组件;调用与目标功能组件对应的应用程序接口。通过确定应用视图对应的应用环境来加载与应用环境对应的功能组件,避免了相关技术中依赖人工去识别应用环境,同时调用与功能组件对应的应用程序接口,节约了人力资源,同时提升了软件开发效率。解决了相关技术中因为多个APP之间的协议不同,而导致多个APP的API调用过程复杂繁琐的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中的一种应用程序加载方法的示意图;
图2是本发明实施例中的一种应用程序加载方法的流程示意图;
图3是本发明实施例中的一种应用程序加载方法的示意图;
图4是本发明实施例中的一种SDK加载方法的流程流程图;
图5是本发明实施例中的一种目标API调用方法的流程示意图;
图6是本发明实施例中的一种应用程序加载装置的结构示意图;
图7是本发明实施例中的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
在相关技术中,如图1所示的功能组件加载示意图中,针对具备不同业务功能的应用程序APP-A、APP-B以及APP-C,其分别对应不同业务功能的功能组件SDK-A、SDK-B以及SDK-C。在对APP的开发过程中,需要人工判断应用页面所处的应用环境,然后根据应用页面所处的应用环境,在应用页面中加载对应的功能组件SDK,例如在识别到应用环境为APP-A时,将SDK-A加载到APP-A中;在识别到应用环境为APP-B时,将SDK-B加载到APP-B中;以及在识别到应用环境为APP-C时,将SDK-C加载到APP-C中。可见由于相关技术中因为多个APP之间的协议不同,而导致多个APP的API调用过程,在每个APP的开发过程中,都需要对APP的应用环境进行判断后,再进行功能组件的加载以及应用程序接口API的调用,可见相关技术中APP开发过程较为复杂繁琐。
为了解决上述问题,在本发明实施例中,提供了一种应用程序加载方法,如图2所示,该方法具体可以包括以下步骤:
S202,在目标应用程序中的应用视图加载完成后,确定所述应用视图所处的应用环境;
S204,在应用视图中加载与应用环境对应的目标功能组件;
S206,调用与目标功能组件对应的应用程序接口。
在本实施例中,应用视图包括应用程序的应用程序可视化对象,在启动应用程序以后,渲染或加载目标应用程序对应的应用视图,例如在目标应用程序对应的窗口中渲染网页视图Webview,在Webview中可以加载用于实现应用程序业务的功能组件。在本实施例中,功能组件包括但不限于软件开发工具包SDK等,用于实现目标应用程序的相关业务以及相关功能。
此外,在本实施例中,应用环境包括但不限于应用程序环境、浏览器环境以及其他环境等。具体可以根据目标应用程序的应用类型来划分应用环境,同时可以根据目标应用程序所处的终端系统划分应用环境。需要说明的是,在本实施例中,终端系统包括但不限于Windows系统、iOS系统、Linux系统以及Android安卓系统等。
在具体地应用场景中,在应用程序的开发过程中通过在软件开发底层以及目标应用程序中间设置一个适配器,该适配器用于根据目标应用程序加载的应用页面确定对应的应用环境,将与应用环境匹配的功能组件在应用页面中加载并调用对应的应用程序接口API。如图3所示,通过适配器确定APP中应用页面所处的应用环境,然后基于不同的应用环境将不同的功能组件SDK分别分发至对应的APP中。
在本实施例中,在应用视图中完成加载与应用环境对应的目标功能组件之后,通过适配器确定目标功能组件对应的应用协议,然后调用与目标功能组件对应的应用程序接口API。例如,在目标APP的应用视图中加载对应的SDK后,确定目标APP对应的APP协议,然后调用目标APP对应的应用程序接口API。
需要说明的是,在本实施例中,在目标应用程序中的应用视图加载完成后,确定应用视图所处的应用环境;在应用视图中加载与应用环境对应的目标功能组件;调用与目标功能组件对应的应用程序接口。通过确定应用视图对应的应用环境来加载与应用环境对应的功能组件,避免了相关技术中依赖人工去识别应用环境,同时调用与功能组件对应的应用程序接口,节约了人力资源,同时提升了软件开发效率。解决了相关技术中因为多个APP之间的协议不同,而导致多个APP的API调用过程复杂繁琐的问题。
可选地,在本实施例中,确定应用视图所处的应用环境,包括但不限于:获取目标应用程序对应的用户代理以及用户数据;根据用户代理以及用户数据确定应用环境。
具体地,在本实施例中,用户代理为一个特殊字符串头,使得能够识别目标应用程序对应的终端操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等信息。用户数据包括但不限于用户文件Cookie,为储存在本地终端上的数据,类型为小型文本文件,是为了辨别用户身份,进行用户会话Session跟踪而储存在用户本地终端上的数据。
在本实施例中,以目标应用程序中的应用视图为网页视图WebView为例进行说明,在网页视图WebView加载完成后,通过上述的适配器获取目标应用程序APP注入网页视图WebView中的用户代理UserAgent以及用户文件Cookie,根据用户代理UserAgent以及用户文件Cookie来判断当前应用页面所处的应用环境。
通过上述实施例,获取目标应用程序对应的用户代理以及用户数据;根据用户代理以及用户数据确定应用环境,以实现对应用页面对应的应用环境的识别,进而提升软件的开发效率。
可选地,在本实施例中,在根据用户代理以及用户数据确定应用环境之后,还包括:判断应用视图是否位于应用程序环境中;若应用视图位于浏览器环境中,则在应用视图中展示异常提示;若应用视图位于应用程序环境中,则获取目标功能组件。
具体地,在本实施例中,应用环境包括但不限于应用程序环境、浏览器环境,其中,应用程序环境用于指示目标应用程序的应用ID、应用名称以及目标应用程序对应的Hybrid协议等。浏览器环境用于指示应用页面对应的浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等信息。在本实施例,通过确定应用页面对应的应用环境,进而可以获取目标应用程序锁对应的应用协议、API参数等信息。
在具体地应用场景中,适配器主要用于应用程序环境中的应用页面的功能组件加载,而对于浏览器环境中的应用页面可以通过统一的手段进行功能组件加载,而无需通过适配器进行处理。因此,若应用视图位于浏览器环境中,则不需要通过适配器加载与具体应用程序对应的功能组件,可以直接加载通用功能组件或浏览器环境适配的功能组件,此时需要在应用视图中展示异常提示,用于提示当前应用视图的应用环境异常,或用于提示当前的功能组件加载方式与应用环境不匹配。
另一方面,若应用视图位于应用程序环境中,则通过适配器获取目标应用程序的应用程序版本、渲染引擎以及编程语言等参数,适配器根据应用程序的版本、渲染引擎以及编程语言等参数获取应用视图对应的功能组件。
通过上述实施例,在根据用户代理以及用户数据确定应用环境之后,判断应用视图是否位于应用程序环境中,节省了人力资源去判断应用页面所处的应用环境,进一步提升了软件的开发效率。
可选地,在本实施例中,若应用视图位于应用程序中,获取目标功能组件,包括但不限于:创建与应用环境对应的应用标签;从组件缓存中获取与应用标签对应的目标功能组件,其中,组件缓存包括至少一个功能组件,至少一个功能组件是由预设服务器预先分发至目标应用程序对应的终端系统。
具体地,在本实施例中,在确定应用页面所处的应用环境之后,根据应用程序环境中的相关参数或属性创建与应用环境对应的应用标签,该应用标签包括但不限于Script标签,Script标签用于定义目标应用程序脚本,比如JavaScript。Script标签可以通过“src”属性指向外部脚本文件,因此,可以通过Script标签获取对应的目标功能组件。
接下来,根据应用标签从软件开发系统或者云端服务器的组件缓存中获取目标功能组件。软件开发系统或者云端服务器的组件缓存中包括多个应用程序分别对应的多个功能组件,组件缓存中的多个功能组件是由预设服务器预先分发并存储在软件开发系统或者云端服务器中的,每个功能组件存在预先设定的有效期,在功能组件有效期超时失效后,则需要向预设服务器请求更新对应的功能组件。在获取到组件缓存中的多个功能组件之后,基于应用环境对应的应用标签选取与应用环境适配的目标功能组件。
在具体地应用场景中,预设服务器包括但不限于内容分发网络CDN服务器,CDN服务器定期或根据软件开发系统或者云端服务器发送组件请求,通过JavaScript路径向软件开发系统或者云端服务器分发功能组件。例如CDN服务器向软件开发系统分发多个应用程序环境对应的多个软件开发工具包SDK,软件开发系统接收并存储多个SDK。
通过上述实施例,创建与应用环境对应的应用标签;从组件缓存中获取与应用标签对应的目标功能组件,能够实现对目标功能组件的快速获取,进一步提升了软件的开发效率。
可选地,在本实施例中,从组件缓存中获取与应用标签对应的目标功能组件,包括但不限于:判断目标功能组件对应的定时器是否超时;若定时器未超时,加载目标功能组件;若定时器超时,则根据当前时间生成时间戳;以及,根据时间戳向预设服务器请求时间戳对应的功能组件,以更新目标功能组件。
具体地,在本实施例中,每个功能组件具备对应的定时器,例如,APP-A对应的功能组件SDK-A的有效期为30天,定时器则为30天;而APP-B对应的功能组件SDK-B的有效期为7天,定时器则为7天。在组件缓存中功能组件的定时器未超时的情况下,则该功能组件有效,可以基于当前的目标功能组件在应用页面中进行加载。而在定时器超时的情况下,则目标功能组件失效,若当前应用页面需要加载该功能组件,则根据当前时间生成时间戳,为JavaScript路径添加时间戳,以向预设服务器请求当前时间对应的功能组件。预设服务器根据JavaScript路径的时间戳将最新版本的功能组件分发至软件开发系统,以更新目标功能组件,然后适配器在应用页面中加载更新后的目标功能组件。
通过上述实施例,判断目标功能组件对应的定时器是否超时,来实现在应用页面中加载最新版本的功能组件
可选地,在本实施例中,调用与目标功能组件对应的应用程序接口,包括但不限于:在开始加载目标功能组件时,调用预设应用程序接口;通过预设应用程序接口确定与目标应用程序对应的应用协议;在目标功能组件加载完成后,调用应用协议对应的目标应用程序接口。
具体地,为了避免人工对应用程序接口的选取操作,在本实施例中,在适配器在应用页面中加载目标功能组件时,调用适配器对应的预设应用程序接口,该预设应用程序接口能够触发对应的协议获取操作,通过执行协议获取操作能够获取与目标功能组件对应的应用协议,进而可以根据应用协议确定目标应用程序对应的应用程序接口参数,进而确定与目标应用程序适配的目标应用程序接口。
接下来,在确定了与目标应用程序对应目标应用程序接口,并且在在确定目标功能组件加载完成后,通过适配器将目标应用程序接口分发至目标应用程序,以实现对目标应用程序中相应功能的调用。
在一个例子中,当开始在应用页面中加载目标应用程序APP-Z对应的目标功能组件SDK-Z时,调用适配器对应的预设应用程序接口API-Y,适配器通过调用API-Y执行对应的协议获取操作Action,通过Action获取与SDK-Z对应的应用协议,并确定APP-Z的应用程序接口参数,基于应用程序接口参数确定APP-Z对应的目标应用程序接口API-Z。轮询APP的SDK加载状态,直到SDK-Z加载完成之后,通过适配器将API-Z分发至APP-Z,以实现调用API-Z对应的功能或业务。
通过上述实施例,在开始加载目标功能组件时,调用预设应用程序接口;通过预设应用程序接口确定与功能组件对应的应用协议,避免了人工对应用程序接口的选取操作,使得目标应用程序对应的目标应用程序接口的获取步骤变得简洁,提升了软件的开发效率。
通过本发明实施例,在目标应用程序中的应用视图加载完成后,确定应用视图所处的应用环境;在应用视图中加载与应用环境对应的目标功能组件;调用与目标功能组件对应的应用程序接口。通过确定应用视图对应的应用环境来加载与应用环境对应的功能组件,避免了相关技术中依赖人工去识别应用环境,同时调用与功能组件对应的应用程序接口,节约了人力资源,同时提升了软件开发效率。解决了相关技术中因为多个APP之间的协议不同,而导致多个APP的API调用过程复杂繁琐的问题。
实施例二
参照图4,示出了本发明实施例中一种SDK加载方法的流程示意图。以应用视图为网页视图WebView为例,该方法具体可以包括以下步骤:
S41,获取用户代理以及用户文件Cookie;
具体地,通过适配器获取目标应用程序APP注入网页视图WebView中的用户代理UserAgent以及用户文件Cookie。
S42,判断应用页面是否在应用程序环境中;
具体地,根据用户代理UserAgent以及用户文件Cookie确定网页视图WebView所处的应用环境。若网页视图WebView位于浏览器环境中,跳转至S43;若网页视图WebView位于应用程序环境中,跳转至S44。
S43,展示异常提示;
具体地,在网页视图WebView中展示异常提示。
S44,创建Script标签;
具体地,据应用程序环境中的相关参数或属性创建与应用程序环境对应的Script标签。
S45,判断目标SDK是否失效;
具体地,根据Script标签获取对应的目标SDK,根据目标SDK的定时器判断目标SDK是否失效。若定时器超时,则目标SDK失效,跳转至S46,若定时器未超时,则目标SDK未失效,跳转至S47。
S46,为JavaScript路径添加时间戳;
具体地,根据当前时间生成时间戳,为JavaScript路径添加时间戳。
S47,加载目标SDK。
通过上述实施例,避免了依赖人工判断不同的应用环境,来导入应用程序对应的功能组件,节省了人力资源。
接下来,在开始在网页视图WebView中加载目标功能SDK时,参照图5,示出了本发明实施例中一种目标API调用方法的流程示意图。该方法具体可以包括以下步骤:
S51,调用预设API;
具体地,调用适配器对应的预设应用程序接口API,以触发对应的协议获取操作。
S52,识别当前应用程序;
具体地,通过协议获取操作识别当前应用程序,获取当前应用程序对应的应用协议。
S53,判断当前应用程序对应的目标SDK是否加载完成;
具体地,通过轮询APP的目标SDK加载状态来判断目标SDK是否加载完成。若是,则跳转至S54;若否,则重复执行S53。
S54,确定目标API的参数;
具体地,根据应用协议确定目标应用程序对应的目标API的API参数,根据API参数确定对应的目标API。
S55,调用目标API。
具体地,在目标SDK加载完成之后,通过适配器将目标API分发至当前应用程序,以实现调用目标API对应的功能或业务。
通过上述实施例,依据APP环境进行协议参数格式适配,避免了人工对应用程序接口的选取操作,使得目标应用程序对应的目标应用程序接口的获取步骤变得简洁,提高了软件开发效率。
实施例三
详细介绍本发明实施例提供的一种应用程序加载装置。
参照图6,示出了本发明实施例中一种应用程序加载装置的结构示意图。
本发明实施例的应用程序加载装置包括:确定单元60,加载单元62、处理单元64。
下面分别详细介绍各模块的功能以及各模块之间的交互关系。
确定单元60,用于在目标应用程序中的应用视图加载完成后,确定所述应用视图所处的应用环境;
加载单元62,用于在所述应用视图中加载与所述应用环境对应的目标功能组件;
处理单元64,用于调用与所述目标功能组件对应的应用程序接口。
可选地,在本实施例中,所述确定单元60包括:
第一获取模块,用于获取所述目标应用程序对应的用户代理以及用户数据;
第一确定模块,用于根据所述用户代理以及用户数据确定所述应用环境。
可选地,在本实施例中,所述确定单元60还包括:
判断模块,用于在根据所述用户代理以及用户数据确定所述应用环境之后,判断所述应用视图是否位于应用程序环境中;
展示模块,用于若所述应用视图位于浏览器环境中,则在所述应用视图中展示异常提示;
第二获取模块,用于若所述应用视图位于所述应用程序环境中,则获取所述目标功能组件。
可选地,在本实施例中,所述第二获取模块包括:
第一处理子模块,用于创建与所述应用环境对应的应用标签;
获取子模块,用于从组件缓存中获取与所述应用标签对应的所述目标功能组件,
其中,所述组件缓存包括至少一个功能组件,所述至少一个功能组件是由预设服务器预先分发至所述目标应用程序对应的终端系统。
可选地,在本实施例中,所述获取子模块具体用于:
判断所述目标功能组件对应的定时器是否超时;
若所述定时器未超时,加载所述目标功能组件;
若所述定时器超时,则根据当前时间生成时间戳;以及,根据所述时间戳向所述预设服务器请求所述时间戳对应的功能组件,以更新所述目标功能组件。
可选地,在本实施例中,所述处理单元64包括:
第一处理模块,用于在开始加载所述目标功能组件时,调用预设应用程序接口;
第二确定模块,用于通过所述预设应用程序接口确定与所述目标应用程序对应的应用协议;
第二处理模块,用于在确定所述目标功能组件加载完成后,调用所述应用协议对应的目标应用程序接口。
而且,在本发明实施例中,在目标应用程序中的应用视图加载完成后,确定应用视图所处的应用环境;在应用视图中加载与应用环境对应的目标功能组件;调用与目标功能组件对应的应用程序接口。通过确定应用视图对应的应用环境来加载与应用环境对应的功能组件,避免了相关技术中依赖人工去识别应用环境,同时调用与功能组件对应的应用程序接口,节约了人力资源,同时提升了软件开发效率。解决了相关技术中因为多个APP之间的协议不同,而导致多个APP的API调用过程复杂繁琐的问题。
实施例四
图7为实现本发明各个实施例的一种电子设备的硬件结构示意图。
该电子设备700包括但不限于:射频单元701、网络模块702、音频输出单元703、输入单元704、传感器705、显示单元706、用户输入单元707、接口单元708、存储器709、处理器710、以及电源711等部件。本领域技术人员可以理解,图7中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元701可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器710处理;另外,将上行的数据发送给基站。通常,射频单元701包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元701还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块702为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元703可以将射频单元701或网络模块702接收的或者在存储器709中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元703还可以提供与电子设备700执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元703包括扬声器、蜂鸣器以及受话器等。
输入单元704用于接收音频或视频信号。输入单元704可以包括图形处理器(Graphics Processing Unit,GPU)7041和麦克风7042,图形处理器7041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元706上。经图形处理器7041处理后的图像帧可以存储在存储器709(或其它存储介质)中或者经由射频单元701或网络模块702进行发送。麦克风7042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元701发送到移动通信基站的格式输出。
电子设备700还包括至少一种传感器705,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板7061的亮度,接近传感器可在电子设备700移动到耳边时,关闭显示面板7061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器705还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元706用于显示由用户输入的信息或提供给用户的信息。显示单元706可包括显示面板7061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板7061。
用户输入单元707可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元707包括触控面板7071以及其他输入设备7072。触控面板7071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板7071上或在触控面板7071附近的操作)。触控面板7071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器710,接收处理器710发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板7071。除了触控面板7071,用户输入单元707还可以包括其他输入设备7072。具体地,其他输入设备7072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板7071可覆盖在显示面板7061上,当触控面板7071检测到在其上或附近的触摸操作后,传送给处理器710以确定触摸事件的类型,随后处理器710根据触摸事件的类型在显示面板7061上提供相应的视觉输出。虽然在图6中,触控面板7071与显示面板7061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板7071与显示面板7061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元708为外部装置与电子设备700连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元708可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备700内的一个或多个元件或者可以用于在电子设备700和外部装置之间传输数据。
存储器709可用于存储软件程序以及各种数据。存储器709可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器709可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器710是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器709内的软件程序和/或模块,以及调用存储在存储器709内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器710可包括一个或多个处理单元;优选的,处理器710可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器710中。
电子设备700还可以包括给各个部件供电的电源711(比如电池),优选的,电源711可以通过电源管理系统与处理器710逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备700包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供了一种电子设备,包括:处理器710,存储器709,存储在存储器709上并可在处理器710上运行的计算机程序,该计算机程序被处理器710执行时实现上述应用程序加载方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
实施例五
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述应用程序加载方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (14)

1.一种应用程序加载方法,其特征在于,所述方法包括:
在目标应用程序中的应用视图加载完成后,确定所述应用视图所处的应用环境;
在所述应用视图中加载与所述应用环境对应的目标功能组件;
调用与所述目标功能组件对应的应用程序接口。
2.根据权利要求1所述的方法,其特征在于,确定所述应用视图所处的应用环境,包括:
获取所述目标应用程序对应的用户代理以及用户数据;
根据所述用户代理以及用户数据确定所述应用环境。
3.根据权利要求2所述的方法,其特征在于,在根据所述用户代理以及用户数据确定所述应用环境之后,还包括:
判断所述应用视图是否位于应用程序环境中;
若所述应用视图位于浏览器环境中,则在所述应用视图中展示异常提示;
若所述应用视图位于所述应用程序环境中,则获取所述目标功能组件。
4.根据权利要求3所述的方法,其特征在于,若所述应用视图位于所述应用程序中,获取所述目标功能组件,包括:
创建与所述应用环境对应的应用标签;
从组件缓存中获取与所述应用标签对应的所述目标功能组件,
其中,所述组件缓存包括至少一个功能组件,所述至少一个功能组件是由预设服务器预先分发至所述目标应用程序对应的终端系统。
5.根据权利要求4所述的方法,其特征在于,从组件缓存中获取与所述应用标签对应的所述目标功能组件,包括:
判断所述目标功能组件对应的定时器是否超时;
若所述定时器未超时,加载所述目标功能组件;
若所述定时器超时,则根据当前时间生成时间戳;以及,根据所述时间戳向所述预设服务器请求所述时间戳对应的功能组件,以更新所述目标功能组件。
6.根据权利要求1所述的方法,其特征在于,调用与所述目标功能组件对应的应用程序接口,包括:
在开始加载所述目标功能组件时,调用预设应用程序接口;
通过所述预设应用程序接口确定与所述目标应用程序对应的应用协议;
在所述目标功能组件加载完成后,调用所述应用协议对应的目标应用程序接口。
7.一种应用程序加载装置,其特征在于,所述装置包括:
确定单元,用于在目标应用程序中的应用视图加载完成后,确定所述应用视图所处的应用环境;
加载单元,用于在所述应用视图中加载与所述应用环境对应的目标功能组件;
处理单元,用于调用与所述目标功能组件对应的应用程序接口。
8.根据权利要求7所述的装置,其特征在于,所述确定单元包括:
第一获取模块,用于获取所述目标应用程序对应的用户代理以及用户数据;
第一确定模块,用于根据所述用户代理以及用户数据确定所述应用环境。
9.根据权利要求8所述的装置,其特征在于,所述确定单元还包括:
判断模块,用于在根据所述用户代理以及用户数据确定所述应用环境之后,判断所述应用视图是否位于应用程序环境中;
展示模块,用于若所述应用视图位于浏览器环境中,则在所述应用视图中展示异常提示;
第二获取模块,用于若所述应用视图位于所述应用程序环境中,则获取所述目标功能组件。
10.根据权利要求9所述的装置,其特征在于,所述第二获取模块包括:
第一处理子模块,用于创建与所述应用环境对应的应用标签;
获取子模块,用于从组件缓存中获取与所述应用标签对应的所述目标功能组件,
其中,所述组件缓存包括至少一个功能组件,所述至少一个功能组件是由预设服务器预先分发至所述目标应用程序对应的终端系统。
11.根据权利要求10所述的装置,其特征在于,所述获取子模块具体用于:
判断所述目标功能组件对应的定时器是否超时;
若所述定时器未超时,加载所述目标功能组件;
若所述定时器超时,则根据当前时间生成时间戳;以及,根据所述时间戳向所述预设服务器请求所述时间戳对应的功能组件,以更新所述目标功能组件。
12.根据权利要求7所述的装置,其特征在于,所述处理单元包括:
第一处理模块,用于在开始加载所述目标功能组件时,调用预设应用程序接口;
第二确定模块,用于通过所述预设应用程序接口确定与所述目标应用程序对应的应用协议;
第二处理模块,用于在确定所述目标功能组件加载完成后,调用所述应用协议对应的目标应用程序接口。
13.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的应用程序加载方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的应用程序加载方法的步骤。
CN202011283044.1A 2020-11-16 2020-11-16 一种应用程序加载方法、装置、电子设备及存储介质 Pending CN112394953A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011283044.1A CN112394953A (zh) 2020-11-16 2020-11-16 一种应用程序加载方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011283044.1A CN112394953A (zh) 2020-11-16 2020-11-16 一种应用程序加载方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112394953A true CN112394953A (zh) 2021-02-23

Family

ID=74599946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011283044.1A Pending CN112394953A (zh) 2020-11-16 2020-11-16 一种应用程序加载方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112394953A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778422A (zh) * 2021-08-04 2021-12-10 山东浪潮通软信息科技有限公司 移动应用的发布方法和装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624372B1 (en) * 2003-04-16 2009-11-24 The Mathworks, Inc. Method for integrating software components into a spreadsheet application
CN105607895A (zh) * 2014-11-21 2016-05-25 阿里巴巴集团控股有限公司 一种基于应用程序编程接口的应用程序的运行方法和装置
CN106779810A (zh) * 2016-11-25 2017-05-31 北京金山安全软件有限公司 广告展现方法、装置和终端设备
CN108958730A (zh) * 2017-08-23 2018-12-07 北京五八信息技术有限公司 应用程序组件共享方法及装置、终端设备及可读存储介质
CN109086091A (zh) * 2017-06-13 2018-12-25 中国移动通信有限公司研究院 一种软件开发包的接口加载方法、装置及设备
CN109743359A (zh) * 2018-12-13 2019-05-10 平安普惠企业管理有限公司 Hybrid通讯处理方法、装置、计算机设备及存储介质
CN110221880A (zh) * 2019-06-05 2019-09-10 北京金山安全软件有限公司 应用程序编程接口调用方法、装置、设备及介质
CN110244985A (zh) * 2018-03-09 2019-09-17 优酷网络技术(北京)有限公司 一种视图渲染方法、计算机存储介质及终端设备
CN110400196A (zh) * 2019-06-20 2019-11-01 北京奇艺世纪科技有限公司 一种页面处理方法、装置及计算机可读存储介质
CN111767109A (zh) * 2020-06-30 2020-10-13 深圳前海微众银行股份有限公司 基于终端应用的h5页面显示方法、设备及可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624372B1 (en) * 2003-04-16 2009-11-24 The Mathworks, Inc. Method for integrating software components into a spreadsheet application
CN105607895A (zh) * 2014-11-21 2016-05-25 阿里巴巴集团控股有限公司 一种基于应用程序编程接口的应用程序的运行方法和装置
CN106779810A (zh) * 2016-11-25 2017-05-31 北京金山安全软件有限公司 广告展现方法、装置和终端设备
CN109086091A (zh) * 2017-06-13 2018-12-25 中国移动通信有限公司研究院 一种软件开发包的接口加载方法、装置及设备
CN108958730A (zh) * 2017-08-23 2018-12-07 北京五八信息技术有限公司 应用程序组件共享方法及装置、终端设备及可读存储介质
CN110244985A (zh) * 2018-03-09 2019-09-17 优酷网络技术(北京)有限公司 一种视图渲染方法、计算机存储介质及终端设备
CN109743359A (zh) * 2018-12-13 2019-05-10 平安普惠企业管理有限公司 Hybrid通讯处理方法、装置、计算机设备及存储介质
CN110221880A (zh) * 2019-06-05 2019-09-10 北京金山安全软件有限公司 应用程序编程接口调用方法、装置、设备及介质
CN110400196A (zh) * 2019-06-20 2019-11-01 北京奇艺世纪科技有限公司 一种页面处理方法、装置及计算机可读存储介质
CN111767109A (zh) * 2020-06-30 2020-10-13 深圳前海微众银行股份有限公司 基于终端应用的h5页面显示方法、设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113778422A (zh) * 2021-08-04 2021-12-10 山东浪潮通软信息科技有限公司 移动应用的发布方法和装置
CN113778422B (zh) * 2021-08-04 2024-07-09 浪潮通用软件有限公司 移动应用的发布方法和装置

Similar Documents

Publication Publication Date Title
CN111049979B (zh) 一种应用分享方法、电子设备及计算机可读存储介质
CN107943489B (zh) 数据分享方法及移动终端
CN108924037B (zh) 一种富媒体通信rcs消息的显示方法及移动终端
CN109857297B (zh) 信息处理方法及终端设备
CN111026484A (zh) 一种应用分享方法、第一电子设备及计算机可读存储介质
CN109343788B (zh) 一种移动终端的操作控制方法及移动终端
CN107808107B (zh) 一种应用消息显示方法及移动终端
CN111143002A (zh) 一种应用分享方法、电子设备及计算机可读存储介质
CN108009031B (zh) 一种应用程序的控制方法及移动终端
CN111124706A (zh) 一种应用程序分享方法及电子设备
CN108287644B (zh) 一种应用程序的信息显示方法及移动终端
CN111131607A (zh) 一种信息共享方法、电子设备及计算机可读存储介质
CN107992615B (zh) 一种网址推荐方法、服务器及终端
CN108196781B (zh) 界面的显示方法和移动终端
CN110022551B (zh) 一种信息交互方法及终端设备
CN109284146B (zh) 一种轻应用开启方法及移动终端
CN111130995B (zh) 图像控制方法、电子设备及存储介质
CN111200648B (zh) 一种业务调用方法、装置、终端设备及存储介质
CN109889568B (zh) 一种数据导出方法、服务器及系统
CN112394953A (zh) 一种应用程序加载方法、装置、电子设备及存储介质
CN110928616A (zh) 快捷图标管理方法及电子设备
CN107734049B (zh) 网络资源的下载方法、装置和移动终端
CN111045588B (zh) 一种信息查看方法及电子设备
CN110855550B (zh) 通讯方法、电子设备和存储介质
CN108449259B (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