Изменить идентификатор отправителя в Android GCM
Я развернул приложение, используя неверный идентификатор проекта в качестве идентификатора отправителя для GCM. Я изменил его на правильный идентификатор отправителя. (Примечание: старый идентификатор действителен, только из неправильного проекта). Но теперь Google не отправляет обратно широковещательную рассылку onRegister() после вызова register() с новым идентификатором отправителя.
Я предполагаю, что это потому, что приложение уже зарегистрировано со старым идентификатором отправителя. Я слышал о 2 способах исправить это:
1) Вызовите GCMRegistrar.unregister(), чтобы удалить связь со старым идентификатором отправителя. Но как определить, что приложение работает под старым идентификатором отправителя? Я не хочу вызывать отмену регистрации на новых установках, только те, которые используют неправильный идентификатор.
2) Пользователь должен удалить приложение, и оно должно автоматически отменить регистрацию в GCM. Это работает на некоторых устройствах, но на других это не работает.
Так как же правильно отсоединить приложение от старого идентификатора отправителя и зарегистрировать его с новым идентификатором отправителя?