2013-02-27 9 views
8

Ich habe eine App basierend auf Google Cloud Messaging und es hat gut funktioniert. Jetzt (heute) hatte es plötzlich ein Problem, das wir noch nie zuvor gesehen hatten. Für jede Nachricht, die zwischen Geräten gesendet wird, erhält das empfangende Gerät es zweimal. Der erste wird fast augenblicklich ankommen (innerhalb von weniger als 3 Sekunden nach dem Senden). Der zweite kommt ein paar Minuten später an. Es gibt zwei Geräte im Test, das Problem ist das gleiche, egal, welcher der Sender/Empfänger ist. Wenn also ein Gerät eine Nachricht an die andere sendet, erhält die andere diese sofort, aber zu einem späteren Zeitpunkt erhält es eine Flut von Nachrichten, die die zweite Kopie der Nachrichten sind, die es empfangen hat.GCM duplizierten Nachrichten

Ich habe in Haltepunkte gesetzt, um sicherzustellen, dass das sendende Gerät nicht der Übeltäter war: die Nachricht wurde genau einmal gesendet (dh der Web-Service zum Senden wurde genau einmal aufgerufen - und der Code für das Backend, der läuft in Google App Engine wurde seit Jahren nicht geändert.) Die Nachricht wird jedoch zweimal an das empfangende Gerät gesendet. Durch die Verwendung von Haltepunkten habe ich auch sichergestellt, dass unser eigener Code auf der Empfängerseite nicht verantwortlich ist: Es wird verifiziert, dass GCMIntentService::onMessage() tatsächlich für jede gesendete Nachricht zweimal aufgerufen wird.

Wir haben auch sichergestellt, dass die Registrierungs-ID in unserer Datenbank die neueste ist. An diesem Punkt bin ich ratlos und brauche Ideen, um weitere Fortschritte zu machen. Also irgendwelche Ideen?

+0

Ich kann dies als Benutzer nicht bestätigen. Seit ca. 7 Stunden bekomme ich jede Nachricht zweimal. Von Facebook, Gmail und so weiter. Sehr frustrierend ... ich vermute ein Problem mit gcm – aeno

+0

Aeno: danke für die Bestätigung. Würdest du bitte deinen Beitrag bearbeiten, um zu sagen "kann bestätigen" anstelle von "cant" - das hast du gemeint. Hat jemand aus dem Google Android-Team diesen Bereich angesehen? Gibt es ein offizielles Wort dazu? – user2113392

+1

Das gleiche hier. Unsere noch in Entwicklung befindliche App empfängt seit gestern doppelte Nachrichten. – swehrli

Antwort

0

Wir haben auch das gleiche Problem, und wir sind sicher, dass wir die Nachricht nicht zweimal senden. Es könnte ein Problem im Zusammenhang sein, was über „Canonical-IDs“ hier erklärt hat: http://developer.android.com/google/gcm/adv.html

[...] Wenn jedoch ein Fehler in der Anwendung mehr Anmeldungen für das gleiche Gerät auslöst, kann es schwierig sein, Ausgleichen Zustand und Sie könnten mit doppelte Nachrichten enden.

0

Das gleiche Problem hier. Wir haben viele Apps integriert mit MyMalcom und Urban Airship und alle bekommen seit Montag zweimal Pushs. Wir haben auch die canonicalId-Änderungen geprüft, wie sie von Ferran vorgeschlagen wurden, aber die an GCM gelieferten Nachrichten sind in Ordnung (keine cannonischen Id-Änderungen).

Verwandte Themen