GCM duplizierte Nachrichten

8

Ich habe eine App basierend auf Google Cloud Messaging und es funktionierte gut. 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 ein paar Nachrichten an das andere sendet, wird es das andere sofort erhalten - aber zu einem späteren Zeitpunkt wird es eine Flut von Nachrichten erhalten, die die zweiten Kopien der Nachrichten sind, die es empfangen hat. p>

Ich habe Haltepunkte gesetzt, um sicherzustellen, dass das sendende Gerät nicht der Tä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 weiterläuft Google App Engine, hat sich seit Jahren nicht geändert.) Die Nachricht wird jedoch zweimal an das empfangende Gerät gesendet. Durch die Verwendung von Breakpoints habe ich auch sichergestellt, dass unser eigener Code auf der Empfängerseite nicht verantwortlich ist: Es wurde 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 aktuell ist. An diesem Punkt bin ich ratlos und brauche Ideen, um weitere Fortschritte zu machen. Also irgendwelche Ideen?

    
user2113392 27.02.2013, 00:27
quelle

3 Antworten

5

Ссылка

Überprüfen Sie den obigen offiziellen GCM-Thread. Jeder erlebt dieses Problem. Google ist schuld!

    
John 27.02.2013, 11:22
quelle
0

Wir haben auch das gleiche Problem, und wir sind sicher, dass wir die Nachricht nicht zweimal senden. Es könnte sich um ein Problem handeln, das sich auf das Thema "Kanonische IDs" bezieht: Ссылка

  

[...] Wenn jedoch ein Fehler in der Anwendung mehrere Registrierungen für dasselbe Gerät auslöst, kann es schwierig sein, den Status zu vereinbaren, und Sie könnten doppelte Nachrichten erhalten.

    
Ferran Maylinch 27.02.2013 11:05
quelle
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 überprüft, wie von Ferran vorgeschlagen, aber die an GCM gelieferten Nachrichten sind in Ordnung (keine kanonischen ID-Änderungen).

    
Dani C. 27.02.2013 11:39
quelle