消息的推送系统和方法、存储介质及电子装置与流程

文档序号:33321092发布日期:2023-03-03 20:41阅读:34来源:国知局
消息的推送系统和方法、存储介质及电子装置与流程

1.本技术涉及智慧家庭技术领域,具体而言,涉及一种消息的推送系统和方法、存储介质及电子装置。


背景技术:

2.目前,随着智家平台app功能的多样化,以及与交互性的增强,越来越多的消息需要及时的传递给用户,推送功能成为了不可或缺的能力。但由于目前智家平台app种类繁多,推送处理逻辑散落于多个app中,产生较大代码冗余,并且在处理相同业务逻辑时,会出现多个app处理方式不同的情况。为了更好的管理推送账号以及提高推送条件精确化,不同都会引入不同的第三方的推送渠道,进一步导致代码差异度变大。
3.随着推送功能的引入,app开发中消息传递机制都要通过推送功能来完成。而目前app使用推送功能比较主流的方式,都是在工程中直接开发推送相关功能,或者即使进行模块化开发,但无法兼顾不同app使用不同第三方的推送渠道,又或者推送功能代码散落于业务模块之中。为此,推送功能无法统一管理,同时扰乱业务模块的开发人员,无法专注于业务逻辑,还要兼顾推送相关代码。这使得开发过程变得复杂,困难。
4.针对相关技术中,应用的推送功能的开发方式均采用在工程中直接开发推送相关功能,推送功能代码散落于业务模块之中等问题,尚未提出有效的解决方案。


技术实现要素:

