2016-03-11 3 views
0

Я разрабатываю приложение для Android с GCM.О регистрации GCM В приложении Android при переносе устройства

Я получаю registrationId для отправки push-уведомления по следующему коду, а затем сохраните его в SharedPreferences.

registrationId = gcm.register("xxxxx"); 

Когда мое приложение передается от устройства к другому средство резервного копирования, я думаю, каждый данные, которые хранятся в SharedPreferences передаются.

Тогда я думаю, что выше registrationId неактивен в новом устройстве.

Это правда?

Если это правда, что является лучшим способом решить эту проблему?

Должен ли я всегда получать последнюю регистрацию, а затем, если она отличается от той, что хранится в SharedPreferences, сохраните новую?

ответ

1

Да Это правда. «Для приложений, использующих облачные сообщения Google (GCM) для push-уведомлений, резервное копирование регистрационного токена, возвращаемого регистрацией облачных сообщений Google, может привести к неожиданному поведению в уведомлениях для восстановленного приложения. Это связано с тем, что когда пользователь устанавливает ваше приложение на новом устройства, приложение должно запросить API GCM для нового регистрационного токена.Если старая регистрация присутствует, поскольку система поддержала ее и восстановила, приложение не ищет новый токен. Чтобы предотвратить возникновение этой проблемы, исключить регистрационный токен из набора резервных файлов ». -Привлечено от developers.android.com

+0

Благодарим вас за ответ. Можно ли программным образом исключить только токен регистрации из резервного файла? – supermonkey

+0

Вы можете исключить набор ресурсов с тегом exclude. – Bedant

+0

Bedant

Смежные вопросы