掌桥专利:专业的专利平台
掌桥专利
首页

一种桥接方法及装置

文献发布时间:2023-06-19 11:19:16


一种桥接方法及装置

技术领域

本发明涉及计算机技术领域,尤其涉及一种桥接方法及装置。

背景技术

在混合应用(Hybrid App)运行过程中,网页端(Web View)需要与不同操作平台的本地端(Native View)进行桥接,以此来获得本地端中的底层能力支持,音频视频渲染或硬件控制等。

在现有技术中,网页端与本地端之间的桥接大致存在如下问题:在调用不同操作平台的本地端时,需要分别与对应的本地端进行桥接,这种分散桥接难以被统一地调整或在开发新项目时被直接利用。

发明内容

有鉴于此,本发明实施例提供了一种桥接方法及装置,以使得与不同操作平台的本地端的桥接可以被统一调整或被直接利用。

第一方面,本发明实施例提供一种桥接方法,所述方法包括:

接收网页端发送的调用请求;

获取与所述调用请求对应的桥接对象与调用内容;

根据所述调用内容与所述桥接对象,生成管理器;

建立所述管理器与目标端之间的连接关系;

通过所述管理器向所述目标端发送与所述调用内容对应的调用函数。

进一步地,所述建立所述管理器与目标端之间的连接关系,具体包括:

所述管理器向所述目标端发送接口标识;所述接口标识用于指示所述目标端注册接口。

进一步地,在获取与所述调用请求对应的桥接对象与调用内容后,所述方法还包括:

获取与所述桥接对象和所述调用内容对应的调用函数;其中,所述调用函数用于指示所述目标端执行所述调用内容。

进一步地,所述目标端为不同的操作平台的本地端。

进一步地,所述桥接对象为所述目标端对应的操作平台。

进一步地,所述调用内容包括调用功能和调用操作;其中,所述调用功能为目标端提供的可访问功能。

进一步地,在接收网页端发送的调用请求之后,所述方法还包括:

获取与所述调用请求对应的接口信息并注册接口。

进一步地,所述通过所述管理器向所述目标端发送与所述调用内容对应的调用函数后,所述方法还包括:

接收所述目标端发送的反馈信息;

通过事件派发端向所述网页端发送派发信息;

其中,所述派发信息为针对所述调用请求做出的回复信息。

进一步地,在通过所述事件派发端向所述网页端发送派发信息后,所述方法还包括:

响应于接收到所述网页端发送的解耦信息,通过SDK加载器注销与所述网页端的接口。

第二方面,本发明实施例提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面所述的方法。

第三方面,本发明实施例提供一种计算机可读存储介质,用于存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面所述的方法。

本发明实施例公开了一种桥接方法及装置。所述桥接方法通过在接收到网页端发送的调用请求后,获取与调用请求对应的桥接对象和调用内容,生成一个新的管理器,建立新生成管理器与目标端的连接关系,通过管理器向目标端发送与所述调用内容对应的调用函数,来指示目标端执行所述调用内容,以使得网页端可以直接发送调用请求来调用不同操作平台的本地端,提高了混合应用的开发效率。

附图说明

通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1为本发明的实施例的桥接方法的流程示意图;

图2为本发明实施例的桥接方法的系统信令图;

图3为本发明实施例可选的桥接方法的流程示意图;

图4为本发明实施例可选的桥接方法的系统信令图;

图5为本发明实施例给出的生成管理器的结构图;

图6为本发明实施例提供的电子设备的示意图。

具体实施方式

以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。

此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。

除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。

在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

本文中混合模式应用(Hybrid APP)指的是半本地半网页的混合类应用。兼具“本地应用(Native App)良好用户交互体验的优势”和“网页应用(Web App)跨平台开发的优势”。

本文中所采用的Hybrid APP主要为网页(Web)主体型,即移动应用的主体是网页端(Web View),主要以网页语言编写,穿插本地(Native)功能的Hybrid App开发类型。

图1为本发明的实施例的桥接方法的流程示意图。如图1所示,本实施例的桥接方法包括如下步骤:

在步骤S101,接收网页端发送的调用请求。

其中,所述网页端为混合模式应用(Hybrid App)中的网页端(Web View)。具体的,当网页端(Web View)需要调用本地端(Native App)的功能时,会向项目实体发送调用请求。

在本实施例中,项目实体为一个npm(节点包管理器,Node package manager)Javascript程序包对外暴露为一个统一的Class(类),本例中为SDK(软件开发包,SoftwareDevelopment Kit)Class。

所述调用请求可以是网页端通过Javascript语言进行编写的脚本程序响应于特定的操作或触发条件发出的。具体地,调用请求中包含有桥接对象和调用内容。

在步骤S102,获取与所述调用请求对应的桥接对象与调用内容。

