Меняет ли идентификатор регистрации, когда пользователь обновляет или переустанавливает приложение

Согласно http://developer.android.com/google/gcm/client.html#sample-register, регистрационный идентификатор изменился, когда я отправляю обновление для своего приложения, и пользователь обновляет его …

  1. Изменен ли идентификатор регистрации, когда пользователь удалит приложение, а затем снова установит его, если он установит ту же версию, что и раньше?
  2. Должен ли я проверять, обновляет ли пользователь приложение каждый раз, когда он вводит его, если да, приложение отправляет новый идентификатор регистрации на сервер.
  3. Есть ли уникальный идентификатор константы для каждого устройства, которое я могу получить и отправить на свой сервер?

СПАСИБО

Идентификатор регистрации не обязательно изменяется при установке новой версии приложения. Google рекомендует перерегистрироваться в GCM при запуске приложения после установки новой версии для устранения ошибки, которая может привести к тому, что устройство будет незарегистрировано, если сообщение GCM поступит во время установки новой версии.

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

  2. Да, это то, что вы должны делать. Вы можете увидеть пример кода, который делает именно это в демонстрации клиента .

  3. Вы можете создать свой собственный идентификатор и сохранить его во внешнем хранилище, чтобы он смог выжить после удаления приложения.

См. Также этот ответ .