5.本技术实施例提供了一种消息的推送系统和方法、存储介质及电子装置,以至少解决相关技术中,应用的推送功能的开发方式均采用在工程中直接开发推送相关功能,推送功能代码散落于业务模块之中等问题。
6.根据本技术实施例的一个实施例,提供了一种消息的推送系统,包括:消息通道接口模块,与所述消息通道接口模块连接的推送模块,与所述推送模块连接的业务模块,其中,所述消息通道接口模块,用于接收第三方应用对应的推送服务中心发送的携带有通知信息的消息体,其中,所述推送服务中心至少包括以下之一:第一推送服务中心、第二推送服务中心,所述第一推送服务中心为安装有所述第三方应用的终端设备的厂商提供的推送服务中心;所述第二推送服务中心为除所述第一推送服务中心之外的推送服务中心;所述推送模块,用于接收所述消息通道接口模块发送的所述消息体,根据预设处理逻辑处理所述消息体,以得到所述消息体对应的模型对象;在所述模型对象为所述业务模块处理的信息的情况下,将所述模型对象广播至所述业务模块,其中,所述模型对象用于指示所述通知信息;所述业务模块,用于接收所述推送模块广播的所述模型对象,根据所述模型对象更新所述第三方应用对应的信息,并在所述第三方应用上显示更新后的信息。
7.在一个示例性实施例中,所述推送模块还包括:消息转换模块、与所述消息转换模块连接的目标消息拦截器,其中,所述消息转换模块,用于通过预设方式对消息体进行解密,得到解密后的消息体;解析所述解密后的消息体,以获取所述消息体对应的模型对象,
并将所述模型对象发送至所述目标消息拦截器;所述目标消息拦截器,用于根据所述模型对象的属性信息确定所述模型对象的推送方式,并将所述模型对象发送至消息处理队列。
8.在一个示例性实施例中,所述消息转换模块,还用于确定所述模型对象对应的消息类型,并根据所述模型对象对应的消息类型在多个消息拦截器中确定所述目标消息拦截器,并将所述模型对象发送至所述目标消息拦截器。
9.在一个示例性实施例中,所述推送模块还包括:与所述目标消息拦截器连接的消息处理队列,与所述消息处理队列连接的消息处理工厂,其中,所述消息处理队列,用于接收所述目标消息拦截器发送的模型对象,在当前时间与预设时间一致的情况下,将所述模型对象发送至所述消息处理工厂;所述消息处理工厂,用于确定所述模型对象对应的消息类型,并确定所述消息类型对应的消息处理器,并将所述模型对象发送至消息处理器。
10.在一个示例性实施例中,所述推送模块还包括:与所述消息处理工厂连接的消息处理器,与所述消息处理器连接的消息广播模块,其中,所述消息处理器,用于接收所述消息处理工厂发送的模型对象,并确定所述模型对象的推送时间;在确定所述模型对象为所述业务模块处理的信息的情况下,将所述推送时间和所述模型对象发送至所述消息广播模块;所述消息广播模块,用于将所述推送时间和所述模型对象广播至所述业务模块,以使所述业务模块根据所述模型对象更新所述第三方应用对应的信息,并根据所述推送时间在所述终端设备上显示更新后的信息。
11.在一个示例性实施例中,所述推送模块还包括:与所述消息处理器连接的消息状态上报模块,其中,所述消息状态上报模块,用于根据所述消息处理器是否将所述推送时间和所述模型对象发送至所述消息广播模块,确定所述模型对象的状态,并将所述模型对象的状态发送至所述第三方应用对应的服务器。
12.在一个示例性实施例中,所述消息状态上报模块,还用于在所述消息处理器将所述推送时间和所述模型对象发送至所述消息广播模块的情况下,确定所述模型对象的状态为已推送状态;在所述消息处理器未将所述推送策略和所述模型对象发送至所述消息广播模块的情况下,确定所述模型对象的状态为未推送状态。
13.根据本技术实施例的另一个实施例,还提供了一种消息的推送方法,包括:接收第三方应用对应的推送服务中心发送的携带有通知信息的消息体,其中,所述推送服务中心至少包括以下之一:第一推送服务中心、第二推送服务中心,所述第一推送服务中心为安装有所述第三方应用的终端设备的厂商提供的推送服务中心;所述第二推送服务中心为除所述第一推送服务中心之外的推送服务中心;根据预设处理逻辑处理所述消息体,以得到所述消息体对应的模型对象;根据所述模型对象更新所述第三方应用对应的信息,并在所述第三方应用上显示更新后的信息。
14.根据本技术实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述消息的推送方法。
15.根据本技术实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的消息的推送方法。
16.在本技术实施例中,消息通道接口模块,与所述消息通道接口模块连接的推送模
块,与所述推送模块连接的业务模块,其中,所述消息通道接口模块,用于接收第三方应用对应的推送服务中心发送的携带有通知信息的消息体,其中,所述推送服务中心至少包括以下之一:第一推送服务中心、第二推送服务中心,所述第一推送服务中心为安装有所述第三方应用的终端设备的厂商提供的推送服务中心;所述第二推送服务中心为除所述第一推送服务中心之外的推送服务中心;所述推送模块,用于接收所述消息通道接口模块发送的所述消息体,根据预设处理逻辑处理所述消息体,以得到所述消息体对应的模型对象;在所述模型对象为所述业务模块处理的信息的情况下,将所述模型对象广播至所述业务模块,其中,所述模型对象用于指示所述通知信息;所述业务模块,用于接收所述推送模块广播的所述模型对象,根据所述模型对象更新所述第三方应用对应的信息,并在所述第三方应用上显示更新后的信息;采用上述技术方案,解决了应用的推送功能的开发方式均采用在工程中直接开发推送相关功能,推送功能代码散落于业务模块之中等问题,本发明实施例引入推送模块和消息通道接口模块,使得业务模块开发中,开发人员专注于业务开发本身,不再关注推送相关功能,减轻业务模块复杂度,减少推送功能代码冗余,提高功能模块化程度,以及通过消息通道接口模块兼容了不同推送渠道的差异。
附图说明
17.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
18.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
19.图1是本技术实施例的一种消息的推送方法的硬件环境示意图;
20.图2是根据本技术实施例的消息的推送系统的结构框图;
21.图3是根据本技术可选实施例的消息的推送方法的时序图;
22.图4是根据本技术可选实施例的消息的推送系统的框架图;
23.图5是根据本技术实施例的一种消息的推送方法的流程图。
具体实施方式
24.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
25.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品
或设备固有的其它步骤或单元。
26.根据本技术实施例的一个方面,提供了一种消息推送方法。该消息推送方法广泛应用于智慧家庭(smart home)、智能家居、智能家用设备生态、智慧住宅(intelligencehouse)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述消息推送方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
27.上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。终端设备102可以并不限定于为pc、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
28.在本实施例中提供了一种消息的推送系统,应用于上述终端设备,图2是根据本技术实施例的消息的推送系统的结构框图,该消息的推送系统包括如下模块:
29.消息通道接口模块22,与所述消息通道接口模块连接的推送模块24,与所述推送模块连接的业务模块26,其中,
30.所述消息通道接口模块22,用于接收第三方应用对应的推送服务中心发送的携带有通知信息的消息体,其中,所述推送服务中心至少包括以下之一:第一推送服务中心、第二推送服务中心,所述第一推送服务中心为安装有所述第三方应用的终端设备的厂商提供的推送服务中心;所述第二推送服务中心为除所述第一推送服务中心之外的推送服务中心;
31.需要说明的是,第一推送服务中心可以为apns服务器、安卓设备对应的推送服务器等,所述第二推送服务中心包括但不限于:极光推送服务器、环信推送服务器、谷歌推送服务器等。
32.所述推送模块24,用于接收所述消息通道接口模块发送的所述消息体,根据预设处理逻辑处理所述消息体,以得到所述消息体对应的模型对象;在所述模型对象为所述业务模块处理的信息的情况下,将所述模型对象广播至所述业务模块,其中,所述模型对象用于指示所述通知信息;
33.所述业务模块26,用于接收所述推送模块广播的所述模型对象,根据所述模型对象更新所述第三方应用对应的信息,并在所述第三方应用上显示更新后的信息。
34.通过上述系统,消息通道接口模块,用于接收第三方应用对应的推送服务中心发送的携带有通知信息的消息体,其中,所述推送服务中心至少包括以下之一:第一推送服务中心、第二推送服务中心,所述第一推送服务中心为安装有所述第三方应用的终端设备的厂商提供的推送服务中心;所述第二推送服务中心为除所述第一推送服务中心之外的推送
服务中心;推送模块,用于接收所述消息通道接口模块发送的所述消息体,根据预设处理逻辑处理所述消息体,以得到所述消息体对应的模型对象;在所述模型对象为所述业务模块处理的信息的情况下,将所述模型对象广播至所述业务模块,其中,所述模型对象用于指示所述通知信息;业务模块,用于接收所述推送模块广播的所述模型对象,根据所述模型对象更新所述第三方应用对应的信息,并在所述第三方应用上显示更新后的信息;采用上述技术方案,解决了应用的推送功能的开发方式均采用在工程中直接开发推送相关功能,推送功能代码散落于业务模块之中等问题,本发明实施例引入推送模块和消息通道接口模块,使得业务模块开发中,开发人员专注于业务开发本身,不再关注推送相关功能,减轻业务模块复杂度,减少推送功能代码冗余,提高功能模块化程度,以及通过消息通道接口模块兼容了不同推送渠道的差异。
35.在一个示例性实施例中,所述推送模块还包括:消息转换模块、与所述消息转换模块连接的目标消息拦截器,其中,所述消息转换模块,用于通过预设方式对消息体进行解密,得到解密后的消息体;解析所述解密后的消息体,以获取所述消息体对应的模型对象,并将所述模型对象发送至所述目标消息拦截器;所述目标消息拦截器,用于根据所述模型对象的属性信息确定所述模型对象的推送方式,并将所述模型对象发送至消息处理队列。
36.也就是说,推送模块中还包括:消息转换模块和目标消息拦截器;因安全因素考虑,推送消息体在网络传输时为加密状态,推送模块接收到消息后,首先需要消息转换模块对消息体进行解密,以及由于接收到的消息体为编码后的消息体,因此消息转换器还用于解码,将key-value形式的消息体转换为模型对象。
37.需要说明的是,由于某些消息不期望由推送模块统一处理,外部可通过注册消息拦截器对消息进行预先处理,甚至截断消息处理流程。若不注册额外的消息拦截器,消息会由推送模块提供的内部消息拦截器对消息做统一的解析和处理。也就是说,本技术实施例中的消息拦截器可以是外部消息拦截器,也可以是内部消息拦截器,其中,所述外部拦截器需要预先注册至所述消息推送系统。
38.需要说明的是,在所述目标消息拦截器包括:外部消息拦截器,与所述外部消息拦截器连接的内部消息拦截器。
39.所述外部消息拦截器,用于根据所述模型对象的属性信息确定所述模型对象的第一推送方式,并将所述模型对象和所述第一推送方式发送至内部消息拦截器;
40.所述内部消息拦截器,用于根据所述模型对象的属性信息确定所述模型对象的第二推送方式,根据所述第一推送方式和所述第二推送方式确定第三推送方式,并将所述模型对象发送至消息处理队列。
41.在一个示例性实施例中,所述消息转换模块,还用于确定所述模型对象对应的消息类型,并根据所述模型对象对应的消息类型在多个消息拦截器中确定所述目标消息拦截器,并将所述模型对象发送至所述目标消息拦截器。
42.需要说明的是,推送模块中包含多个消息拦截器,所述消息转换模块可以通过模型对象的消息类型选择可处理模型对象的目标消息拦截器进行处理。
43.在一个示例性实施例中,所述推送模块还包括:与所述目标消息拦截器连接的消息处理队列,与所述消息处理队列连接的消息处理工厂,其中,所述消息处理队列,用于接收所述目标消息拦截器发送的模型对象,在当前时间与预设时间一致的情况下,将所述模
型对象发送至所述消息处理工厂;所述消息处理工厂,用于确定所述模型对象对应的消息类型,并确定所述消息类型对应的消息处理器,并将所述模型对象发送至消息处理器。
44.也就是说,推送模块中还包括:消息处理队列和消息处理工厂;消息处理队列为了不阻塞外部业务逻辑,推送模块在处理消息时,使用自建的处理队列对模型对象进行处理,自建队列同时赋予了外部能够延迟处理模型对象的能力;消息处理工厂因消息类型众多,处理方式各不相同,消息处理工厂根据不同的消息类型,生成对应处理该类消息的处理器来处理消息。
45.在一个示例性实施例中,所述推送模块还包括:与所述消息处理工厂连接的消息处理器,与所述消息处理器连接的消息广播模块,其中,所述消息处理器,用于接收所述消息处理工厂发送的模型对象,并确定所述模型对象的推送时间;在确定所述模型对象为所述业务模块处理的信息的情况下,将所述推送时间和所述模型对象发送至所述消息广播模块;所述消息广播模块,用于将所述推送时间和所述模型对象广播至所述业务模块,以使所述业务模块根据所述模型对象更新所述第三方应用对应的信息,并根据所述推送时间在所述终端设备上显示更新后的信息。
46.需要说明的是,消息类型包括:推送消息类型和自定义消息类型,在第三方应用活跃的时候,接收自定义消息类型的消息,在所有状态下,均接收推送消息类型的消息;因此,消息处理器包括:处理推送消息类型的消息的处理器和处理自定义消息类型的消息的处理器。
47.本发明实施例中的消息处理模块还用于确定所述模型对象是否为需要所述业务模块处理的信息,在确定模型对象为需要所述业务模块处理的信息的情况下,将模型对象发送至所述消息广播模块,否则直接将所述模型对象对应的消息显示在所述第三方应用;在消息广播模块接收到模型对象的情况下,将所述模型对象广播至业务模块,以使所述业务模块根据所述模型对象更新所述第三方应用对应的信息,并根据所述推送时间在所述终端设备上显示更新后的信息。
48.举例来讲,在所述模型对象指示的推送信息为设备a从房间a移至房间b,此时,业务模块需要根据推送信息更新设备a的位置信息,在业务模块更新完所述设备a的位置信息的情况下,将更新后的设备a的位置信息显示在所述终端设备上。
49.在一个示例性实施例中,所述推送模块还包括:与所述消息处理器连接的消息状态上报模块,其中,所述消息状态上报模块,用于根据所述消息处理器是否将所述推送时间和所述模型对象发送至所述消息广播模块,确定所述模型对象的状态,并将所述模型对象的状态发送至所述第三方应用对应的服务器。
50.具体的,所述消息状态上报模块,还用于在所述消息处理器将所述推送时间和所述模型对象发送至所述消息广播模块的情况下,确定所述模型对象的状态为已推送状态;在所述消息处理器未将所述推送策略和所述模型对象发送至所述消息广播模块的情况下,确定所述模型对象的状态为未推送状态。
51.也就是说,消息状态上报模块实时监测消息处理器处理所述模型对象的进度,在所述消息处理器将所述推送时间和所述模型对象发送至所述消息广播模块的情况下,将所述模型对象的已推送状态发送至所述第三方应用对应的服务器;在所述消息处理器未将所述推送时间和所述模型对象发送至所述消息广播模块的情况下,将所述模型对象的未推送
状态发送至所述第三方应用对应的服务器。
52.为了更好的理解上述消息的推送系统的过程,以下再结合可选实施例对上述消息的推送的实现方法流程进行说明,但不用于限定本技术实施例的技术方案。
53.在本实施例中提供了一种消息的推送系统,为实现模块化对接推送服务器推送功能,项目工程通过静态库或者cocoapods等集成方式,将推送模块集成入工程之中,同时实现推送模块所提供的消息通道接口模块,以兼容第三方推送渠道的差异问题。即可实现推送模块的集成工作,最后需自行处理推送的业务模块监听对应的推送消息并处理。以ios系统为例,图3是根据本技术可选实施例的消息的推送方法的时序图,如图3所示,具体如下步骤:
54.步骤s301:业务服务端向apns服务器(相当于上述实施例中的第一推送服务器)发送携带有通知信息的消息体;
55.步骤s302:apns服务器向app端(相当于上述实施例中的第三方应用)发送携带有通知信息的消息体;
56.步骤s303:app端接收到消息体后,将消息体交由推送模块处理;
57.步骤s304:推送模块接收消息体后,对加密的消息体进行解密和解码(例如,base64加密),得到模型对象;
58.步骤s305:通过模型对象的内容选择可处理消息体的消息拦截器,并将模型对象发送至消息拦截器进行处理;
59.步骤s306:消息拦截器接收到模型对象,将模型对象放入异步处理队列等待处理;
60.步骤s307:根据模型对象的消息内容,处理器工厂生成相对应的消息处理器,比如,弹窗类消息,跳转类消息,toast消息等等;
61.步骤s308:消息处理器处理消息;
62.步骤s309:消息处理完毕,由消息转发器广播给业务模块自行处理;
63.步骤s310:业务模型处理消息;
64.步骤s311:状态上报器判断是否将消息上报为已处理消息(部分业务模块处理的消息需自行上报已处理状态),如需上报,由状态上报器上报消息状态;
65.步骤s312:消息处理完毕。
66.在本实施例中还提供了一种消息的推送系统,图4是根据本技术可选实施例的消息的推送系统的框架图,如图4所示,所述项目工程包括:业务模块、推送模块、消息通道接口实现模块,其中,
67.业务模块主要完成对某些需要业务模块处理的消息的处理工作,此类消息会通过广播的形式通知到业务模块,业务模块即可对接收到的消息进行处理。
68.消息通道接口实现模块由于不同的项目工程可能接入不同的第三方推送渠道,为了兼容不同推送渠道的差异,推送模块对外提供消息通道接口,由外部实现并注册进推送模块。
69.推送模块为处理推送消息的主体,由消息转换器(相当于上述实施例中的消息转换模块),消息拦截器(相当于上述实施例中的目标消息拦截器),消息处理队列,消息处理工厂,消息处理器以及消息广播器(相当于上述实施例中的消息广播模块)和状态上报器(相当于上述实施例中的消息状态上报模块)组成。
70.消息转换器:因安全因素考虑,推送的消息体在网络传输时为加密状态,推送模块接收到消息后,消息转换器需要对消息体进行解密工作,并将解密后的消息体转换为模型对象。
71.消息拦截器:由于某些消息不期望由推送模块统一处理,外部可通过注册消息拦截器对模型对象进行预先处理,甚至截断模型对象的处理流程。若不注册额外的消息拦截器,模型对象会由推送模块提供的内部消息拦截器对模型对象做统一的解析和处理。
72.消息处理队列:为了不阻塞外部业务逻辑,推送模块在处理模型对象时,使用自建的处理队列对模型对象进行处理,自建队列同时赋予了外部能够延迟处理消息的能力。
73.消息处理工厂:因模型对象的类型众多,处理方式各不相同,消息处理工厂根据不同的消息类型,生成对应处理该类模型对象的消息处理器来处理模型对象。
74.消息处理器:根据消息内容处理模型对象。
75.消息广播器:对于需要业务模块处理的模型对象,在消息处理器完成对模型对象的处理后,会交由广播器将模型对象广播出去,以供监听此类模型对象的外部业务模块处理模型对象。
76.消息状态上报器:将模型对象的状态上报至app对应的服务器。
77.以项目工程为核心,其他业务功能集成为各个模块为项目工程提供各式各样业务能力的架构方式被广泛应用。各个模块的相对稳定对于架构本身与开发者而言至关重要。类似推送等功能业务逻辑几乎遍布所有的业务模块,推送处理代码散布于各个业务模块之中,同时非统一化的处理方式,都会大大降低项目工程的稳定性。通过本发明实施例,利用模块化方案,将推送处理逻辑统一化,模块化。消息处理方式变动时,不再需要频繁修改其他业务模块以及项目工程,业务模块开发者更专注于业务开发本身。为app架构稳定性和可持续性提供了更为有利的条件。
78.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例的方法。
79.图5是根据本技术实施例的一种消息的推送方法的流程图;如图5所示,包括:
80.步骤s502:接收第三方应用对应的推送服务中心发送的携带有通知信息的消息体,其中,所述推送服务中心至少包括以下之一:第一推送服务中心、第二推送服务中心,所述第一推送服务中心为安装有所述第三方应用的终端设备的厂商提供的推送服务中心;所述第二推送服务中心为除所述第一推送服务中心之外的推送服务中心;
81.步骤s504:根据预设处理逻辑处理所述消息体,以得到所述消息体对应的模型对象;
82.步骤s506:根据所述模型对象更新所述第三方应用对应的信息,并在所述第三方应用上显示更新后的信息。
83.通过上述步骤,接收第三方应用对应的推送服务中心发送的携带有通知信息的消息体,其中,所述推送服务中心至少包括以下之一:第一推送服务中心、第二推送服务中心,
所述第一推送服务中心为安装有所述第三方应用的终端设备的厂商提供的推送服务中心;所述第二推送服务中心为除所述第一推送服务中心之外的推送服务中心;根据预设处理逻辑处理所述消息体,以得到所述消息体对应的模型对象;根据所述模型对象更新所述第三方应用对应的信息,并在所述第三方应用上显示更新后的信息;采用上述技术方案,解决了应用的推送功能的开发方式均采用在工程中直接开发推送相关功能,推送功能代码散落于业务模块之中等问题,本发明实施例引入推送模块和消息通道接口模块,使得业务模块开发中,开发人员专注于业务开发本身,不再关注推送相关功能,减轻业务模块复杂度,减少推送功能代码冗余,提高功能模块化程度,以及通过消息通道接口模块兼容了不同推送渠道的差异。
84.在一个示例性实施例中,通过预设方式对消息体进行解密,得到解密后的消息体;解析所述解密后的消息体,以获取所述消息体对应的模型对象;根据所述模型对象的属性信息确定所述模型对象的推送方式。
85.在一个示例性实施例中,在当前时间与预设时间一致的情况下,确定所述模型对象对应的消息类型。
86.在一个示例性实施例中,确定所述模型对象的推送时间;在确定所述模型对象为所述业务模块处理的信息的情况下,将所述推送时间和所述模型对象广播至所述业务模块,以使所述业务模块根据所述模型对象更新所述第三方应用对应的信息,并根据所述推送时间在所述终端设备上显示更新后的信息。
87.在一个示例性实施例中,根据所是否将所述推送时间和所述模型对象发送至所述消息广播模块,确定所述模型对象的状态,并将所述模型对象的状态发送至所述第三方应用对应的服务器。
88.在一个示例性实施例中,所述将所述推送时间和所述模型对象发送至所述消息广播模块的情况下,确定所述模型对象的状态为已推送状态;在未将所述推送策略和所述模型对象发送至所述消息广播模块的情况下,确定所述模型对象的状态为未推送状态。
89.本技术的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
90.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
91.s1,接收第三方应用对应的推送服务中心发送的携带有通知信息的消息体,其中,所述推送服务中心至少包括以下之一:第一推送服务中心、第二推送服务中心,所述第一推送服务中心为安装有所述第三方应用的终端设备的厂商提供的推送服务中心;所述第二推送服务中心为除所述第一推送服务中心之外的推送服务中心;
92.s2,根据预设处理逻辑处理所述消息体,以得到所述消息体对应的模型对象;
93.s3,根据所述模型对象更新所述第三方应用对应的信息,并在所述第三方应用上显示更新后的信息。
94.本技术的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
95.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备
和上述处理器连接,该输入输出设备和上述处理器连接。
96.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
97.s1,接收第三方应用对应的推送服务中心发送的携带有通知信息的消息体,其中,所述推送服务中心至少包括以下之一:第一推送服务中心、第二推送服务中心,所述第一推送服务中心为安装有所述第三方应用的终端设备的厂商提供的推送服务中心;所述第二推送服务中心为除所述第一推送服务中心之外的推送服务中心;
98.s2,根据预设处理逻辑处理所述消息体,以得到所述消息体对应的模型对象;
99.s3,根据所述模型对象更新所述第三方应用对应的信息,并在所述第三方应用上显示更新后的信息。
100.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
101.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
102.显然,本领域的技术人员应该明白,上述的本技术的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本技术不限制于任何特定的硬件和软件结合。
103.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1