一种应用中组件的通信方式选择方法、通信系统和移动终端与流程

文档序号:12733338阅读:183来源:国知局
一种应用中组件的通信方式选择方法、通信系统和移动终端与流程

本发明涉及移动通信技术领域,具体涉及一种应用中组件的通信方式选择方法、通信系统和移动终端。



背景技术:

近年以来,随着应用超文本标记语言技术H5(HTML5)的成熟,市场上很多的原生应用(又称Native App)在考虑性能、体验、成本等情况下都会以混合模式移动应用(Hybird app)的形式安装在移动终端,Hybird app是一种介于web-app(基于Web的应用)、原生应用之间的应用,其由包括多个组件,例如原生应用和界面组件(H5页面),通过在原生应用里面嵌入很多界面组件的方式形成Hybird app,这些页面组件主要用于展示一些静态的图文数据,在使用Hybird app时采用默认的通信方式通过所述原生应用访问所述页面组件。

由于手机等移动终端的配置差异,不同移动终端能够支持的原生应用与页面组件之间的通信方式的类型存在差异,例如,移动终端A,支持通信方式01、02、03,移动终端B支持通信方式01、02、04,移动终端C支持通信方式01、03、04,其中,通信方式01是各个移动终端都能支持的页面组件与原生应用之间的通信方式,那么如果想要保证所述Hybird app能够被各个移动终端所使用,在传统的技术方案中,所述Hybird app通常会默认的各个移动终端均能支持的通信方式(该通信方式可以为默认通信方式,例如01,该01可以指的是JSBridge或其他)进行原生应用和页面组件之间的通信。

由于各个移动终端的配置不同,其所能够向Hybird app提供的能够支持原生应用和页面组件进行通信的许可通信方式不同,但是现有技术中的Hybird app中的组件在通信时,只能选择默认的通信方式进行通信,造成通信质量低的问题。



技术实现要素:

有鉴于此,本发明实施例提供一种混合模式移动应用通信方式选择方法、通信系统和移动终端,以实现依据移动终端所支持的通信方式,合理选择Hybird app中原生应用和页面组件之间的通信方式,以提高原生应用和页面组件之间的通信速度。

为实现上述目的,本发明实施例提供如下技术方案:

一种混合模式移动应用通信方式选择方法,应用于移动终端中,包括:

当监测到混合模式移动应用中的页面组件与原生应用进行首次通信时;

获取移动终端所支持混合模式移动应用中原生应用与页面组件的许可通信方式;

获取所述许可通信方式中优先级最高的许可通信方式;

将优先级最高的所述许可通信方式标记为所述移动终端中混合模式移动应用的原生应用与页面组件的优选通信方式。

一种应用中组件的通信方法,其特征在于,应用于移动终端中,包括:

若监测到应用中的通信请求时,获取移动终端所支持的原生应用与页面组件之间的许可通信方式集合,所述通信请求用于实现应用中页面组件与原生应用之间的通信连接;

获取所述许可通信方式集合中满足预设规则的通信方式;

将满足所述预设规则的通信方式设置为所述原生应用与页面组件的优选通信方式;

控制所述原生应用与页面组件之间采用所述优选通信方式进行通信。

一种应用中组件的通信系统,包括:

指令监测单元,用于监测应用中的通信请求,若监测到所述通信请求时,向通信方式集合获取单元输出触发信号,所述通信请求用于实现应用中页面组件与原生应用之间的通信连接;

通信方式集合获取单元,用于获取移动终端所支持的原生应用与页面组件之间的许可通信方式集合,向通信方式选择单元输出触发信号;

通信方式选择单元,用于获取所述许可通信方式集合中满足预设规则的通信方式;将满足所述预设规则的通信方式设置为所述原生应用与页面组件的优选通信方式,向通信单元输出触发信号;

通信单元,用于控制所述原生应用与页面组件之间采用所述优选通信方式进行通信。

一种移动终端,应用本申请任意一项实施例公开的通信系统。

基于上述技术方案,本发明实施例提供的上述方案,通过若监测到应用中的通信请求时,获取移动终端所支持的原生应用与页面组件之间的许可通信方式集合,所述通信请求用于实现应用中页面组件与原生应用之间的通信连接;获取所述许可通信方式集合中满足预设规则的通信方式;将满足所述预设规则的通信方式设置为所述原生应用与页面组件的优选通信方式;控制所述原生应用与页面组件之间采用所述优选通信方式进行通信。从而提高了应用组件之间的通信质量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例公开的一种应用中组件的通信方式选择方法的流程示意图;

