一种应用交互需求适配方法及装置与流程

文档序号:17900828发布日期:2019-06-13 16:29阅读:178来源:国知局
一种应用交互需求适配方法及装置与流程

本发明涉及应用软件技术领域,特别涉及一种应用交互需求适配方法及装置。



背景技术:

目前市场上的移动端应用程序有很强烈的需求,但是,对于相同的应用服务来说,往往需要面向不同的应用程序开发不同的版本。例如,对于录音功能来说,在微信中处理和在其它应用程序中处理方式就存在不同。而即使在一般的应用程序端,往往还需要适配不同的操作系统(例如安卓或ios)。这样一来,研发人员在开发应用服务时需要开发许多版本,复杂且繁琐。

随着h5页面技术的出现,软件开发人员可以通过开发h5页面的方式同时支持微信和一般应用程序的应用需求,但是由于微信和其它应用程序实现的方式有差别,在实际开发时,一般的做法还是要为应用需求分出三个分支,即微信端、安卓应用程序端和ios应用程序端,仍然费时费力。



技术实现要素:

为了解决上述问题,本发明提出一种应用交互需求适配方法,能够通过一套方案适应不同的应用程序和操作系统。具体的方案为:

一种应用交互需求适配方法,包括以下步骤:

h5页面获取应用交互需求;

判断所述h5页面所处的应用程序;

根据所述应用程序确定相应的接口,通过所述接口将所述应用交互需求发送给所述应用程序;

所述应用程序执行所述应用交互需求。

可选地,在判断所述h5页面所处的应用程序之后、所述通过所述接口将所述应用交互需求发送给所述应用程序前,还包括步骤:

判断所述应用程序是否具有所述应用交互需求的权限;

若具有,则进行下一步骤;若不具有,则询问用户是否开启所述权限,若开启,则进行下一步骤,若不开启,则结束。

可选地,在所述应用程序执行所述应用交互需求之后,还包括步骤:

所述h5页面获取应用交互结束需求;

通过所述接口将所述应用交互结束需求发送给所述应用程序;

所述应用程序结束所述应用交互需求。

可选地,在所述应用程序结束所述应用交互需求之后,还包括步骤:

所述应用程序生成应用交互文件;

将所述应用交互文件发送至所述h5页面的后端;

所述h5页面的后端调用第三方处理软件对所述交互文件进行处理;

所述h5页面的后端获取处理结果,并将所述处理结果发送给所述应用程序。

可选地,在所述h5页面将所述处理结果发送给所述应用程序之后,还包括步骤:

所述应用程序将所述处理结果回传给所述h5页面;

所述h5页面显示所述处理结果。

可选地,所述应用交互需求为录音需求,所述应用交互文件为录音文件,所述第三方处理软件对所述交互文件进行处理包括语音识别、语义识别、语音转写文字、语音特征修改、语音截取或语音合成中的一种或几种。

可选地,所述根据所述应用程序确定相应的接口包括:

如果所述应用程序为微信,则确定所述接口为js-sdk接口;

如果所述应用程序不为微信且为安卓系统下版本,则确定所述接口为javascriptinterface接口;

如果所述应用程序不为微信且为ios系统下版本,则确定所述接口为jsbridge接口。

本发明还提供了一种应用交互需求适配装置,包括需求获取模块、应用程序判断模块、接口确定模块、传输模块和需求执行模块,其中:

所述需求获取模块用于通过h5页面获取应用交互需求;

所述应用程序判断模块用于判断所述h5页面所处的应用程序;

所述接口确定模块用于根据所述应用程序确定相应的接口;

所述传输模块用于通过所述接口将所述应用交互需求发送给所述应用程序;

所述需求执行模块用于命令所述应用程序执行所述应用交互需求。

此外,本发明还提供了一种应用交互需求适配系统,包括如上所述的应用交互需求适配装置,以及至少两项应用交互处理模块,其中:

