【问题标题】:GCM duplicated messagesGCM 重复消息
【发布时间】:2013-02-12 16:01:28
【问题描述】:

我有一个基于 Google Cloud Messaging 的应用,它运行良好。现在(今天)突然之间它开始出现我们以前从未见过的问题。对于设备之间发送的每条消息,接收设备将获得两次。第一个将几乎立即到达(在发送后不到 3 秒内)。第二个在几分钟后到达。测试中有两台设备,无论哪一台是发送方/接收方,问题都是一样的。因此,如果一个设备向另一个设备发送一些消息,另一个设备会立即收到它们 - 但在稍后的时间,它会收到一连串消息,这是它收到的消息的第二个副本。

我设置了断点以确保发送设备不是罪魁祸首:消息只发送了一次(即发送的 Web 服务只调用了一次 - 以及运行在Google App Engine,很久没有改变了。)但是,消息以某种方式被传递到接收设备两次。通过使用断点,我还确保我们自己的接收端代码不负责:已验证 GCMIntentService::onMessage() 确实为每条发送的消息调用了两次。

我们还确保我们数据库中的注册 ID 是最新的。在这一点上,我很困惑,需要想法来取得进一步的进展。那么有什么想法吗?

【问题讨论】:

  • 作为用户我无法确认。大约 7 小时后,我每条消息都收到两次。来自 Facebook、Gmail 等。非常令人沮丧...我怀疑 gcm 有问题
  • Aeno:感谢您的确认。请您编辑您的帖子以说“可以确认”而不是“不能” - 这就是您的意思。有 Google Android 团队的人在看这个空间吗?官方对此有说法吗?
  • 这里也一样。从昨天开始,我们仍在开发中的应用收到重复的消息。
  • @user2113392:是的,我的意思是“可以”,但编辑期已经结束...... ;) 似乎问题已由谷歌解决

标签: android google-app-engine google-cloud-messaging


【解决方案1】:

https://groups.google.com/forum/#!topic/android-gcm/EHZUTEJMeyw

查看上面的官方 GCM 线程。每个人都在经历这个问题。谷歌的错!

【讨论】:

  • 谢谢约翰。今天似乎已经解决了。
【解决方案2】:

我们也有同样的问题,我们确定我们不会两次发送消息。 这可能是与此处解释的“规范 ID”相关的问题:http://developer.android.com/google/gcm/adv.html

[...] 但是,如果应用程序中的错误触发了同一设备的多个注册,则可能很难协调状态,并且您最终可能会收到重复消息

【讨论】:

    【解决方案3】:

    同样的问题。我们有许多与 MyMalcom 和 Urban Airship 集成的应用程序,自周一以来,所有这些应用程序都获得了两次推送。我们还检查了 Ferran 建议的 canonicalId 更改,但传递到 GCM 的消息是正常的(没有 cannonical Id 更改)。

    【讨论】:

      猜你喜欢
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 2013-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多