图2为本申请另一实施例公开的一种应用中组件的通信方式选择方法的流程示意图;

图3为本申请又一实施例公开的一种应用中组件的通信方式选择方法的流程示意图;

图4为本申请再一实施例公开的一种应用中组件的通信方式选择方法的流程示意图;

图5为本申请实施例公开的一种应用中组件的通信系统的结构框图。

具体实施方式

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

图1为本申请实施例提供的一种应用中组件的通信方法,该方法可以应用于装载有混合模式移动应用的移动终端中,例如装载有混合模式移动应用的手机、平板电脑、笔记本电脑等。

参见图1,该方法可以包括:

步骤S101:若监测到应用中的通信请求时,获取移动终端所支持的原生应用与页面组件之间的许可通信方式集合,执行步骤S102;

在本步骤中,实时监听所述页面组件,当所述页面组件通过某种触发方式被触发,生成URL地址时,自动生成用于进行页面组件与原生应用进行通信的通信请求,现有技术中在监测到该请求时,选择默认的通信方式建立页面组件与原生应用之间的通信连接,进行原生应用与页面组件之间的数据交互;而在本申请实施例公开的技术方案中,当监测到所述通信请求时,调取移动终端所支持的、能够实现原生应用与页面组件之间进行通信的许可通信方式,此时,需要暂停所述URL地址的传递,直至选择好下文中的优选通信方式之后,继续发送所述URL地址;

其中,在获取移动终端所支持的原生应用与页面组件之间的许可通信方式集合时,可通过多种不同的获取方式来获取所述许可通信方式集合,例如:

参见图2,方式一,包括:

步骤S201:获取所述移动终端的标识信息;

在本步骤中,所述标识信息为能够用于确定所述移动终端所支持的用于实现页面组件和原生应用之间进行通信的许可方式的标识信息,其可以包括:移动终端型号标识和操作系统版本标识,具体的采用移动终端的何种标识作为所述上述标识信息,可以依据用户选择自行设定,例如就手机而言,所述标识信息也可以为进网许可证号、SN码等。

步骤S202:由第一预设映射表中调取与所述标识信息相匹配的许可通信方式,依据调取到的许可通信方式建立许可通信方式集合;

以型号标识和操作系统版本标识作为标识信息为例对本步骤进行说明:当获取到所述型号标识和操作系统版本标识之后,依据所述移动终端的型号标识和操作系统版本标识,从第一预设映射表中,查询所述移动终端所支持的许可通信方式,依据所述许可通信方式建立许可通信方式集合,其中,所述第一预设映射表中预设有移动终端的型号标识、操作系统版本标识和所述移动终端所支持的许可通信方式之间的映射关系。

方式二,包括:

上述依据第一映射表获取所述许可通信方式集合的方案中,前期需要做大量的工作,例如需要预先在所述第一映射表中预先配置各个移动终端的标识信息,需要预先测试各个移动终端所支持的许可通信方式,建立各个标识信息与所述许可通信方式之间的映射关系。

相对于上述方案,本申请还公开了一种前期准备工作量较少的许可通信方式集合获取方式,参见图3,方式二可以包括:

步骤S301:控制应用的页面组件依次采用预设通信方式集合中的各个通信方式对所述原生应用进行通信;

在本步骤中,可以在预设一预设通信方式集合,所述预设通信方式集合中设置有现有的移动终端所能支持的多种类型的许可通信方式,例如console.log、onPrompt、addJavaScriptInterface以及JSBridge等通信方式;依次采用所述预设通信方式集合中的各种通信方式进行页面组件与所述原生应用之间的通信测试,判断所述移动终端能够支持哪些类型的许可通信;

步骤S302:判断是否获取到所述原生应用的响应数据;

步骤S303:将获取到的响应数据所对应的通信方式作为移动终端所支持的许可通信方式;

当依次采用预设通信方式集合中的各个通信方式进行通信测试时,如果获取到原生应用的响应数据,则表明当前测试的通信方式为所述移动终端的许可通信方式,依据测试得到的所述许可通信方式建立许可通信方式集合。

方案三:

此外,本申请还公开了一种许可通信方式集合的技术方案,将相较于上述两种方案而言,前期需要进行大量的工作,参见图4,该方法可以包括:

步骤S401:调取与所述预设规则相匹配的第二预设映射表;