所述桥接对象为需要调用的本地端所对应的操作平台。可选地,操作平台可以是IOS、Android、Linux或Windows。

所述调用内容包含有调用操作以及调用操作所对应的调用功能。

所述调用功能是指本地端对外提供的可访问功能。可选地,访问功能可以是底层能力支持、视频功能、音频功能或信号功能。

具体地,在接收到网页端发送的调用请求后,获取与调用请求对应的桥接对象、调用操作以及调用操作所对应的调用功能。例如,当网页端需要在IOS平台的本地端创建视频窗体时,则要向SDK发送包含有IOS、创建视频窗体和视频功能信息的调用请求。SDK接收到调用请求后会获取调用请求中的相关信息。

可选地,调用请求中也可以包含有调用操作所需的相关参数。

在步骤S103,根据所述调用内容与所述桥接对象,生成管理器。

具体地,根据桥接对象和调用操作对应的调用功能,生成相应的管理器。其中,所述管理器本质为一个可运行的程序实例。例如:如果获取的信息是桥接对象为IOS,调用功能为视频功能时,会生成桥接对象为IOS的获得视频管理器。

可选地,对于不同的桥接对象和调用内容,所述管理器也可以是获得设备管理器、获得音频管理器或获得信令管理器。

在步骤S104,建立所述管理器与目标端之间的连接关系。

所述目标端为所调用的操作平台的本地端。

具体地,在生成新的管理器后,建立新生成的管理器与本地端的连接关系。在建立连接关系后,管理器可通过该连接关系向目标端发送信息。

可选地,管理器与本地端建立联系的方式为通过新生成的管理器向目标端发送接口标识,所述接口标识用于指示所述目标端注册接口。

在步骤S105,通过所述管理器向所述目标端发送与所述调用内容对应的调用函数。

所述调用函数与调用内容和桥接对象相对应,用于指示所述目标端执行调用内容。

具体地,通过新生成的连接关系,管理器向目标端发送用于指示目标端执行调用内容的调用函数。例如:SDK可以通过获得视频管理器向IOS平台的本地端发送用于指示本地端执行创建视频窗体的调用函数。

可选地,若根据桥接对象和调用内容生成管理器时,获取到已经生成过对应的管理器,则直接通过该管理器向目标端发送调用函数。

可选地,所述调用函数可以预先设置并存储在存储器中。

可选地,可以根据实际需要读取预先设置在存储器中的调用函数。在一个可选的实现方式中,可以在获取与所述调用请求对应的桥接对象与调用内容后,同时从存储器中读取与所述桥接对象和所述调用内容对应的调用函数。其中,所述调用函数用于指示所述目标端执行所述调用内容。

可选地,在读取调用函数时,可以根据所述调用内容和桥接对象从存储器中找到对应的调用函数。

本发明实施例在接收到网页端发送的调用请求后,获取与调用请求对应的桥接对象和调用内容,生成一个新的管理器,建立新生成管理器与目标端的连接关系,通过管理器向目标端发送与所述调用内容对应的调用函数,来指示目标端执行所述调用内容。本发明实施例获取桥接对象和调用内容后,通过生成相应的管理器与不同的目标端建立连接关系,以使得网页端直接发送调用请求就能够调用不同操作平台的本地端,降低了工作量,提高了开发效率。

图2为本发明实施例的桥接方法的系统信令图。如图2所示,所述系统包括网页端、项目实体和目标端。所述网页端和所述目标端为混合模式应用中的网页端和本地端。

其中,项目实体为一个npm(节点包管理器,Node package manager)Javascript程序包对外暴露为一个统一的Class(类),本例中为SDK(软件开发包,Software DevelopmentKit)Class。

如步骤S201所示,当网页端需要调动本地端的功能支持时,需要向SDK发送调用请求。

可选地,所述调用请求可以通过Javascript语言进行编写的脚本程序响应于特定的操作或触发条件发出的。具体地,调用请求中包含有桥接对象和调用内容。例如,网页端需要调动IOS平台的本地端移动窗体,则需要向SDK发送包含有IOS、视频功能和移动窗体信息的调用请求。

如步骤S202所示,在SDK接收到调用请求之后,从调用请求中获取桥接对象和调用内容。

其中,所述桥接对象为需要调用的本地端所对应的操作平台。可选地,操作平台可以是IOS、Android、Linux或Windows。所述调用内容包含调用操作和与其对应的调用功能。所述调用功能是指本地端对外提供的可访问功能。可选地,访问功能可以是底层能力支持、视频功能、音频功能或信号功能。例如:SDK在接收到调用请求后,会获取调用请求中的IOS、视频功能和移动窗体的相关信息。

可选地,所述调用请求中也可以包含有调用操作的相关参数。例如创建窗口的个数,移动窗口的相关参数。

