一种适用于不同推送SDK的统一接入方法及系统技术方案

技术编号:14894450 阅读:106 留言:0更新日期:2017-03-29 09:47
本发明专利技术涉及计算机技术领域,公开了一种适用于不同推送SDK的统一接入方法,包括:步骤S1:接收推送消息,并将每条推送消息封装成一单独的Msg结构体,所述推送消息包括消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容;步骤S2:对所有的Msg结构体进行过滤,去除相同的Msg结构体;步骤S3:将经过过滤的Msg结构体广播给应用程序。本发明专利技术还公开了一种适用于不同推送SDK的统一接入系统。本发明专利技术用于对不同推送SDK的推送消息进行统一接入。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及一种适用于不同推送SDK的统一接入方法和一种适用于不同推送SDK的统一接入系统。
技术介绍
随着科学技术的飞速发展,智能手机设备也随之高速发展,涌现出诸多的手机厂商。对于消息的推送收发,每个手机厂商均有自己的一套推送SDK(SoftwareDevelopmentKit,软件开发工具包),即拥有一套自己的集成方案,对于应用程序的开发者来说,当应用程序安装于不同厂商的手机上时,均需要对应用程序进行相应修改,使得应用程序适配厂商的集成方案,极大地提高了开发者的工作量,且因需要开发者熟悉不同的集成方案,使得开发者在应用程序编写时极易出错。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种适用于不同推送SDK的统一接入方法和一种适用于不同推送SDK的统一接入系统,用于对不同推送SDK的推送消息进行统一接入。为达到以上目的,本专利技术采取的技术方案是:包括:步骤S1:接收推送消息,并将每条推送消息封装成一单独的Msg结构体,所述推送消息包括消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容;步骤S2:对所有的Msg结构体进行过滤,去除相同的Msg结构体;步骤S3:将经过过滤的Msg结构体广播给应用程序。在上述技术方案的基础上,内容相同的推送消息的Msg结构体相同,内容不同的推送消息的Msg结构体不同。在上述技术方案的基础上,所述推送消息的封装步骤为:步骤S1.1:对推送消息进行解析,获取推送消息的消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容;步骤S1.2:将推送消息的消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容封装到一单独的Msg结构体中。在上述技术方案的基础上,对所有Msg结构体的过滤步骤为:步骤S2.1:将所有Msg结构体存入一集合中;步骤S2.2:逐个读取集合中的Msg结构体,并将读取出的Msg结构体中的消息唯一标示符与还存在于集合中的Msg结构体的消息唯一标示符进行比对,若比对到相同的消息唯一标示符,则丢弃当前读取出的Msg结构体,若没比对到相同的消息唯一标示符,则将当前读取出的Msg结构体保存。在上述技术方案的基础上,所述步骤S3中Msg结构体广播给应用程序的具体过程为:步骤S3.1:获取Intent对象,并将Msg结构体的消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容保存到Intent对象中;步骤S3.2:通过API将Intent对象发送给应用程序。本专利技术还提供一种适用于不同推送SDK的统一接入系统,包括:推送模块,其用于接收推送消息,并将推送消息封装成一单独的Msg结构体;消息过滤模块,其用于对所有的Msg结构体进行过滤,去除相同的Msg结构体;广播模块,其用于将消息过滤模块过滤后的Msg结构体广播给应用程序。在上述技术方案的基础上,所述推送消息包括消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容,所述推送模块用于将推送消息的消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容封装成一Msg结构体。在上述技术方案的基础上,对于内容相同的推送消息,推送模块所封装成的Msg结构体相同,对于内容不同的推送消息,推送模块所封装成的Msg结构体不同。在上述技术方案的基础上,当应用程序在广播模块上注册后,广播模块将推送消息广播给应用程序。在上述技术方案的基础上,所述推送模块包括封装模块,所述封装模块用于将推送消息封装成一单独的Msg结构体。与现有技术相比,本专利技术的一种适用于不同推送SDK的统一接入方法的优点在于:(1)对推送消息进行封装处理,仅保留应用程序所需要的消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容,去掉各个厂商的推送SDK的推送消息的差异点,使得应该程序能够接受多个厂商的推送SDK的推送消息,避免应用程序的开发者为适配不同推送SDK而进行的编程工作量;(2)对推送消息封装后的Msg结构体进行过滤处理,保证推送消息的单一性。本专利技术的一种适用于不同推送SDK的统一接入系统的优点在于:推送模块将推送消息封装处理成Msg结构体,去除各个厂商的推送SDK所推送消息的差异点,仅保留应用程序所需的消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容,相当于一统一数据的处理接口,然后消息过滤模块对封装形成的Msg结构体进行过滤处理,保证推送消息的单一性,然后广播模块将Msg结构体广播给应用程序,完成应用程序对推送消息的接收。附图说明图1为本专利技术一种适用于不同推送SDK的统一接入方法的流程图。具体实施方式以下结合附图对本专利技术作进一步详细说明。参见图1所示,本专利技术提供一种适用于不同推送SDK的统一接入方法,用于对不同推送SDK的推送消息进行处理后,将推送消息接入到智能手机设备的应用程序中,从而使得应用程序能够适配不同厂商的推送SDK的集成方案,该方法包括:步骤S1:接收推送消息,并将每条推送消息封装成一单独的Msg结构体,其中,内容相同的推送消息的Msg结构体相同,内容不同的推送消息的Msg结构体不同,即内容相同的推送消息所封装成的Msg结构体相同,内容不同的推送消息所封装成的Msg结构体不同。推送消息主要包括消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容,消息额外携带内容为当消息需要扩展时所需使用的内容,若消息无需扩展,则消息额外携带内容为空。对于不同厂商的推送SDK的推送消息,均包括消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容,区别差异在于不同厂商对推送消息的内容所使用的集成方案、编码结构等其它结构,因此,对推送消息进行封装,仅保留应用程序所需要的消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容,去掉各个厂商的推送SDK的推送消息的差异点,使得应该程序能够接受多个厂商的推送SDK的推送消息,避免应用程序的开发者为适配不同推送SDK而进行的编程工作量。推送消息的封装步骤具体为:步骤S1.1:对推送消息进行解析,获取推送消息的消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容。推送消息的结构体组成为:即id表示消息唯一标示符,cmd表示消息命令字,msg表示具体消息内容,extr表示消息额外携带内容,id、cmd、msg和extr都属于推送消息的data数据,且id、cmd、msg和extr均采用Json(JavaScript对象表示法)格式进行编写,Json是一种轻量级的数据交换格式,具有易于机器解析和生成的特性。步骤S1.2:将推送消息的消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容的具体值封装到一单独的Msg结构体中,即将消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容使用Msg结构进行封装起来。Msg结构的定义如下:其中publicclass和privateString为Msg结构的构造词,Msg结构为智能手机设备的系统或Windows操作系统中程序所使用一种结构体,即消息是由Msg结构来表示的。步骤S2:对所有Msg结构体进行过滤,去除相同的Msg结构体。为了提高应用程序的消息接受率,保证推送SDK所推送的消息能够准确的被应用程序接受到,对于同一消息,推送SDK会进行多次推送,即会产生多个相同的推送消息,经本文档来自技高网...

【技术保护点】
一种适用于不同推送SDK的统一接入方法,用于处理不同推送SDK的推送消息,其特征在于,包括:步骤S1:接收推送消息,并将每条推送消息封装成一单独的Msg结构体,所述推送消息包括消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容;步骤S2:对所有的Msg结构体进行过滤,去除相同的Msg结构体;步骤S3:将经过过滤的Msg结构体广播给应用程序。

【技术特征摘要】
1.一种适用于不同推送SDK的统一接入方法,用于处理不同推送SDK的推送消息,其特征在于,包括:步骤S1:接收推送消息,并将每条推送消息封装成一单独的Msg结构体,所述推送消息包括消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容;步骤S2:对所有的Msg结构体进行过滤,去除相同的Msg结构体;步骤S3:将经过过滤的Msg结构体广播给应用程序。2.如权利要求1所述的一种适用于不同推送SDK的统一接入系统,其特征在于:内容相同的推送消息的Msg结构体相同,内容不同的推送消息的Msg结构体不同。3.如权利要求2所述的一种适用于不同推送SDK的统一接入方法,其特征在于,所述推送消息的封装步骤为:步骤S1.1:对推送消息进行解析,获取推送消息的消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容;步骤S1.2:将推送消息的消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容封装到一单独的Msg结构体中。4.如权利要求3所述的一种适用于不同推送SDK的统一接入方法,其特征在于:对所有Msg结构体的过滤步骤为:步骤S2.1:将所有Msg结构体存入一集合中;步骤S2.2:逐个读取集合中的Msg结构体,并将读取出的Msg结构体中的消息唯一标示符与还存在于集合中的Msg结构体的消息唯一标示符进行比对,若比对到相同的消息唯一标示符,则丢弃当前读取出的Msg结构体,若没比对到相同的消息唯一标示符,则将当前读取出的Msg结构体保存。5.如权利要求4所述的一种适用于不同推送SDK的统一接入方...

【专利技术属性】
技术研发人员:张磊
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北;42

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

1