dlaczego dokumenty gcm zalecają unieważnienie rejestracji w aktualizacji aplikacji?

Z GCMdocs:

Gdy aplikacja jest aktualizowana, powinna unieważnić istniejący identyfikator rejestracji, ponieważ nie ma gwarancji, że będzie działać z nową wersją. Ponieważ podczas aktualizacji aplikacji nie jest wywoływana żadna metoda cyklu życia, najlepszym sposobem osiągnięcia tego sprawdzenia jest przechowywanie bieżącej wersji aplikacji, gdy przechowywany jest identyfikator rejestracji. Następnie po uruchomieniu aplikacji porównaj zapisaną wartość z bieżącą wersją aplikacji. Jeśli się nie zgadzają, unieważnij zapisane dane i rozpocznij proces rejestracji ponownie.

Kiedy w dokumentach stwierdza się, że „nie ma gwarancji pracy z nową wersją”, czy jest to ograniczenie GCM, czy spekulują o potencjalnych zmianach w zachowaniu mojej aplikacji z wersji na wersję?

Od strony aplikacji mogę w mniejszym lub większym stopniu zagwarantować, że kolejne wersje będą działać poprawnie w odniesieniu do GCM i niezależnie od formatu wiadomości specyficznego dla aplikacji, który wymyślę. Czy nadal muszę się ponownie zarejestrować?

Jeśli tak, to z czego korzystać, aby wykryć „nową wersję”: kod wersji lub nazwę wersji? Rozumiem, że są to „darmowe formularze”, a twórca aplikacji ustawia je na dowolne wartości, które wybierze. Więc co, jeśli umieściłem aktualizację aplikacji w sklepie, ale nie zmieniam wersji wersji lub kodu wersji; czy muszę ponownie zarejestrować się w GCM?

Wygląda na to, co GCMtak właściwie chce, aby aplikacja ponownie rejestrowała się za każdym razem, gdy nowa instalacja jest uruchamiana po raz pierwszy (i za każdym razem, gdy jest uruchamiana sukcesywnie, dopóki rejestracja nie zostanie zakończona), niezależnie od wartości w versionName i versionCode. Czy to jest dokładne stwierdzenie?

questionAnswers(2)

yourAnswerToTheQuestion