如步骤203所示,SDK根据所获取得桥接对象和调用内容生成管理器。

其中,所述管理器本质为一个可运行的程序实例。图5为本发明实施例给出的生成管理器的结构图,如图5所示,SDK会根据不同的桥接对象和桥接内容生成不同的管理器。例如:SDK获取到IOS、视频功能和移动窗体的信息时,就会生成桥接对象为IOS的获得视频管理器。

可选地,对于不同的桥接对象和调用内容,管理器也可以是获得设备管理器、获得音频管理器或获得信令管理器。

如步骤204所示,在SDK生成相应管理器后,通过管理器向目标端发送接口标识,所述接口标识中包含有用于指示目标端进行接口注册的相关信息。其中,所述目标端为所调用的操作平台的本地端。

如步骤205所示,在目标端获取到接口标识后,会获得接口标识中的接口信息,并根据接口信息注册生成新的接口,通过该接口来建立SDK与目标端之间的连接关系。

如步骤206所示,在建立好连接关系后,管理器可以通过该连接关系向目标端发送调用函数。

其中,所述调用函数与调用内容和桥接对象相对应,用于指示所述目标端执行调用内容。例如:获得视频管理器通过该连接关系向IOS平台的本地端发送用于指导目标端执行移动窗体的调用函数。

可选地,若根据桥接对象和调用内容生成管理器时,获取到已经生成过对应的管理器,则直接通过该管理器向目标端发送调用函数。

可选地,调用函数可以预先设置并存储在存储器中。

可选地,可以根据实际需要读取预先设置在存储器中的调用函数。在可选的实现方式中,可以在获取与所述调用请求对应的桥接对象与调用内容后,同时从存储器中读取与所述桥接对象和所述调用内容对应的调用函数。其中,所述调用函数用于指示所述目标端执行所述调用内容。

可选地,在读取调用函数时,可以根据所述调用内容和桥接对象从存储器中读取对应的调用函数。

如步骤207所示,目标端接收到调用函数后,根据调用函数执行调用内容。

本发明实施例在接收到网页端发送的调用请求后,获取与调用请求对应的桥接对象和调用内容,生成一个新的管理器,建立新生成管理器与目标端的连接关系,通过管理器向目标端发送与所述调用内容对应的调用函数,来指示目标端执行所述调用内容。本发明实施例获取桥接对象和调用内容后,通过生成相应的管理器与不同的目标端建立连接关系,以使得网页端直接发送调用请求就能够调用不同操作平台的本地端,降低了工作量,提高了开发效率。

图3为本发明实施例可选的桥接方法的流程示意图。如图3所示,所述方法包括如下步骤:

S301:接收网页端发送的调用请求。

S302:获取与所述调用请求对应的接口信息并注册接口。

S303:获取与所述调用请求对应的桥接对象与调用内容。

S204:根据所述调用内容与所述桥接对象,生成管理器。

S305:所述管理器向所述目标端发送接口标识。

S306:通过所述管理器向所述目标端发送与所述调用内容对应的调用函数。

S307:接收所述目标端发送的反馈信息。

S308:通过事件派发端向所述网页端发送派发信息。

S309:响应于接收到所述网页端发送的解耦信息,通过SDK加载器注销与所述网页端的接口。

上述步骤中的S301和S303-S306可参见上述图1所示描述,在此不再赘述。

对于步骤S302,具体地,获取与网页端发送的调用请求对应的接口信息,并进行接口注册,来与网页端建立连接关系。在建立连接关系后,通过该连接关系接收网页端发送的调用请求。

对于步骤S307,具体地,接收目标端发送的反馈信息,所述反馈信息为目标端针对调用内容的反馈信息。

可选地,反馈信息中可以包括有目标端是否成功执行调用内容和执行时间的信息,若没有成功执行调用内容,则还可以包含有报错代码等信息以及其它在执行过程中所涉及到的参数信息。例如:目标端接收到与调用内容对应的调用函数,并执行所述调用内容中并出现报错时,记录执行时间或报错时间并将获取的报错代码作为反馈信息进行反馈。

对于步骤S308,具体地,通过事件派发端向网页端发送派发信息,所述派发信息为针对网页端发送的调用请求的回复信息。

可选地,回复信息可以根据目标端返回的反馈信息进行确定。可以包括有目标端是否成功执行调用内容和执行时间的信息,若没有执行调用内容,则还可以包含有报错代码等信息以及其它在执行过程中所涉及到的参数信息。

可选地,不同管理器都使用统一的事件派发端向网页端发送回复信息。

可选地,所述派发信息为针对网页端发送的调用请求的回复信息,而不是直接向网页端发送信息,以使得开发人员可以直接查看针对调用请求做出的回复信息,不会遗漏信息。

