почему gcm docs рекомендует аннулировать регистрацию при обновлении приложения?

Из ГКМдокументы:

When an application is updated, it should invalidate its existing registration ID, as it is not guaranteed to work with the new version. Because there is no lifecycle method called when the application is updated, the best way to achieve this validation is by storing the current application version when a registration ID is stored. Then when the application is started, compare the stored value with the current application version. If they do not match, invalidate the stored data and start the registration process again.

Когда в документах указано, что «работа с новой версией не гарантируется» Это ограничение GCM или они спекулируют на предмет возможных изменений в поведении моего приложения от версии к версии?

Со стороны приложения я могу более или менее гарантировать, что последующие версии будут работать должным образом в отношении GCM и любого формата сообщения для конкретного приложения, который я придумал. Мне все еще нужно перерегистрировать?

Если да, что я должен использовать для обнаружения «новой версии»: код версии или название версии? Насколько я понимаю, это "свободная форма" и разработчик приложения устанавливает их на любые значения, которые он выбирает. Итак, что, если я помещу обновление приложения в магазин, но не меняю versionName или versionCode; мне нужно будет повторно зарегистрироваться в GCM?

Вроде как то, что GCMactually Требуется, чтобы приложение перерегистрировалось каждый раз, когда новая установка запускается впервые (и каждый раз, когда оно успешно запускается до завершения регистрации), независимо от значений в versionName и versionCode. Это точное утверждение?

Ответы на вопрос(2)

Ваш ответ на вопрос