一种Flutter原生混合开发的消息传输方法及装置制造方法及图纸

技术编号:37967642 阅读:8 留言:0更新日期:2023-06-30 09:43
本说明书涉及移动应用开发技术领域,提供了一种Flutter原生混合开发的消息传输方法及装置。该方法包括:获取消息传输请求;其中,所述消息传输请求的发布端包括Flutter端或原生端;从与所述消息传输请求的发布端对应的消息订阅页面列表中,匹配与所述消息传输请求的传输标识对应的消息订阅页面;确定匹配得到的消息订阅页面对应的消息传输通道;利用所述消息传输通道将所述消息传输请求推送至所述对应的消息订阅页面。通过本说明书实施例,可提高Flutter原生混合开发效率、减少开发复杂度和降低维护成本。降低维护成本。降低维护成本。

【技术实现步骤摘要】
一种Flutter原生混合开发的消息传输方法及装置


[0001]本说明书涉及移动应用开发
,尤其是涉及一种Flutter原生混合开发的消息传输方法及装置。

技术介绍

[0002]Flutter作为Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。跨平台开发能够使一套代码可以同时在Android和iOS等平台上运行,既可以满足系统业务量及复杂度增加的开发需求,还可以提高开发效率、降低维护成本和人力成本。目前Flutter平台和原生平台中多个页面实现互相消息通知时,消息传递方向分为四种类型,分别是Flutter平台向Flutter平台传递、Flutter平台向原生平台、原生平台向Flutter平台以及原生平台向原生平台,为了实现上述四种类型的消息传递,现有技术中EventBus提供了一种能够处理Flutter平台的多个页面间消息通讯的事件总线,FlowBus、LiveDataBus和基于RxJava实现的RxBus等则都能够实现原生平台的多个页面间的消息通讯。
[0003]在Flutter平台向原生平台传递消息和原生平台向Flutter平台传递消息时,则需要对待传输的消息进行分类细化,先将消息分为多个类型,不同的类型中进一步包含不同种消息,相应地,基于不同的消息类型建立对应的唯一的消息类型标识,通过该消息类型标识可以建立适配于被所述消息类型标识调用的、所述原生平台与所述Flutter容器之间的消息通道,因此消息类型标识也可以视为消息通道标识,从而实现交叉平台中各页面之间的消息通讯;然而这种跨平台的通讯方式,随着业务需求增大,需要传输消息的页面和处理的消息不断增加,需要建立的消息类型标识也越来越多,会出现代码冗余、开发成本和维护难度增大的问题。此外,现有技术在Flutter平台和原生平台中多个页面互相消息通知时,需要选择并拼接多种不同的通讯方式,才能实现Flutter平台向Flutter平台传递、Flutter平台向原生平台、原生平台向Flutter平台以及原生平台向原生平台这四种通讯功能兼备,因此亟需一种Flutter原生混合开发的消息传输方法,以提高应用程序的开发效率、减少开发复杂度和降低维护成本。

技术实现思路