对于步骤S309,具体地,响应于接收到网页端发送的解耦信息,通过SDK加载器注销与网页端之间的接口,来断开与网页端的连接关系。

可选地,若在预设时间内未接收到网页端发送的调用请求,则自动注销与网页端的接口,以断开与网页端的连接关系。所述预设时间可以是开发人员根据实际需要进行设置,例如预设时间可以是SDK的维护或更新的周期时间。

可选地,SDK加载器还可以用来对SDK进行维护和更新。

本发明的实施例在接收到网页端的调用请求后,与网页端建立连接关系,然后在图1所示方法的基础上,接收目标端针对调用内容所做出的反馈信息,通过事件派发端向网页端发送回复信息,响应于接收到网页端发送的解耦信息,通过SDK加载器注销与网页端之间的接口,在需要调用时再重新加载SDK并进行连接。以使得在没有调用需求时,通过注销接口来减少内存占用,保证SDK的自行维护和更新,降低了工作人员的工作量,提高了开发人员的开发效率。

图4为本发明实施例可选的桥接方法的系统信令图。如图4所示,所述系统包括网页端、项目实体和目标端。其中,项目实体为一个npm(节点包管理器,Node packagemanager)Javascript程序包对外暴露为一个统一的Class(类),本例中为SDK(软件开发包,Software Development Kit)Class。

步骤S401和S403-S407可参见上述图2所示描述,在此不再赘述。

对于步骤S402,具体地,SDK获取与网页端发送的调用请求对应的接口信息,并进行接口注册,来与网页端建立连接关系。在建立连接关系后,通过该连接关系接收网页端发送的调用请求。

对于步骤S408,在目标端在根据调用函数执行调用内容后,向SDK发送反馈信息,所述反馈信息为目标端针对调用内容的反馈信息。

可选地,反馈信息中可以包括有目标端是否成功执行调用内容和执行时间的信息,若没有成功执行调用内容,则还可以包含有报错代码等信息以及其它在执行过程中所涉及到的参数信息。例如:目标端接收到与调用内容对应的调用函数,并执行所述调用内容中并出现报错时,记录执行时间或报错时间并将获取的报错代码作为反馈信息反馈给SDK。

对于步骤S409,具体地,通过SDK中的事件派发端向网页端发送派发信息。

可选地,回复信息可以根据目标端返回的反馈信息进行确定。可以包括有目标端是否成功执行调用内容和执行时间的信息,若没有执行调用内容,则还可以包含有报错代码等信息以及其它在执行过程中所涉及到的参数信息。

可选地,SDK所生成的不同管理器都使用统一的事件派发端向网页端发送回复信息。

可选地,所述派发信息为针对网页端发送的调用请求的回复信息,而不是直接向网页端发送信息,以使得开发人员可以直接查看SDK针对调用请求做出的回复信息,不会遗漏信息。

对于步骤S410,具体地,响应于接收到网页端发送的解耦信息,SDK通过SDK加载器注销与网页端之间的接口,来断开与网页端的连接关系。

可选地,若在预设时间内未接收到网页端发送的调用请求,则自动注销与网页端的接口,以断开与网页端的连接关系。所述预设时间可以是开发人员根据实际需要进行设置,例如预设时间可以是SDK的维护或更新的周期时间。

对于步骤S411,SDK通过SDK加载器注销与网页端之间的接口。

可选地,SDK加载器注销接口的方式可以是向SDK发送注销标识,所述注销标识中包括有解耦信息和所要注销接口的接口信息。

可选地,SDK加载器还可以用来对SDK进行维护和更新。

本发明的实施例在接收到网页端的调用请求后,与网页端建立连接关系,然后在图1所示方法的基础上,接收目标端针对调用内容所做出的反馈信息,通过事件派发端向网页端发送回复信息,响应于接收到网页端发送的解耦信息,通过SDK加载器注销与网页端之间的接口,在需要调用时再重新加载SDK并进行连接。以使得在没有调用需求时,通过注销接口来减少内存占用,保证SDK的自行维护和更新,降低了工作人员的工作量,提高了开发人员的开发效率。

图6是本发明实施例的电子设备的示意图。如图6所示,电子设备为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器61和存储器62。处理器61和存储器62通过总线63连接。存储器62适于存储处理器61可执行的指令或程序。处理器61可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器61通过执行存储器62所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线63将上述多个组件连接在一起,同时将上述组件连接到显示控制器64和显示装置以及输入/输出(I/O)装置65。输入/输出(I/O)装置65可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置65通过输入/输出(I/O)控制器66与系统相连。

本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品。

本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。

这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。

也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。

本发明的另一实施例涉及一种非易失性存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指定相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种隐藏式长跨距活动桥接装置及桥接方法
  • 数据传输系统、桥接装置、由桥接装置实现的方法、存储介质
技术分类

06120112881012