基于通信桥的Web端与Native端交互的方法、系统、设备和介质与流程

文档序号:37280682发布日期:2024-03-12 21:19阅读:19来源:国知局
基于通信桥的Web端与Native端交互的方法、系统、设备和介质与流程

本发明涉及计算机应用,更为具体而言,涉及一种基于通信桥的web端与native端交互的方法、系统、设备和介质。


背景技术:

1、为了实现原生app(native端)与h5(web端)通信,现有技术通常需要用到第三方库webviewjavascriptbridge。webviewjavascriptbridge实现互调的过程是在原生环境和js环境各自保存一个相互调用的bridge对象,每一个调用之间都有响应标识responseid和回调标识callbackid来找到两个环境对应的处理。该实现方式存在如下两方面的问题:

2、1、由于native端与web端通信依赖于第三方库webviewjavascriptbridge,当第三方库有变动时,调用端(app和h5)有可能需要跟着改变(比如registerhandler方法改名为registername),每次编译器升级都需要考虑第三方库能否编译或者第三方库对两种语言的兼容性,例如android的编程语言java,kotlin和ios的编程语言oc,swift等;

3、2、每次增加一个原生app和h5通信的新功能,都需要在原生app的webview和h5的js环境中各自注册一个新方法。

4、可见,目前native与h5之间依赖于第三方库的通信方式效率低,无法实现高效的双向通信。


技术实现思路

1、为解决上述现有技术存在的问题或至少部分问题,本发明实施方式提供了一种基于通信桥的web端与native端交互的方法、系统、设备和介质,通过web端与native端之间的通信桥发送调用请求,进而从native端网页视图的任务执行器的任务池中确定待执行的任务并执行,可以直接基于web端与native端之间的通信桥进行交互,提升web端与native端之间的通信效率。

2、根据本发明的第一方面,本发明实施方式提供了一种基于通信桥的web端与native端交互的方法,所述native端具有第一通信桥,所述web端具有第二通信桥,所述native端的网页视图具有任务执行器,该方法包括:获取任务标识和任务,并将所述任务标识和任务一对一存入所述任务执行器的任务池中;当所述web端通过所述第二通信桥向所述第一通信桥发送第一调用请求时,所述任务执行器根据所述第一调用请求确定所述第一调用请求对应的第一待执行任务,其中,所述第一调用请求包含第一待执行任务的任务标识;根据所述第一调用请求对应的第一待执行任务获取所述native端的第一目标数据,并将所述第一目标数据通过所述第二通信桥发送至所述web端。

3、根据本发明上述实施方式,通过在web端与native端建立第一通信桥和第二通信桥,并在native端网页视图的任务执行器的任务池中一对一存入任务标识和任务,进而在web端通过第二通信桥向native端发送第一调用请求时从native端网页视图的任务执行器确定待执行的任务,可以直接基于web端与native端之间的通信桥进行交互,而不依赖于任何第三方库,从而提升web端与native端之间的通信效率。

4、在本发明的一些实施方式中,所述获取任务标识和任务,并将所述任务标识和任务一对一存入所述任务执行器的任务池中包括:所述native端启动时获取配置文件并将所述配置文件保存至所述native端的本地存储路径,所述配置文件包括所述任务的名称;根据所述本地存储路径中存储的配置文件将所述任务注册到所述任务池中。

5、根据本发明上述实施方式,基于获取的配置文件将任务注册到任务池中即可实现增加或修改任务/任务类(task),不需要在网页视图相关类中新增任何代码,也不会影响其他任务。

6、在本发明的一些实施方式中,所述网页视图内注册任务处理器,当所述web端通过所述第二通信桥向所述第一通信桥发送第一调用请求时,所述第二通信桥调用所述任务处理器,所述任务处理器调用所述任务执行器内的处理请求服务根据所述第一调用请求确定所述第一调用请求对应的第一待执行任务。

7、根据本发明上述实施方式,通过在网页视图内注册的任务处理器调用任务执行器内的处理请求服务确定第一调用请求对应的任务,实现将调用请求分发到高内聚低耦合的功能类中,以执行相应的任务。

8、根据本发明的第二方面,本发明实施方式提供了一种基于通信桥的web端与native端交互的方法,述native端具有第一通信桥,所述web端具有第二通信桥,所述native端的网页视图内包含任务执行器,该方法包括:获取任务标识和任务,并将所述任务标识和任务一对一存入所述任务执行器的任务池中;当所述native端通过所述第一通信桥向所述第二通信桥发送第二调用请求时,所述任务执行器根据所述第二调用请求确定所述第二调用请求对应的第二待执行任务,其中,所述第二调用请求包含第二待执行任务的任务标识;根据所述第二调用请求对应的第二待执行任务获取所述web端的第二目标数据,并将所述第二目标数据通过所述第一通信桥发送至所述native端。

