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的统一接入方法,其特征在于,所述步骤S3中Msg结构体广播给应用程序的具体过程为:步骤S3.1:获取Intent对象,并将Msg结构体的消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容保存到Intent对象中;
步骤S3.2:通过API将Intent对象发送给应用程序。
6.一种基于权利要求1所述方法的适用于不同推送SDK的统一接入系统,其特征在于,包括:推送模块,其用于接收推送消息,并将推送消息封装成一单独的Msg结构体;
消息过滤模块,其用于对所有的Msg结构体进行过滤,去除相同的Msg结构体;
广播模块,其用于将消息过滤模块过滤后的Msg结构体广播给应用程序。
7.如权利要求6所述的一种适用于不同推送SDK的统一接入系统,其特征在于:所述推送消息包括消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容,所述推送模块用于将推送消息的消息唯一标示符、消息命令字、具体消息内容和消息额外携带内容封装成一Msg结构体。
8.如权利要求7所述的一种适用于不同推送SDK的统一接入系统,其特征在于:对于内容相同的推送消息,推送模块所封装成的Msg结构体相同,对于内容不同的推送消息,推送模块所封装成的Msg结构体不同。
9.如权利要求6所述的一种适用于不同推送SDK的统一接入系统,其特征在于:当应用程序在广播模块上注册后,广播模块将推送消息广播给应用程序。
10.如权利要求6所述的一种适用于不同推送SDK的统一接入系统,其特征在于:所述推送模块包括封装模块,所述封装模块用于将推送消息封装成一单独的Msg结构体。