android中的两个推送通知服务

Posted

技术标签:

【中文标题】android中的两个推送通知服务【英文标题】:Two Push Notification services in android 【发布时间】:2016-01-05 11:45:26 【问题描述】:

我已经将 Parse SDK 与我的项目集成,并实现了 Parse 推送通知,并且它运行良好。 但问题是: 当我在我的项目中集成另一个推送服务时,解析推送停止工作?

注意:

1.Parse使用自己的推送服务。

2.我尝试使用的新Push使用GCM推送服务。

它们之间是否存在冲突,或者我们有什么办法可以同时解决它们?

【问题讨论】:

afaik Parse 也使用 GCM,只是围绕它,此外,这个问题很大程度上取决于您的签名配置、服务器密钥和 gcm 项目设置,您至少必须描述您的设置 从云代码发送 JSON 并捕获该 JSON 并在接收器中使用它。 【参考方案1】:

当您在自己的项目中使用两个带有 Gcm 广播接收器的 Gcm 客户端时 - 最后注册的广播接收器将获取来自 Gcm 服务器的消息。换句话说 - 总是只有一个广播接收器会得到这些消息。在您的情况下 - 您添加的第二个服务正在接收 Gcm 消息,因为它是最后注册的,可能处理它自己的消息并丢弃其他消息。

在我的应用程序中遇到了类似的问题,我使用了一个使用 Gcm msgs 的库,而我的应用程序也在使用 Gcm。在应用程序清单中添加服务和广播接收器后 - 库停止接收 Gcm 消息。

解决方案并不优雅 - 在广播接收器的 onReceive 函数中 - 我区分了针对我的应用程序的 Gcm msgs 和针对我的广播接收器中的 lib 的消息,按照应有的方式处理了我的应用程序的消息和针对目标的消息lib - 我用 extras data 开始了一个新的意图,它触发了 lib 的广播接收器。我可以采用这种方法,因为我控制了应用程序和 lib 的代码。

希望这会有所帮助。

【讨论】:

以上是关于android中的两个推送通知服务的主要内容,如果未能解决你的问题,请参考以下文章

Android GCM Java 服务器 - 没有消息数据的推送通知

android 应用接收器中的推送通知,发送者 Web 服务

来自 UrbanAirship 的推送通知不适用于 android 中的实时服务器(即使用生产密钥)

向 Android Native App 中的好友列表发送推送通知

解析服务器中的推送通知

java中的Android GCM推送通知服务器端