所述应用交互需求适配装置能够生成应用交互文件,以及根据根据需要调用对应的预设应用交互处理模块处理所述应用交互文件。

本发明还提供了一种存储介质,其上存储有计算机指令,所述计算机指令运行时能够执行上述任意一种应用交互需求适配的步骤。本发明还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时能够执行上述任意一种应用交互需求适配方法的步骤。

本发明通过上述方案,实现h5页面内嵌微信端、安卓版app端、ios版app端的应用交互需求,一方面可减小原有的需提供多套方案的开发成本,另一方面也能按需对接不同的应用交互服务,提高了处理效率,优化了开发资源,能够有效地降低开发人员的工作负担。

附图说明

通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1为本发明一实施例中应用交互需求适配方法的流程示意图;

图2为本发明另一实施例中应用交互需求适配方法的流程示意图;

图3为本发明又一实施例中应用交互需求适配方法的流程示意图;

图4为本发明又一实施例中应用交互需求适配方法的流程示意图;

图5为本发明又一实施例中应用交互需求适配方法的流程示意图;

图6为本发明一实施例中应用交互需求适配装置的结构示意图;

图7为本发明一实施例中电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的一个实施例当中,如图1所示,提供了一种应用交互需求适配方法,包括以下步骤:

步骤s100:h5页面获取应用交互需求;

步骤s200:判断所述h5页面所处的应用程序;

步骤s300:根据所述应用程序确定相应的接口,通过所述接口将所述应用交互需求发送给所述应用程序;

步骤s400:所述应用程序执行所述应用交互需求。

首先,用户通过打开的h5页面中发起应用交互需求,在需求获取完成后,这时要先判断h5页面所处的应用程序,例如,判断这一h5页面是在微信中打开的还是在其它应用程序中打开的,因为不同的应用程序通常具有不同的接口与处理方式,所以接下来根据判断结果确定该应用程序对应的接口,之后h5页面将该应用交互需求发送给应用程序。在接收到该应用交互需求之后,应用程序执行该交互需求。

优选地,在本实施例一项可选的实施方式中,所述根据所述应用程序确定相应的接口包括:

如果所述应用程序为微信,则确定所述接口为js-sdk接口;

如果所述应用程序不为微信且为安卓系统下版本,则确定所述接口为javascriptinterface接口;

如果所述应用程序不为微信且为ios系统下版本,则确定所述接口为jsbridge接口。

这样一来,开发人员无需根据h5页面在不同应用程序中的接口需求而编写多个版本,而是直接根据判断结果进而产生无意义的重复劳动。

例如,用户通过h5界面发起应用交互请求:录音,h5界面需要先判断目前处于何种应用程序,如果是在微信中,则调用js-sdk接口,将应用交互请求发送给微信客户端,微信客户端则启用“录音”功能,接收用户的语音录入。

在本实施例一项可选的实施方式中,如图2所示,在步骤s200和步骤s300之间,还包括步骤:

步骤s510:判断所述应用程序是否具有所述应用交互需求的权限;

若具有,则进行步骤s300;若不具有,则进行步骤s520:询问用户是否开启所述权限,若开启,则进行步骤s300,若不开启,则结束。

在移动设备的操作系统中安装的原生应用程序并不一定都具有相关应用交互需求的权限,这时,就需要确定h5页面所在的应用程序是否具有执行该应用交互需求的权限,例如,在判断h5页面处于微信端,且应用交互需求为“录音”时,需要先判断微信是否具有开启系统录音功能的权限,如果拥有权限,则可以进行下一步,确定相应的接口,然后将应用交互需求通过该接口发送给微信;假如用户并未开启微信的录音权限,则需要询问用户是否打开微信的录音权限,优选地,可以通过弹窗、对话框、语音等形式向用户进行询问,如果用户选择开启,则可以跳转到系统设置界面待用户打开微信的录音权限,之后继续进行下一步,如果用户不想打开该权限,那么正常的流程无法继续,可以通知用户无法进行录音,或返回h5页面的初始状态。

