CN104866301B - 用于调用及辅助调用本地端能力的方法及装置 - Google Patents
用于调用及辅助调用本地端能力的方法及装置 Download PDFInfo
- Publication number
- CN104866301B CN104866301B CN201510134760.6A CN201510134760A CN104866301B CN 104866301 B CN104866301 B CN 104866301B CN 201510134760 A CN201510134760 A CN 201510134760A CN 104866301 B CN104866301 B CN 104866301B
- Authority
- CN
- China
- Prior art keywords
- local side
- terminal
- side ability
- interface information
- call request
- 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
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明提供了用于调用或辅助调用本地端能力的方法及装置。该调用本地端能力的方法包括:接收来自第一终端的第一轻应用调用请求和来自第二终端的第二轻应用调用请求,其中,第一终端为开源平台的终端,第二终端为闭源平台的终端;从第一终端调取第一终端的本地端能力的第一调用接口信息;接收来自第二终端的本地端能力的第二调用接口信息,其中,所述第一调用接口信息和所述第二调用接口信息为相同格式的调用接口信息;本发明不需针对不同平台开发不同的本地端能力调用接口协议,有效节省了轻应用开发成本以及降低了轻应用开发难度。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种用于调用及辅助调用本地端能力的方法及装置。
背景技术
轻应用是一种无需下载、即搜即用的全功能应用(App)。客户端作为轻应用的载体提供Native能力(本地端能力),轻应用在需要与本地应用交互时,可调用Native能力。但现有技术中,轻应用在需要调用Native能力时,需要针对不同的平台编写不同的接口。因此,需要开发人员了解不同平台的不同接口标准,且需要分别与不同平台进行联合开发,开发成本较高,质量难以保证。
发明内容
本发明解决的技术问题之一是提供用于调用及辅助调用本地端能力的方法及装置,针对不同的平台采用统一标准调用本地端能力。
根据本发明一方面的一个实施例,提供了一种用于调用本地端能力的方法,该方法包括:
接收来自第一终端的第一轻应用调用请求和来自第二终端的第二轻应用调用请求,其中,第一终端为开源平台的终端,第二终端为闭源平台的终端;
从第一终端调取第一终端的本地端能力的第一调用接口信息;
接收来自第二终端的本地端能力的第二调用接口信息,其中,所述第一调用接口信息和所述第二调用接口信息为相同格式的调用接口信息;
按照所述第一调用接口信息和所述第二调用接口信息,分别在轻应用执行过程中向第一终端和第二终端发送本地端能力调用请求。
可选地,所述本地端能力调用请求为脚本语言javascript调用请求。
可选地,从第一终端调取第一终端的本地端能力的第一调用接口信息是响应于:轻应用执行过程中需要调用第一终端的本地端能力。
可选地,所述开源平台包括:安卓平台。
可选地,所述闭源平台包括:苹果公司开发的移动操作系统平台。
根据本发明又一方面的一个实施例,提供了一种用于调用本地端能力的装置,该装置包括:
用于接收来自第一终端的第一轻应用调用请求和来自第二终端的第二轻应用调用请求的单元;其中,第一终端为开源平台的终端,第二终端为闭源平台的终端;
用于从第一终端调取第一终端的本地端能力的第一调用接口信息的单元;
用于接收来自第二终端的本地端能力的第二调用接口信息的单元,其中,所述第一调用接口信息和所述第二调用接口信息为相同格式的调用接口信息;
用于按照所述第一调用接口信息和所述第二调用接口信息,分别在轻应用执行过程中向第一终端和第二终端发送本地端能力调用请求的单元。
可选地,所述本地端能力调用请求为脚本语言javascript调用请求。
可选地,用于从第一终端调取第一终端的本地端能力的第一调用接口信息的单元从第一终端调取第一终端的本地端能力的第一调用接口信息是响应于:轻应用执行过程中需要调用第一终端的本地端能力。
可选地,所述开源平台包括:安卓平台。
可选地,所述闭源平台包括:苹果公司开发的移动操作系统平台。
根据本发明一方面的一个实施例,提供了一种用于辅助调用本地端能力的方法,该方法包括:
判断当前平台是否为闭源平台;
响应于判断出当前平台是闭源平台,如果接收到用户加载服务器的轻应用页面的请求,向所述服务器发送轻应用页面加载请求,并将本地端能力的调用接口信息发送给所述服务器。
可选地,所述方法还包括:
接收服务器基于所述本地端能力的接口信息发送的本地端能力调用请求;
将所述本地端能力调用请求转换为闭源平台私有协议格式的调用请求;
根据转换后的闭源平台私有协议格式的调用请求识别需要调用的本地端能力。
可选地,所述基于所述本地端能力的接口信息发送的本地端能力调用请求为脚本语言javascript调用请求。
可选地,所述闭源平台包括:苹果公司开发的移动操作系统平台。
根据本发明又一方面的一个实施例,提供了一种用于辅助调用本地端能力的装置,该装置包括:
用于判断当前平台是否为闭源平台的单元;
用于响应于判断出当前平台是闭源平台,如果接收到用户加载服务器的轻应用页面的请求,向所述服务器发送轻应用页面加载请求,并将本地端能力的调用接口信息发送给所述服务器的单元。
可选地,所述装置还包括:
用于接收服务器基于所述本地端能力的接口信息发送的本地端能力调用请求的单元;
用于将所述本地端能力调用请求转换为闭源平台私有协议格式的调用请求的单元;
用于根据转换后的闭源平台私有协议格式的调用请求识别需要调用的本地端能力的单元。
可选地,所述基于所述本地端能力的接口信息发送的本地端能力调用请求为脚本语言javascript调用请求。
可选地,所述闭源平台包括:苹果公司开发的移动操作系统平台。
本申请实施例由于针对不同平台,均可获取本地端能力的调用接口信息,且针对不同平台获取的本地端能力的调用接口信息为相同格式的调用接口信息,因此,可根据获取的本地端能力的调用接口信息在轻应用执行过程中向不同平台的终端发送相同格式的本地端能力调用请求,也就是针对不同平台发送统一格式的本地端能力调用请求,则不需针对不同平台开发不同的本地端能力调用接口协议,有效节省了轻应用开发成本以及降低了轻应用开发难度。
本领域普通技术人员将了解,虽然下面的详细说明将参考图示实施例、附图进行,但本发明并不仅限于这些实施例。而是,本发明的范围是广泛的,且意在仅通过后附的权利要求限定本发明的范围。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是根据本发明一个实施例的用于调用本地端能力的方法的流程图。
图2是根据本发明另一个实施例的用于调用本地端能力的方法的流程图。
图3是根据本发明一个实施例的用于调用本地端能力的装置的结构示意图。
图4是根据本发明一个实施例的用于辅助调用本地端能力的装置的结构示意图。
图5是根据本发明另一个实施例的用于辅助调用本地端能力的装置的结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面对申请实施例中提及的名词作出解释。
应用(App)一般指手机和平板电脑中本地安装或无需安装在线使用的应用。在面向对象上通常分为个人用户应用(面向个人消费者)与企业级应用(面向企业),在移动端系统分类上主要包括:iOSApp(如:同步推等)、Android Apk(如:AirDroid、百度应用等)和windows phone的xap和appx。
本申请实施例中所述的轻应用是一种无需下载、即搜即用的全功能App,既有媲美甚至超越本地App的用户体验,又具备在线App的可被检索与智能分发的特性,将有效解决优质应用和服务与移动用户需求对接的问题。轻应用具有如下特点:
第一,无需下载,即搜即用。
例如,一款名叫多趣的旅游类应用,针对不同城市、不同景点有500多款应用,下载和更新成本成为横亘在开发者和用户间的高槛。通过轻应用,搜索“上海导览”、“周庄导览”的用户需求都可以直接调起多趣,开发者后端的每一处更新在前端都自动呈现,无需骚扰用户。
第二,破壳检索,智能分发。
开发者开发的应用不再是信息孤岛,里面的内容都可以被索引,这跟原生应用形成明显的差别。在应用商店里,只有用户输入明确的App名称,例如“嘀嘀打车”,这个应用才能够被分发。而现在,移动搜索中自然表达的所有与打车有关的需求,比如“我要打车”、“从国贸到雍和宫”等,都将导向开发者开发的打车类应用,大大增加应用的曝光量和使用率,从源头解决分发难题。
第三,功能强大,全能体验。
轻应用能够帮应用调起语音、摄像头、定位、存储等手机本地或云端的多种能力,让应用的功能更强大。以好大夫在线轻应用为例,开发者不仅可以设置语音交流模块,还可以调起本地摄像头帮助用户拍摄化验单或患处,从而提供和本地App相同甚至更好的体验。
第四,订阅推送,沉淀用户。
轻应用不仅支持用户搜索时实现调用,还支持用户主动订阅。如果用户有订阅需求并添加应用,相关开发者就能够将用户沉淀下来,并对用户进行持续、精准的信息和服务推送。例如,很多视频类应用的用户有追剧的需求,百度支持用户订阅的功能,只要用户订阅了应用,每当有新剧更新,开发者都可以第一时间通知用户,增强粘性,从而与用户建立起更加稳固牢靠的关系。
直达号即为一种轻应用。直达号是商家在百度移动平台的官方服务账号。基于移动搜索、@账号、地图、个性化推荐等多种方式,让亿万客户随时随地直达商家服务。可以理解的是,本申请实施例所述的轻应用并不局限于直达号。
下面结合附图对本发明作进一步详细描述。
图1是根据本发明一个实施例的用于调用本地端能力的方法的流程图,该流程图中包含执行该方法的两端设备,其中一端为轻应用服务器,另一端为终端,该终端为闭源平台的终端。该调用本地端能力的方法主要包括如下步骤:
S10、终端判断当前平台是否为闭源平台;
此处需要说明的是,对于目前的终端来说,其所应用的平台仅为一种平台,要么是开源平台,例如Android(安卓)平台,要么是闭源平台,例如iOS(苹果公司开发的移动操作系统)平台,因此在此种情况下该判断步骤可以省略。而对于未来的终端很有可能同时应用于两个平台,其包括开源平台和闭源平台,则此时就需要判断执行当前调用本地端能力的方法的平台是闭源平台还是开源平台。本实施例以下的步骤仅针对闭源平台的场景进行介绍,对于开源平台所对应的执行步骤将在下面的另一实施例中进行介绍。另外,本实施例中对判断闭源平台的方法不做具体限制。
S11、终端接收用户的调用轻应用服务器的轻应用的请求;
所述的调用轻应用服务器的轻应用的请求,即,调用某一轻应用,该轻应用的功能由某一服务器提供。其中,用户可通过终端搜索轻应用,并点击需要的轻应用来发送调用轻应用的请求,则终端即接收到用户的调用轻应用服务器的轻应用的请求。
本实施例以及以下实施例中所述的轻应用服务器也可简称为服务器。
S12、终端向所述轻应用服务器发送轻应用调用请求,并向所述轻应用服务器发送本地端能力的调用接口信息;
终端在接收用户的调用轻应用服务器的轻应用的请求后向所述轻应用服务器发送轻应用调用请求,所述轻应用调用请求即请求需要调用的轻应用对应的轻应用服务器加载轻应用页面。
其中,终端向所述轻应用服务器发送本地端能力的调用接口信息的方法包括:将本地端能力的调用接口信息携带于所述轻应用调用请求中发送给轻应用服务器,或者在发送所述轻应用调用请求的之前、同时或之后,将本地端能力的调用接口信息以单独的消息发送给所述轻应用服务器,使得轻应用服务器可以获得该闭源平台的所有本地端能力的调用接口信息。也就是截止到本步骤已经实现了轻应用服务器获得闭源平台的本地端能力的调用接口信息,完成了辅助调用本地端能力的操作,后续可基于该调用接口信息调用该终端的本地端能力。
本申请实施例中终端发送给服务器的本地端能力的调用接口信息可以为JS(脚本语言javascrip)接口信息。
S13、轻应用服务器向终端发送轻应用调用响应;
轻应用服务器发送的轻应用调用响应,即为所述终端加载轻应用页面,同时加载所接收的该终端的本地端能力的调用接口信息。
S14、终端接收用户的本地端能力调用请求;
用户的本地端能力调用请求例如包括:用户在轻应用执行过程中需要通过该轻应用调用终端本地摄像头,或调用语音等等。
S15、终端向所述轻应用服务器发送本地端能力调用请求;
该终端向轻应用服务器发送的本地端能力调用请求中不包含需要调用的本地端能力的调用接口信息。
S16、轻应用服务器按照从终端接收的调用接口信息,向所述终端发送携带调用接口信息的本地端能力调用请求;
由于步骤S12中轻应用服务器已经从终端接收到该终端的本地端能力的调用接口信息,因此在该轻应用服务器接收到终端发送的本地端能力调用请求后,根据已经获得的该终端的本地端能力的调用接口信息查找需要调用的本地端能力对应的调用接口信息。在查找到对应的调用接口信息后,向终端发送携带该本地端能力的调用接口信息的本地端能力调用请求。
该发送的本地端能力调用请求可以为JS调用请求,该JS调用请求中包含JS接口信息。
S17、终端将接收的所述本地端能力调用请求转换为闭源平台私有协议格式的调用请求;
以闭源平台为iOS平台,本地端能力调用请求为JS调用请求为例,由于对于iOS平台来说其无法直接识别该JS接口,因此,需要将所述本地端能力调用请求转换为闭源平台私有协议格式的调用请求,即,将JS调用请求中包含的JS接口信息转换为iOS平台中本地端能力对应的私有协议格式的接口信息,例如轻应用需要调用本地登录能力时,终端接收的JS调用请求为login(options),转换为iOS平台对应的私有协议格式的接口信息后为baiduboxapp://login?options=param。
S18、终端根据转换后的闭源平台私有协议格式的调用请求识别需要调用的本地端能力。
终端根据转换后的所述私有协议格式的调用请求识别需要调用的本地端能力,也就是,将转换后的调用请求中包含的私有协议格式的接口信息与各本地端能力对应的接口信息比对,若一致,则表示需要调用该本地端能力,进一步的调用该本地端能力。
图2是根据本发明另一个实施例的用于调用本地端能力的方法的流程图,该流程图中包含执行该方法的两端设备,其中一端为轻应用服务器,另一端为终端,该终端为开源平台的终端。该调用本地端能力的方法主要包括如下步骤:
S20、终端判断当前平台是否为闭源平台;
此处需要说明的是,对于目前的终端来说,其所应用的平台仅为一种平台,要么是开源平台,例如Android(安卓)平台,要么是闭源平台,例如iOS(苹果公司开发的移动操作系统)平台,因此在此种情况下该判断步骤可以省略。而对于未来的终端很有可能同时应用于两个平台,其包括开源平台和闭源平台,则此时就需要判断执行当前调用本地端能力的方法的平台是闭源平台还是开源平台。本实施例以下的步骤仅针对开源平台的场景进行介绍。另外,本实施例中对判断闭源平台的方法不做具体限制。
S21、终端接收用户的调用轻应用服务器的轻应用的请求;
所述的调用轻应用服务器的轻应用的请求,即,调用某一轻应用,该轻应用的功能由某一服务器提供。其中,用户可通过终端搜索轻应用,并点击需要的轻应用来发送调用轻应用的请求,则终端即接收到用户的调用轻应用服务器的轻应用的请求。
S22、终端向所述轻应用服务器发送轻应用调用请求;
终端在接收用户的调用轻应用服务器的轻应用的请求后向所述轻应用服务器发送轻应用调用请求,所述轻应用调用请求即请求需要调用的轻应用对应的轻应用服务器加载轻应用页面。
S23、轻应用服务器向终端发送轻应用调用响应;
轻应用服务器发送的轻应用调用响应,即为所述终端加载轻应用页面。
S24、终端接收用户的本地端能力调用请求;
用户的本地端能力调用请求例如包括:用户在轻应用执行过程中需要通过该轻应用调用终端本地摄像头,或调用语音等等。
S25、终端向所述轻应用服务器发送本地端能力调用请求;
该终端向轻应用服务器发送的本地端能力调用请求中不包含需要调用的本地端能力的调用接口信息。
S26、轻应用服务器向终端发送所述本地端能力对应调用接口信息的请求;
S27、终端返回携带所述本地端能力对应调用接口信息的响应;
由于所述终端为开源平台,因此轻应用服务器可随时获取该终端各本地端能力对应的调用接口信息,例如,在需要调用Android平台中的某个本地端能力时,可获取该本地端能力的JS接口信息。
可以理解的是,步骤S26及S27的操作可以在任一时间执行,例如,在S23加载轻应用页面时,或S25接收到终端发送的本地端能力调用请求前。另外,轻应用服务器也可一次性获取终端中的所有调用接口信息,如JS接口信息。针对Android平台,该JS接口即为API(Application Programming Interface,应用程序编程接口)。
S28、轻应用服务器按照接收的调用接口信息,向终端发送携带调用接口信息的本地端能力调用请求;
其中,所述本地端能力调用请求可以为脚本语言javascript调用请求,简称JS调用请求,该JS调用请求中包含需要调用的JS接口信息。
S29、终端识别需要调用的本地端能力。
各本地端能力对应的JS接口与接收的JS调用请求中包含的JS接口信息比对,若比对一致,则即识别出需要调用该JS接口对应的本地端能力。例如,针对Android平台,该识别本地端能力调用请求需要调用的本地端能力的方法包括:利用系统API识别所述本地端能力调用请求需要调用的本地端能力。由于Android平台中,系统API即为JS接口,因此各API与JS调用请求中的JS接口信息比对,若一致则表示需要调用该API对应的本地端能力。
通过上面两个实施例的描述可知,对于轻应用服务器,其可以同时或先后接收到不同平台(包括开源平台和闭源平台)发送的轻应用调用请求,针对开源平台,轻应用服务器可随时调取本地端能力的调用接口信息,对于闭源平台,轻应用服务器可接收终端主动发送的本地端能力的调用接口信息,使得轻应用服务器在终端加载轻应用页面时可以同时加载该本地端能力的调用接口信息。并且轻应用服务器从两种不同平台获取的本地端能力的调用接口信息是相同的,例如,均可为JS接口信息,则后续该轻应用服务器可按照接收的本地端能力的调用接口信息在轻应用执行过程中向不同平台的终端发送携带本地端能力的调用接口信息的本地端能力调用请求,也就是针对不同平台发送统一格式的本地端能力调用请求,则不需针对不同平台开发不同的本地端能力调用接口协议,有效节省了轻应用开发成本以及降低了轻应用开发难度。
本申请实施例还提供一种用于调用本地端能力的装置,该装置可设置于轻应用服务器中,该装置结构示意图如图3中所示,该装置主要包括:
用于接收来自第一终端的第一轻应用调用请求和来自第二终端的第二轻应用调用请求的单元300,以下简称轻应用调用请求接收单元300;其中,第一终端为开源平台的终端,第二终端为闭源平台的终端;
用于从第一终端调取第一终端的本地端能力的第一调用接口信息的单元310,以下简称第一调用接口信息调取单元310;
用于接收来自第二终端的本地端能力的第二调用接口信息的单元320,以下简称第二调用接口信息接收单元320;
用于按照所述第一调用接口信息和所述第二调用接口信息,分别在轻应用执行过程中向第一终端和第二终端发送本地端能力调用请求的单元330,以下简称本地端能力调用请求发送单元330。
其中,需要说明的是,一种实施例中所述轻应用调用请求接收单元300和第二调用接口信息接收单元320可以为同一单元,也就是,在第二终端发送的轻应用调起请求中携带第二终端的本地端能力的第二调用接口信息时,该轻应用调用请求接收单元300和第二调用接口信息接收单元320可以为同一单元,用于在接收轻应用调用请求的同时接收所述第二调用接口信息。
另外,需要说明的是,本实施例中的轻应用调用请求接收单元300可以同时或先后接收到不同平台(包括开源平台和闭源平台)的终端发送的轻应用调用请求。在同时接收到不同平台的终端发送的轻应用调用请求时,其可区分出该终端对应的平台。
所述第一调用接口信息调取单元310即为在发送轻应用调用请求的第一终端为开源终端情况下,向该第一终端调取第一调用接口信息。由于所述第一终端为开源平台,因此轻应用服务器可随时获取该第一终端各本地端能力对应的调用接口信息,即可以在任一时间执行,例如,在轻应用执行过程中需要调用第一终端的本地端能力时,例如,在接收到第一终端发送的本地端能力调用请求后,或在加载轻应用页面时,或在接收到第一终端发送的本地端能力调用请求前均可以。
另外,第一调用接口信息调取单元310可一次性获取第一终端中的所有调用接口信息,如JS接口信息。针对Android平台,该JS接口即为API(Application ProgrammingInterface,应用程序编程接口)。也可以在接收到第一终端发送的本地端能力调用请求后,针对该本地端能力调用请求向第一终端调取与该本地端能力调用请求对应的本地端能力的调用接口信息,也就是每次仅调取与用于需要调用的本地端能力向对应的调用接口信息。
需要说明的是,第一调用接口信息调取单元310调取的第一终端的本地端能力的调用接口信息与第二调用接口信息接收单元320接收的第二终端的第二调用接口信息为相同格式的调用接口信息,例如,均为JS接口信息。
本地端能力调用请求发送单元330是在轻应用执行过程中,按照第一调用接口信息和第二调用接口信息向第一终端和第二终端发送本地端能力调用请求。其中所述的轻应用执行过程包括:用于需要通过轻应用调用本地端能力,例如,用户在轻应用执行过程中需要通过该轻应用调用终端本地摄像头,或调用语音等等。该本地端能力调用请求发送单元330发送的本地端能力调用请求中携带需要调用的本地端能力的调用接口信息,例如,发送的本地端能力调用请求为JS调用请求,则在该JS调用请求中携带JS接口信息。由于第一调用接口信息调取单元310调取的第一终端的本地端能力的调用接口信息与第二调用接口信息接收单元320接收的第二终端的第二调用接口信息为相同格式的调用接口信息,因此该本地端能力调用请求发送单元330针对不同平台的终端发送的本地端能力调用请求为统一格式的本地端能力调用请求,而不需针对不同平台开发不同的调用接口协议,有效节省了开发成本以及开发难度。
本申请实施例还提供一种用于辅助调用本地端能力的装置,该装置可设置于终端中,该装置一种实施例结构示意图如图4中所示,该装置主要包括:
用于判断当前平台是否为闭源平台的单元400,以下简称平台判断单元400;
用于响应于判断出当前平台是闭源平台,如果接收到用户调用服务器的轻应用的请求,向所述服务器发送轻应用调用请求,并将本地端能力的调用接口信息发送给所述服务器的单元410,以下简称调用接口信息发送单元410。
此处需要说明的是,对于目前的终端来说,其所应用的平台仅为一种平台,要么是开源平台,例如Android(安卓)平台,要么是闭源平台,例如iOS(苹果公司开发的移动操作系统)平台,因此在此种情况下该平台判断单元400可以省略。而对于未来的终端很有可能同时应用于两个平台,其包括开源平台和闭源平台,则此时就需要平台判断单元400判断执行当前调用本地端能力的方法的平台是闭源平台还是开源平台。本实施例所述装置仅针对闭源平台的场景进行介绍。本实施例对平台判断单元400判断平台是否为闭源平台的方法不做具体限制。
所述的调用接口信息发送单元410可在接收用户的调用轻应用服务器的轻应用的请求后向所述轻应用服务器发送轻应用调用请求时,将本地端能力的调用接口信息携带于所述轻应用调用请求中发送给轻应用服务器,或者在发送所述轻应用调用请求的之前、同时或之后,将本地端能力的调用接口信息以单独的消息发送给所述轻应用服务器,使得轻应用服务器可以获得该闭源平台的所有本地端能力的调用接口信息。
本申请实施例中终端发送给服务器的本地端能力的调用接口信息可以为JS(脚本语言javascrip)接口信息。
如图5中所示为所述装置另一实施例的结构示意图,所述装置还可包括:
用于接收服务器基于所述本地端能力的接口信息发送的本地端能力调用请求的单元420,以下简称本地端能力调用请求接收单元420;
用于将所述本地端能力调用请求转换为闭源平台私有协议格式的调用请求的单元430,以下简称转换单元430;
用于根据转换后的闭源平台私有协议格式的调用请求识别需要调用的本地端能力的单元440,以下简称识别单元440。
其中,本地端能力调用请求接收单元420接收的本地端能力调用请求中包含需要调用的本地端能力的调用接口信息。该本地端能力调用请求可以为JS调用请求,该JS调用请求中包含JS接口信息。
转换单元430是将接收的所述本地端能力调用请求转换为闭源平台私有协议格式的调用请求;
以闭源平台为iOS平台,本地端能力调用请求为JS调用请求为例,由于对于iOS平台来说其无法直接识别该JS接口,因此,需要转换单元430将所述本地端能力调用请求转换为闭源平台私有协议格式的调用请求,即,将JS调用请求中包含的JS接口信息转换为iOS平台中本地端能力对应的私有协议格式的接口信息,例如轻应用需要调用本地登录能力时,终端接收的JS调用请求为login(options),转换为iOS平台对应的私有协议格式的接口信息后为baiduboxapp://login?options=param。
识别单元440是根据转换单元430转换后的闭源平台私有协议格式的调用请求识别需要调用的本地端能力。也就是,将转换单元430转换后的调用请求中包含的私有协议格式的接口信息与各本地端能力对应的接口信息比对,若一致,则表示需要调用该本地端能力,进一步的调用该本地端能力。
本实施例所述辅助调用本地端能力的装置可在判断当前平台为闭源平台情况下,将终端的所有本地端能力的调用接口信息提供给轻应用服务器,使得轻应用服务器在加载轻应用页面的同时加载所述本地端能力的调用接口信息,后续可基于该本地端能力的调用接口信息调用本地端能力。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (18)
1.一种用于调用本地端能力的方法,其中,该方法包括:
接收来自第一终端的第一轻应用调用请求和来自第二终端的第二轻应用调用请求,其中,第一终端为开源平台的终端,第二终端为闭源平台的终端;
从第一终端调取第一终端的本地端能力的第一调用接口信息;
接收来自第二终端的本地端能力的第二调用接口信息,其中,所述第一调用接口信息和所述第二调用接口信息为相同格式的调用接口信息;
按照所述第一调用接口信息和所述第二调用接口信息查找需要调用的本地端能力对应的调用接口信息,分别在轻应用执行过程中向第一终端和第二终端发送本地端能力调用请求。
2.根据权利要求1所述的方法,其中,所述本地端能力调用请求为脚本语言javascript调用请求。
3.根据权利要求1所述的方法,其中,从第一终端调取第一终端的本地端能力的第一调用接口信息是响应于:轻应用执行过程中需要调用第一终端的本地端能力。
4.根据权利要求1所述的方法,其中,所述开源平台包括:安卓平台。
5.根据权利要求1所述的方法,其中,所述闭源平台包括:苹果公司开发的移动操作系统平台。
6.一种用于调用本地端能力的装置,其中,该装置包括:
用于接收来自第一终端的第一轻应用调用请求和来自第二终端的第二轻应用调用请求的单元;其中,第一终端为开源平台的终端,第二终端为闭源平台的终端;
用于从第一终端调取第一终端的本地端能力的第一调用接口信息的单元;
用于接收来自第二终端的本地端能力的第二调用接口信息的单元,其中,所述第一调用接口信息和所述第二调用接口信息为相同格式的调用接口信息;
用于按照所述第一调用接口信息和所述第二调用接口信息查找需要调用的本地端能力对应的调用接口信息,分别在轻应用执行过程中向第一终端和第二终端发送本地端能力调用请求的单元。
7.根据权利要求6所述的装置,其中,所述本地端能力调用请求为脚本语言javascript调用请求。
8.根据权利要求6所述的装置,其中,用于从第一终端调取第一终端的本地端能力的第一调用接口信息的单元从第一终端调取第一终端的本地端能力的第一调用接口信息是响应于:轻应用执行过程中需要调用第一终端的本地端能力。
9.根据权利要求6所述的装置,其中,所述开源平台包括:安卓平台。
10.根据权利要求6所述的装置,其中,所述闭源平台包括:苹果公司开发的移动操作系统平台。
11.一种用于辅助调用本地端能力的方法,其中,该方法包括:
判断当前平台是否为闭源平台;
响应于判断出当前平台是闭源平台,如果接收到用户调用服务器的轻应用的请求,向所述服务器发送轻应用调用请求,并将本地端能力的调用接口信息发送给所述服务器,以使所述服务器按照所述本地端能力的调用接口信息查找需要调用的本地端能力对应的调用接口信息。
12.根据权利要求11所述的方法,其中,所述方法还包括:
接收服务器基于所述本地端能力的调用接口信息发送的本地端能力调用请求;
将所述本地端能力调用请求转换为闭源平台私有协议格式的调用请求;
根据转换后的闭源平台私有协议格式的调用请求识别需要调用的本地端能力。
13.根据权利要求12所述的方法,其中,所述基于所述本地端能力的调用接口信息发送的本地端能力调用请求为脚本语言javascript调用请求。
14.根据权利要求11所述的方法,其中,所述闭源平台包括:苹果公司开发的移动操作系统平台。
15.一种用于辅助调用本地端能力的装置,其中,该装置包括:
用于判断当前平台是否为闭源平台的单元;
用于响应于判断出当前平台是闭源平台,如果接收到用户调用服务器的轻应用的请求,向所述服务器发送轻应用调用请求,并将本地端能力的调用接口信息发送给所述服务器,以使所述服务器按照所述本地端能力的调用接口信息查找需要调用的本地端能力对应的调用接口信息的单元。
16.根据权利要求15所述的装置,其中,所述装置还包括:
用于接收服务器基于所述本地端能力的调用接口信息发送的本地端能力调用请求的单元;
用于将所述本地端能力调用请求转换为闭源平台私有协议格式的调用请求的单元;
用于根据转换后的闭源平台私有协议格式的调用请求识别需要调用的本地端能力的单元。
17.根据权利要求16所述的装置,其中,所述基于所述本地端能力的调用接口信息发送的本地端能力调用请求为脚本语言javascript调用请求。
18.根据权利要求15所述的装置,其中,所述闭源平台包括:苹果公司开发的移动操作系统平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510134760.6A CN104866301B (zh) | 2015-03-25 | 2015-03-25 | 用于调用及辅助调用本地端能力的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510134760.6A CN104866301B (zh) | 2015-03-25 | 2015-03-25 | 用于调用及辅助调用本地端能力的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104866301A CN104866301A (zh) | 2015-08-26 |
CN104866301B true CN104866301B (zh) | 2019-01-08 |
Family
ID=53912152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510134760.6A Active CN104866301B (zh) | 2015-03-25 | 2015-03-25 | 用于调用及辅助调用本地端能力的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104866301B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122172B (zh) * | 2017-03-23 | 2020-05-22 | 广州神马移动信息科技有限公司 | 轻应用的处理方法、运行方法、设备及应用设备 |
CN109460305A (zh) * | 2018-09-29 | 2019-03-12 | 网宿科技股份有限公司 | 用例调用系统及方法、第一平台及第二平台 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622211A (zh) * | 2011-01-27 | 2012-08-01 | 腾讯科技(深圳)有限公司 | 一种应用程序开发的方法和装置 |
US20140143875A1 (en) * | 2012-11-22 | 2014-05-22 | F-Secure Corporation | Detecting Application Behavior |
-
2015
- 2015-03-25 CN CN201510134760.6A patent/CN104866301B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622211A (zh) * | 2011-01-27 | 2012-08-01 | 腾讯科技(深圳)有限公司 | 一种应用程序开发的方法和装置 |
US20140143875A1 (en) * | 2012-11-22 | 2014-05-22 | F-Secure Corporation | Detecting Application Behavior |
Non-Patent Citations (1)
Title |
---|
轻应用秘密武器之端能力;GANXUN_EGT;《http://blog.csdn.net/ganxun_egt/article/details/24321217》;20140422;正文第1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104866301A (zh) | 2015-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572278B (zh) | 轻应用调用本地端能力的方法、装置及设备 | |
CN105763723B (zh) | 移动终端和系统升级方法 | |
US20200328984A1 (en) | Method and apparatus for allocating resource | |
CN110162670B (zh) | 用于生成表情包的方法和装置 | |
US10860280B2 (en) | Display method and device | |
CN104756080A (zh) | 扩展主机设备的功能 | |
CN105589631B (zh) | 信息展示方法和装置 | |
CN109992406A (zh) | 图片请求方法、响应图片请求的方法及客户端 | |
US20190370293A1 (en) | Method and apparatus for processing information | |
CN110069308A (zh) | 页面启动方法、装置、电子设备和存储介质 | |
CN111679811B (zh) | Web服务构建方法及装置 | |
CN111459364A (zh) | 图标更新方法、装置和电子设备 | |
CN112689012A (zh) | 跨网络的代理通讯方法及装置 | |
CN104866301B (zh) | 用于调用及辅助调用本地端能力的方法及装置 | |
CN110619101B (zh) | 用于处理信息的方法和装置 | |
CN110708238B (zh) | 用于处理信息的方法和装置 | |
US20220245581A1 (en) | Method and apparatus for sharing delivery box | |
KR20120093599A (ko) | 모바일 기기 기반의 키오스크 시스템 및 운영방법 | |
CN116155848A (zh) | 一种信息处理方法、装置、电子设备、计算机可读介质 | |
CN104823178B (zh) | 提供云服务的方法及其系统和装置 | |
CN103001924A (zh) | 访问页面的方法、网络服务器和系统 | |
CN105657691A (zh) | 移动终端及其双芯片系统的数据共享方法 | |
CN105744505B (zh) | 移动终端及其系统升级方法 | |
CN112836201A (zh) | 多平台信息互通的方法、装置、设备和计算机可读介质 | |
CN105763722B (zh) | 移动终端及其系统升级方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |