2013-07-25 22 views
7

Czy istnieje sposób przywrócenia żądania powiadomienia umieszczonego na serwerze GCM?wycofanie/anulowanie powiadomienia gcm z Androidem

W odpowiedzi na zapytanie o przesłanie wiadomości GCM do serwera GCM. Jeśli użytkownik zobaczy wiadomość w Internecie, zanim przejdzie do trybu online w telefonie komórkowym, żądanie GCM powinno zostać wycofane. A użytkownik nie powinien widzieć powiadomienia w telefonie komórkowym.

Odpowiedz

1

Nie ma wbudowanego mechanizmu takiego wycofywania w przypadku, o którym piszesz. Możesz spróbować wdrożyć to samemu - gdy serwer zauważy, że wiadomość była wyświetlana w Internecie, możesz wysłać kolejną wiadomość GCM do urządzenia z danymi, które reprezentują potrzebę wycofania. Kiedy przetwarzasz tę wiadomość, wyczyść wszystkie powiadomienia utworzone przez aplikację na tym urządzeniu (nie jestem pewien, czy to możliwe, musisz to sprawdzić).

Istnieje podobny mechanizm w podobnym przypadku - jeśli użytkownik ma wiele urządzeń z Androidem i wysyłasz wiadomość GCM do wszystkich z nich (przy użyciu nowej funkcji user notifications), gdy użytkownik wyświetli powiadomienie na jednym urządzeniu, zostanie automatycznie usunięty z innych urządzeń.

  • Jeśli wiadomość została potraktowana na jednym urządzeniu, wiadomość GCM na innych urządzeniach są oddalone. Jeśli na przykład użytkownik załączył powiadomienie z kalendarza na jednym urządzeniu, powiadomienie zniknie z innych urządzeń użytkownika.
  • Jeśli wiadomość nie została jeszcze dostarczona do urządzenia i została obsłużona, serwer GCM usuwa ją z kolejki niewysłanej na inne urządzenia.
Powiązane problemy