GCM duplicó mensajes

Tengo una aplicación basada en Google Cloud Messaging y funcionaba bien. Ahora (hoy) de repente comenzó a tener un problema que nunca hemos visto antes. Para cada mensaje enviado entre dispositivos, el dispositivo receptor lo obtendrá dos veces. El primero llegará casi al instante (dentro de menos de 3 segundos del envío). El segundo llega unos minutos más tarde. Hay dos dispositivos en la prueba, el problema es el mismo cualquiera que sea el remitente / receptor. Por lo tanto, si un dispositivo envía un mensaje a otro, el otro los obtendrá prácticamente al instante, pero luego, en un momento posterior, recibirá una avalancha de mensajes que son las segundas copias de los mensajes que ha recibido.

He puesto en puntos de interrupción para asegurarse de que el dispositivo de envío no fue el culpable: el mensaje se envió exactamente una vez (es decir, el servicio web para el envío se llamó exactamente una vez – y el código para el backend, que se ejecuta en Google App Engine , No ha cambiado por edades.) Sin embargo, el mensaje de alguna manera se entrega al dispositivo receptor dos veces. Mediante el uso de puntos de interrupción también me aseguré de que nuestro propio código en el lado de recepción no es responsable: se verifica que GCMIntentService::onMessage() hecho se invoca dos veces para cada mensaje enviado.

También nos aseguramos de que el ID de registro en nuestra base de datos sea el más reciente. En este punto estoy stumped y necesita ideas para hacer cualquier progreso. Entonces, ¿alguna idea?

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

Compruebe el hilo oficial de GCM anterior. Todo el mundo está experimentando este problema. Culpa de Google!

También tenemos el mismo problema, y ​​estamos seguros de que no enviamos el mensaje dos veces. Podría ser un problema relacionado con lo que se explica aquí acerca de "Canonical IDs": http://developer.android.com/google/gcm/adv.html

[…] Sin embargo, si un error en la aplicación activa varios registros para el mismo dispositivo, puede ser difícil reconciliar el estado y es posible que acabe con mensajes duplicados .

El mismo problema aqui. Tenemos muchas aplicaciones integraded con MyMalcom y Urban Airship y todos ellos están recibiendo empujes dos veces desde el lunes. Hemos comprobado también los cambios canonicalId como lo sugiere Ferran, pero los mensajes entregados a GCM son correctos (no hay cambios de Id cannonical).

  • java.awt.AWTError: Toolkit no encontrado: apple.awt.CToolkit Android appengineUpdate
  • Sube fotos de la aplicación de Android a Google Cloud Storage / App Engine - carácter ilegal '_'
  • Alcance de acceso utilizando el nombre de tipo en Google Cloud / Android Mobile Backend Starter
  • Suscripciones a la búsqueda prospectiva de Google App Engine Cuota excedida
  • No se puede conectar a los puntos finales gae locales del emulador de Genymotion
  • EOFException durante el uso de puntos finales de google
  • Protección de los puntos finales de Google App Engine
  • GAE no reconoce la cookie?
  • No se pudo resolver: com.google.firebase: firebase-database: 10.2.0
  • Qué es "serviceAccountKey.json" que se refiere en el tutorial de notificaciones de dispositivo a dispositivo de Firebase
  • Desde la API de archivos Blobstore obsoleta hasta blobs de servicio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.