2013-02-27 12 views
8

Mam aplikację opartą na Google Cloud Messaging i działała dobrze. Teraz (dzisiaj) nagle zaczął się problem, którego nigdy wcześniej nie widzieliśmy. W przypadku każdej wiadomości wysyłanej między urządzeniami urządzenie odbiorcze otrzyma ją dwukrotnie. Pierwszy pojawi się niemal natychmiast (w ciągu mniej niż 3 sekund od wysłania). Druga pojawia się kilka minut później. W teście są dwa urządzenia, problem jest taki sam, niezależnie od tego, który z nich jest nadawcą/odbiorcą. Jeśli więc urządzenie wyśle ​​kilka wiadomości do drugiej, drugie dostanie je od razu - ale później otrzyma ostrze wiadomości, które są kopiami wiadomości, które otrzymała.Powielone wiadomości GCM

Wprowadziłem punkty przerwania, aby upewnić się, że urządzenie wysyłające nie było sprawcą: wiadomość została wysłana dokładnie raz (tj. Usługa internetowa do wysłania została wywołana dokładnie raz - i kod dla zaplecza, który działa na Google App Engine, nie zmienia się od wieków.) Jednak jakoś wiadomość zostanie dostarczona do urządzenia odbierającego dwa razy. Używając punktów przerwania, upewniłem się również, że nasz własny kod po stronie odbiorcy nie jest odpowiedzialny: sprawdza się, że GCMIntentService::onMessage() rzeczywiście jest wywoływany dwukrotnie dla każdej wysyłanej wiadomości.

Upewniliśmy się również, że identyfikator rejestracji w naszej bazie danych jest najnowszy. W tym momencie jestem zaskoczony i potrzebuję pomysłów, aby poczynić dalsze postępy. Jakieś pomysły?

+0

Nie mogę tego potwierdzić jako użytkownik. Od około 7 godzin otrzymuję każdą wiadomość dwa razy. Z Facebooka, Gmaila i tak dalej. Bardzo frustrujące ... Podejrzewam, że problem z gcm – aeno

+0

Aeno: dzięki za potwierdzenie. Czy mógłbyś edytować swój post, by powiedzieć "może potwierdzić" zamiast "nie mogę" - to właśnie miałeś na myśli. Czy ktoś z zespołu Google Android obserwuje tę przestrzeń? Czy jest na to jakieś oficjalne słowo? – user2113392

+1

To samo tutaj. Nasza wciąż rozwijająca się aplikacja od wczoraj otrzymuje powielone wiadomości. – swehrli

Odpowiedz

0

Mamy ten sam problem i jesteśmy pewni, że nie wyślemy tej wiadomości dwukrotnie. To może być problem związany z co wyjaśniono tutaj o „kanonicznej identyfikatory”: http://developer.android.com/google/gcm/adv.html

[...] Jednakże, jeśli błąd w aplikacji powoduje wielokrotne rejestracje dla tego samego urządzenia, to może być trudne do uzgodnij stan i możesz skończyć z duplikatami wiadomości.

0

Ten sam problem tutaj. Mamy wiele aplikacji zintegrowanych z MyMalcom i Urban Airship, a wszystkie od poniedziałku jeżdżą dwa razy. Sprawdziliśmy również zmiany kanoniczne, zgodnie z sugestią Ferran, ale dostarczone do komunikatów GCM są w porządku (nie zmienia się cannonical Id).

Powiązane problemy