预先针对每种不同类型的预设规则配置一与所述预设规则一一对应的第二映射表,所述第二映射表中存储有所述移动终端所支持的满足所述预设条件的许可通信方式,在这里需要说明的是,满足所述预设条件的许可通信方式为在执行上述方法的前期已经确定好的;例如,所述预设规则可以为通信方式最快或占用系统内存最少等,本申请预先针对通信速度最快的预设规则建立一第二映射表,该映射表中配置有各种移动终端所支持的应用组件之间的许可通信方式集合,该集合中包含有通信速度最快的许可通信方式,依据占用系统内存最少的预设规则建立以映射表,该映射表中配置有各种移动终端所支持的应用组件之间的许可通信方式集合,该集合中包含有占用内存最小的许可通信方式,。

步骤S402:获取所述移动终端的标识信息;

步骤S403:由第二预设映射表中查找与所述标识信息相对应许可通信方式集合。

步骤S102:获取所述许可通信方式集合中满足预设规则的通信方式,执行步骤S103;

在获取到步骤S101获取到的许可通信方式集合后,采用所述预设规则对所述许可通信方式集合中的通信方式进行判断,选择满足所述预设规则的通信方式,例如,如果该集合为采用上述方法一或二获取到的集合时,由于集合内包括多个许可通信方式,需要依据所述预设规则对各个许可通信方式进行一一比较判断,当然为了便于本步骤操作,可以依据各种预设规则对各个许可通信方式的优先级进行标注,例如,针对通信速度最快的预设规则:预先对各种许可通信方式的通信速度优先级进行标注;针对内存占用最小的预设规则:预先对各种许可通信方式的内存占用量优先级进行标注。当所述许可通信方式集合为采用方法三获取到的集合时,由于该集合中仅包含一种许可通信方式,且该许可通信方式为对应于该预设规则的,因此可默认为该许可通信方式为满足所述预设条件的许可通信方式。

步骤S103:将满足所述预设规则的通信方式设置为所述原生应用与页面组件的优选通信方式,执行步骤S104;

在本步骤中,当检测到满足所述预设条件的许可通信方式时,可将该许可通信方式设置为原生应用与页面组件之间的优选通信方式,该通信方式的优先级高于所述高于应用默认的组件之间的通信方式,即,在应用中的组件进行通信时如果存在所述优选通信方式时,直接再用所述优选通信方式进行通信,放不存在优选通信方式时,执行本申请上述实施例公开的上述方法获取所述优选通信方式。当然,也可以将所述优选通信方式作为应用默认的组件之间的通信方式,当组件之间进行通信时,直接采用更新后的默认通信方式进行通信即可。

步骤S104:控制所述原生应用与页面组件之间采用所述优选通信方式进行通信。

在本申请上述实施例公开的技术方案中,上述方案可针对于应用首次进行组件之间的通信的场景,即,如果组件进行首次通信时,此时应用未配置所述优选通信方式,因此,需要执行本方法为应用配置其优选通信方式,获取原生应用与页面组件的优选通信方式,控制所述原生应用与页面组件之间采用所述优选通信方式进行通信,如果非首次通信,由于已经为应用配置好了所述优选通信方式,因此无需执行本方法,直接采用所述优选通信方式进行组件之间的通信即可,因此,本申请上述实施例公开的方法,在执行之前还需要判断本次通信是否为组件之间的首次通信,具体的,如何判断本次通信是否为首次通信,可以依据用户需求自行设定判定方案,当然,为了使得判断过程更加快速,本方法可以通过判断应用是否配置有所述优选通信方式的方法判断本次通信是否为首次通信。

在本申请上述实施例公开的技术方案中,为了增强用户体验度,用户可以依据自身需求配置所述预设规则,具体的,当系统监听到用户输入的配置预设规则指令时,控制移动终端的显示界面向用户展示预设规则选择列表,所述预设规则选择列表中设置有预先设立的多个选择规则;获取与用户选择指令相匹配的选择规则作为上述方法中用到的所述预设规则。当然,如果在监测到组件之间进行首次通信之前,未获取到所述配置预设规则指令,则选择默认的预设规则作为上文用到的预设规则。如果在所述优选通信方式已经配置好后,获取到用户输入的配置预设规则指令时,更新所述预设规则,并清除已经设置好的优选通信方式,将获取到所述配置预设规则指令之后的首次获取到的通信请求作为组件之间的首次通信时的通信请求。

对应于上述应用中组件的通信方法,本申请还公开了一种应用中组件的通信系统,该通信系统可以应用于移动终端中,参见图5,该通信系统可以包括:

指令监测单元100,该指令检测单元与方法中的步骤S101的前半部分相对应,用于监测应用中的通信请求,若监测到所述通信请求时,向通信方式集合获取单元输出触发信号,所述通信请求用于实现应用中页面组件与原生应用之间的通信连接;

通信方式集合获取单元200,与方法中的步骤S101的后半部分以及方法一、方法二和方法三相对应,用于获取移动终端所支持的原生应用与页面组件之间的许可通信方式集合,向通信方式选择单元输出触发信号;

通信方式选择单元300,与方法中的步骤S103向对应,用于获取所述许可通信方式集合中满足预设规则的通信方式;将满足所述预设规则的通信方式设置为所述原生应用与页面组件的优选通信方式,向通信单元输出触发信号;

通信单元400,与方法中的步骤S104相对应,用于控制所述原生应用与页面组件之间采用所述优选通信方式进行通信。

与上述方法相对应,所述通信方式集合获取单元200还包括用于判断本次通信请求是否为首次通信的首次通信判断单元和用于获取许可通信方式集合的子通信方式集合获取单元,所述首次通信判断单元,用于判断所述通信请求是否为首次通信请求,如果是,向子通信方式集合获取单元输出触发信号,向通信方式选择单元输出触发信号,如果否,向通信单元输出触发信号;所述子通信方式集合获取单元,用于获取移动终端所支持的原生应用与页面组件之间的许可通信方式集合;

此时,所述通信单元400具体被配置为:获取原生应用与页面组件的优选通信方式,控制所述原生应用与页面组件之间采用所述优选通信方式进行通信,该优选通信方式可以为直接提取应用中已经配置好的优选通信方式,当然也可以获取所述通信方式选择单元300选择出的优选通信方式。

与上述方法相对应所述首次通信判断单元,具体可以被配置为:

判断所述应用中是否设置有原生应用与页面组件的优选通信方式,如果否,确定所述通信请求为首次通信请求。

与上述方法一相对应,所述子通信方式集合获取单元,可以包括:

第一集合获取单元,用于获取所述移动终端的型号标识和操作系统版本标识;依据所述移动终端的型号标识和操作系统版本标识,从第一预设映射表中,查询所述移动终端所支持的许可通信方式,依据所述许可通信方式建立许可通信方式集合,其中,所述第一预设映射表中预设有移动终端的型号标识和操作系统版本标识与所述移动终端所支持的许可通信方式之间的映射关系。

与上述方法二相对应,所述子通信方式集合获取单元,可以包括:

第二集合获取单元,用于控制应用的页面组件依次采用预设通信方式集合中的各个通信方式对所述原生应用进行通信,并判断是否获取到所述原生应用的响应数据;将获取到的响应数据所对应的通信方式作为移动终端所支持的许可通信方式;

其中,所述预设通信方式集合中预设有多个预设的通信方式。

与上述方法三相对应,所述子通信方式集合获取单元,可以包括:

第三集合获取单元,调取与所述预设规则相匹配的第二预设映射表;获取所述移动终端的型号标识、操作系统版本标识;由第二预设映射表中查找与所述型号标识和操作系统版本标识相对应许可通信方式集合;其中,所述第二预设映射表中存储有与所述型号标识和操作系统版本标识相对应、满足所述预设条件的许可通信方式集合,其中,所述第一集合获取单元和第三集合获取单元可以同于预设的SDK文件来实现。

与上述方法相对应,上述方案中,还可以包括用于实现预设规则切换的预设规则选的单元,用于若指令监测单元监测到所述通信请求时,控制移动终端的显示界面向用户展示预设规则选择列表,所述预设规则选择列表中设置有预先设立的多个选择规则;获取与用户选择指令相匹配的选择规则作为所述预设规则,将所述预设规则发送至所述通信方式选择单元。

与上述方法相对应,所述通信系统还可以将获取到的优选通信方式配置为所述通信系统的默认通信方式,具体的,该通信系统还可以包括:默认通信方式配置单元,用于将所述应用中页面组件与原生应用之间的默认通信方式更新为所述满足预设规则的通信方式。

当然,需要说明的是,在一移动终端中,可以同时应用有本申请上述任意一或多项项实施例通信方式通信方法或通信系统,具体的所述移动终端采用何种选择方法或通信系统进行混合模式移动应用的优选通信方式的选取工作,可以依据用户预先设定的各个方法和通信系统的优先级或用户的选择指令进行确定。

当然,对应于上述通信系统,本申请还公开了一种移动终端,该移动终端内配置有本申请上述任意一项或多项实施例公开的通信系统。

为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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