9、根据本发明上述实施方式,通过在web端与native端建立第一通信桥和第二通信桥,并在native端网页视图的任务执行器的任务池中一对一存入任务标识和任务,进而在native端通过第一通信桥向web端发送第二调用请求时从native端网页视图的任务执行器确定待执行的任务,可以直接基于web端与native端之间的通信桥进行交互,而不依赖于任何第三方库,从而提升web端与native端之间的通信效率。

10、根据本发明的第三方面,本发明实施方式提供了一种基于通信桥的web端与native端交互系统中的native端设备,其中,native端设备包括:网页视图,所述网页视图具有任务执行器,所述任务执行器用于获取任务标识和任务,并将所述任务标识和任务一对一存入所述任务执行器的任务池中;第一通信桥,用于接收所述web端通过第二通信桥发送的第一调用请求,其中,所述第一调用请求包含第一待执行任务的任务标识;所述任务执行器还用于根据所述第一调用请求确定所述第一调用请求对应的第一待执行任务;第一数据处理模块,用于根据所述第一调用请求对应的第一待执行任务获取所述native端的第一目标数据,并将所述第一目标数据通过所述第二通信桥发送至所述web端。

11、根据本发明上述实施方式,通过在web端与native端建立第一通信桥和第二通信桥,并在native端网页视图的任务执行器的任务池中一对一存入任务标识和任务,进而在接收web端通过第二通信桥发送的第一调用请求时从native端网页视图的任务执行器确定待执行的任务,可以直接基于web端与native端之间的通信桥进行交互,而不依赖于任何第三方库,从而提升web端与native端之间的通信效率。

12、在本发明的一些实施方式中,所述获取任务标识和任务,并将所述任务标识和任务一对一存入所述任务执行器的任务池中包括:所述native端启动时获取配置文件并将所述配置文件保存至所述native端的本地存储路径,所述配置文件包括所述任务的名称;根据所述本地存储路径中存储的配置文件将所述任务注册到所述任务池中。

13、根据本发明上述实施方式,基于获取的配置文件将任务注册到任务池中即可实现增加或修改任务/任务类(task),不需要在网页视图相关类中新增任何代码,也不会影响其他任务。

14、在本发明的一些实施方式中,所述网页视图内注册任务处理器,当所述web端通过所述第二通信桥向所述第一通信桥发送第一调用请求时,所述第二通信桥调用所述任务处理器,所述任务处理器调用所述任务执行器内的处理请求服务根据所述第一调用请求确定所述第一调用请求对应的第一待执行任务。

15、根据本发明上述实施方式,通过在网页视图内注册的任务处理器调用任务执行器内的处理请求服务确定第一调用请求对应的任务,实现将调用请求分发到高内聚低耦合的功能类中,以执行相应的任务。

16、根据本发明的第四方面,本发明实施方式提供了一种基于通信桥的web端与native端交互系统中的native端设备,所述web端与native端交互系统包括web端设备和native端设备,其中,所述native端设备包括:网页视图,所述网页视图具有任务执行器,所述任务执行器用于获取任务标识和任务,并将所述任务标识和任务一对一存入所述任务执行器的任务池中;第一通信桥,用于向所述web端的第二通信桥发送第二调用请求,其中,所述第二调用请求包含第二待执行任务的任务标识;所述任务执行器还用于根据所述第二调用请求确定所述第二调用请求对应的第二待执行任务;其中,所述web端设备包括:第二通信桥,用于接收所述native端通过所述第一通信桥发送的第二调用请求;第二数据处理模块,用于根据所述第二调用请求对应的第二待执行任务获取所述web端的第二目标数据,并将所述第二目标数据通过所述第一通信桥发送至所述native端。

17、根据本发明上述实施方式,通过在web端与native端建立第一通信桥和第二通信桥,并在native端网页视图的任务执行器的任务池中一对一存入任务标识和任务,进而在native端通过第一通信桥向web端发送第二调用请求时从native端网页视图的任务执行器确定待执行的任务,可以直接基于web端与native端之间的通信桥进行交互,而不依赖于任何第三方库,从而提升web端与native端之间的通信效率。

18、根据本发明的第五方面,本发明实施方式提供一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时,使得计算机执行如下操作:所述操作包括如上任意一种实施方式所述基于通信桥的web端与native端交互的方法所包含的步骤。

19、根据本发明的第六方面,本发明实施方式提供一种包括存储器和处理器的计算机设备,所述存储器用于存储一条或多条计算机可读指令,其中,所述一条或多条计算机可读指令被所述处理器执行时能够实现如上任意一种实施方式所述的基于通信桥的web端与native端交互的方法。

20、由上述可知,实施本发明提供的基于通信桥的web端与native端交互的方法、系统、设备和介质,通过在web端与native端建立第一通信桥和第二通信桥,并在native端网页视图的任务执行器的任务池中一对一存入任务标识和任务,进而在web端与native端通过第一通信桥/第二通信桥发送调用请求时从native端网页视图的任务执行器确定待执行的任务,可以直接基于web端与native端之间的通信桥进行交互,而不依赖于任何第三方库,从而提升web端与native端之间的通信效率。

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