在本实施例一项可选的实施方式中,如图3所示,在步骤s400后,还包括步骤:

步骤s600:所述h5页面获取应用交互结束需求;

步骤s700:通过所述接口将所述应用交互结束需求发送给所述应用程序;

步骤s800:所述应用程序结束所述应用交互需求。

即,与获取并执行应用交互需求的流程类似的,可以同样通过h5页面实现应用交互需求的停止。例如,在应用交互需求为“录音”时,按照步骤s100-s400的步骤,用户通过h5页面发起录音请求并开始录音,当用户认为录音的内容已经完成,准备停止录音时,也可以从h5页面发起录音结束请求,用户在h5页面上选择结束录音,之后通过步骤s300中确定的接口,将录音结束的需求发送给h5页面所在的应用程序,应用程序接收到录音结束请求之后,即可关闭录音功能,结束录音。

在本发明一项可选的实施例中,如图4所示,在步骤s800之后,还包括步骤:

步骤s910:所述应用程序生成应用交互文件;

步骤s920:将所述应用交互文件发送至所述h5页面的后端;

步骤s930:所述h5页面的后端调用第三方处理软件对所述交互文件进行处理;

步骤s940:所述h5页面的后端获取处理结果,并将所述处理结果发送给所述应用程序。

在本实施例中,在应用程序结束执行应用交互需求之后,根据交互需求的不同,可能会产生应用交互文件,例如,应用交互需求为录音时会生成录音文件。在生成应用交互文件之后,应用程序将该应用交互文件发送给h5页面的后端,通过h5页面后端来调用第三方的处理软件,可以对应用交互文件进行相应的处理,处理完成之后,h5页面的后端从第三方处理软件处调取处理结果,并发送给应用程序作为反馈。

优选地,当所述应用交互需求为录音需求时,所述应用交互文件即为录音文件,所述第三方处理软件对所述交互文件进行处理包括语音识别、语义识别、语音转写文字、语音特征修改、语音截取或语音合成中的一种或几种。例如,用户录音完成后,应用程序生成响应的录音文件,之后可以通过h5页面的后端将录音文件发送给第三方软件进行处理,例如,进行语音转写文字处理,转写得到的文字信息将通过h5页面的后端反馈给应用程序。

在一项可选的实施方式中,如图5所示,在步骤s940之后,还包括步骤:

步骤s950:所述应用程序将所述处理结果回传给所述h5页面;

步骤s960:所述h5页面显示所述处理结果。

例如,应用程序将录音文件的转写文字结果发送给h5页面,h5页面显示处理结果。所以,h5页面不仅是应用交互需求的发起端,也可以发起需求结束指令、调用第三方处理软件以及显示应用交互处理结果。

本发明还提供了一种应用交互需求适配装置,如图6所示,包括需求获取模块10、应用程序判断模块20、接口确定模块30、传输模块40和需求执行模块50,其中

所述需求获取模块10用于通过h5页面获取应用交互需求;

所述应用程序判断模块20用于判断所述h5页面所处的应用程序;

所述接口确定模块30用于根据所述应用程序确定相应的接口;

所述传输模块40用于通过所述接口将所述应用交互需求发送给所述应用程序;

所述需求执行模块50用于命令所述应用程序执行所述应用交互需求。

需求获取模块10、接口确定模块30、需求执行模块50分别与传输模块40相连接,应用程序判断模块20与接口确定模块30相连接。当需求获取模块10获取得到用户自h5页面发起的应用交互需求时,应用程序判断模块20对h5页面所在的应用程序进行判断,并将判断结果,即应用程序的类型发送给接口确定模块30,接口确定模块30根据应用程序的不同选择相应的接口,例如:

如果所述应用程序为微信,则确定所述接口为js-sdk接口;

如果所述应用程序不为微信且为安卓系统下版本,则确定所述接口为javascriptinterface接口;

如果所述应用程序不为微信且为ios系统下版本,则确定所述接口为jsbridge接口。