[0004]鉴于目前,提出了本方案以便克服上述问题或者至少部分地解决上述问题。
[0005]一方面,本说明书的一些实施例的目的在于提供一种Flutter原生混合开发的消息传输方法,所述方法包括:
[0006]获取消息传输请求;其中,所述消息传输请求的发布端包括Flutter端或原生端;
[0007]从与所述消息传输请求的发布端对应的消息订阅页面列表中,匹配与所述消息传输请求的传输标识对应的消息订阅页面;
[0008]确定匹配得到的消息订阅页面对应的消息传输通道;
[0009]利用所述消息传输通道将所述消息传输请求推送至所述对应的消息订阅页面。
[0010]进一步地,所述消息订阅页面列表预先根据以下方式构建得到,包括:
[0011]接收注册请求;
[0012]判断所述注册请求中是否包含消息订阅页面、传输标识以及业务回调方法;其中,所述消息订阅页面和所述业务回调方法均与所述传输标识对应;
[0013]若所述注册请求包含所述消息订阅页面、所述传输标识以及所述业务回调方法,则从当前消息订阅页面列表中检索与所述传输标识对应的消息订阅页面是否存在;
[0014]若不存在,则向当前消息订阅页面列表中,添加所述消息订阅页面、所述传输标识以及所述业务回调方法的对应关系记录。
[0015]进一步地,所述消息订阅页面列表预先根据以下方式构建得到,进一步包括:
[0016]接收注销请求;
[0017]判断所述注销请求中是否包含消息订阅页面、传输标识;
[0018]若所述注销请求中包含所述消息订阅页面和所述传输标识,则从当前消息订阅页面列表中检索与所述传输标识对应的消息订阅页面是否存在;
[0019]若存在,则从当前消息订阅页面列表中移除所述消息订阅页面、所述传输标识,以及所述传输标识对应的业务回调方法的对应关系记录。
[0020]进一步地,所述消息订阅页面列表预先根据以下方式构建得到,进一步包括:
[0021]接收全局注销请求;
[0022]根据所述全局注销请求调用当前消息订阅页面列表中的所有消息订阅页面和所有传输标识;
[0023]从当前消息订阅页面列表中依次移除所述所有消息订阅页面、所述所有传输标识,以及所述所有传输标识对应的业务回调方法的对应关系记录。
[0024]进一步地,所述确定匹配得到的消息订阅页面对应的消息传输通道之后,进一步包括,从预设的业务回调方法列表中匹配所述传输标识对应的业务回调方法。
[0025]进一步地,所述业务回调方法的执行逻辑包括:
[0026]获取与所述消息传输请求对应的预设消息内容,得到第一回调结果;
[0027]或,
[0028]获取与所述消息传输请求对应的预设消息内容,并且对所述预设消息内容进行指定运算,得到第二回调结果;
[0029]利用与所述传输标识对应的消息传输通道,将所述第一回调结果或所述第二回调结果推送至所述对应的消息订阅页面。
[0030]另一方面,本说明书的一些实施例还提供一种Flutter原生混合开发的消息传输装置,所述装置包括:
[0031]接收模块,用于获取消息传输请求;其中,所述消息传输请求的发布端包括Flutter端或原生端;
[0032]匹配模块,用于从与所述消息传输请求的发布端对应的消息订阅页面列表中,匹配与所述消息传输请求的传输标识对应的消息订阅页面;
[0033]确定模块,用于确定匹配得到的消息订阅页面对应的消息传输通道;
[0034]传输模块,用于利用所述消息传输通道将所述消息传输请求推送至所述对应的消息订阅页面。
[0035]另一方面,本说明书的一些实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述方法的指令。
[0036]另一方面,本说明书的一些实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
[0037]另一方面,本说明书的一些实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述方法的指令。
[0038]本说明书的一些实施例提供的一个或者多个技术方案,至少具有如下的技术效果:
[0039]本说明书的实施例自动获取消息传输请求,之后从与消息传输请求的发布端对应的消息订阅页面列表中,匹配与消息传输请求的传输标识对应的消息订阅页面,以根据消息订阅页面确定对应的消息传输通道,实现了基于消息传输请求中的传本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Flutter原生混合开发的消息传输方法,其特征在于,所述方法包括:获取消息传输请求;其中,所述消息传输请求的发布端包括Flutter端或原生端;从与所述消息传输请求的发布端对应的消息订阅页面列表中,匹配与所述消息传输请求的传输标识对应的消息订阅页面;确定匹配得到的消息订阅页面对应的消息传输通道;利用所述消息传输通道将所述消息传输请求推送至所述对应的消息订阅页面。2.根据权利要求1所述的方法,其特征在于,所述消息订阅页面列表预先根据以下方式构建得到,包括:接收注册请求;判断所述注册请求中是否包含消息订阅页面、传输标识以及业务回调方法;其中,所述消息订阅页面和所述业务回调方法均与所述传输标识对应;若所述注册请求包含所述消息订阅页面、所述传输标识以及所述业务回调方法,则从当前消息订阅页面列表中检索与所述传输标识对应的消息订阅页面是否存在;若不存在,则向当前消息订阅页面列表中,添加所述消息订阅页面、所述传输标识以及所述业务回调方法的对应关系记录。3.根据权利要求2所述的方法,其特征在于,所述消息订阅页面列表预先根据以下方式构建得到,进一步包括:接收注销请求;判断所述注销请求中是否包含消息订阅页面、传输标识;若所述注销请求中包含所述消息订阅页面和所述传输标识,则从当前消息订阅页面列表中检索与所述传输标识对应的消息订阅页面是否存在;若存在,则从当前消息订阅页面列表中移除所述消息订阅页面、所述传输标识,以及所述传输标识对应的业务回调方法的对应关系记录。4.根据权利要求3所述的方法,其特征在于,所述消息订阅页面列表预先根据以下方式构建得到,进一步包括:接收全局注销请求;根据所述全局注销请求调用当前消息订阅页面列表中的所有消息订阅页面和所有传输标识;从当前消息订阅页面列表中依次移除所述所有消息订阅页面、所述所有传输标识,以及所述所有传...

【专利技术属性】
技术研发人员:李海莉李萌萌吴迪
申请(专利权)人:厦门友微科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1