确定接口之后,接口确定模块30按照确定的接口向传输模块40分配接口,需求获取模块10通过传输模块40将获取的应用交互需求通过确定的接口发送给应用程序,而需求执行模块50接收到应用交互需求之后,即可命令应用程序执行所述的应用交互需求。

在一项可选的实施方式中,应用交互需求适配装置还包括权限判断模块60,与应用程序判断模块20、接口确定模块30相连,用于判断所述应用程序是否具有所述应用交互需求的权限;若具有,则进行下一步骤;若不具有,则询问用户是否开启所述权限,若开启,则进行下一步骤,若不开启,则结束。

在一项可选的实施方式中,应用交互需求适配装置还包括文件生成模块70、软件调用模块80以及结果获取模块90,其中:

文件生成模块70用于使所述应用程序生成应用交互文件;生成的应用交互文件通过传输模块40发送至所述h5页面的后端;软件调用模块80用于使所述h5页面的后端调用第三方处理软件对所述交互文件进行处理;结果获取模块90用于使所述h5页面的后端获取处理结果,并通过传输模块40将所述处理结果发送给所述应用程序。

优选地,当所述应用交互需求为录音需求、所述应用交互文件为录音文件时,所述第三方处理软件对所述交互文件进行处理包括语音识别、语义识别、语音转写文字、语音特征修改、语音截取或语音合成中的一种或几种。

在一项可选的实施方式中,应用交互需求适配装置还包括,显示模块100,其中,应用程序将获取的处理结果通过传输模块40将所述处理结果回传给所述h5页面;显示模块100用于使所述h5页面显示所述处理结果。

在本发明的一个实施例中,还提供了一种应用交互需求适配系统,包括上述提到的任一种应用交互需求适配装置,以及至少两项应用交互处理模块。所述应用交互需求适配装置能够生成应用交互文件,以及根据根据需要调用对应的预设应用交互处理模块处理所述应用交互文件。

由于应用程序自身的差异及所处操作系统的不同,在处理应用交互文件时通常会选择不同的处理软件。在本实施例中,应用交互需求适配装置可以根据实际需求选择相应的应用交互处理模块来完成。

需要说明的是,根据本申请实施例的应用交互需求适配装置可以作为一个软件模块和/或硬件模块而集成到电子设备中,换言之,该电子设备可以包括该应用交互需求适配装置。例如,该应用交互需求适配装置可以是该电子设备的操作系统中的一个软件模块,或者可以是针对于其所开发的一个应用程序;当然,该应用交互需求适配装置同样可以是该电子设备的众多硬件模块之一。

在本申请另一实施例中,该应用交互需求适配装置与该电子设备也可以是分立的设备(例如,服务器),并且该应用交互需求适配装置可以通过有线和/或无线网络连接到该电子设备,并且按照约定的数据格式来传输交互信息。

图7所示为本申请一实施例提供的电子设备的结构示意图。如图7所示,该电子设备110包括:一个或多个处理器111和存储器112;以及存储在存储器112中的计算机程序指令,计算机程序指令在被处理器111运行时使得处理器111执行如上述任一实施例的应用交互需求适配方法。

处理器111可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。

存储器112可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器111可以运行所述程序指令,以实现上文所述的本申请的各个实施例的应用交互需求适配方法中的步骤以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如光线强度、补偿光强度、滤光片的位置等信息。

在一个示例中,电子设备110还可以包括:输入装置113和输出装置114,这些组件通过总线系统和/或其他形式的连接机构(图7中未示出)互连。

该输出装置114可以向外部输出各种信息,例如可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图7中仅示出了该电子设备中与本申请有关的组件中的一些,省略了诸如总线、输入装置/输出接口等组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。

除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行如上述任一实施例的应用交互需求适配方法中的步骤。

计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述应用交互需求适配方法部分中描述的根据本申请各种实施例的应用交互需求适配方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

需要指出的是,在本申请的装置和设备中,各部件是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1