Я разрабатываю небольшое приложение с использованием сервиса GCM.Срок действия учетной записи GCM
Раньше я пытался отправь себе сообщение, но (на стороне сервера) ответ был:
"Успех": 0, "неудача": 1, "canonical_ids": 0, "результаты": [{ "ошибка": "NotRegistered"}]}
Но самого начало моего приложения я проверить это:
final String regId = GCMRegistrar.getRegistrationId(this); if (regId.equals(""))
{
// Register
GCMRegistrar.register(this, SENDER_ID);
}
else ...
кажется очевидным, что getRegistrationId() работает только штраф локально, (SharedPreferences?) ..
Приятно, что я никогда не делал Отменить регистрацию своего приложения, просто переустановите его, не меняя номер версии (потому что он находится в тесте, но все же), поэтому в этом случае моя учетная запись истекла, в этих случаях Google не должен пришлите мне еще один идентификатор, который я мог бы поймать здесь:
????
Однако есть ли безопасный способ понять, зарегистрировано ли мое приложение на сервере GCM?
Спасибо!
EDIT:
Я имею в виду это:
Когда я переустановить приложение через Eclipse, есть момент, где не установлен мое приложение, если GCM сервер отправить мне сообщение в тот момент нет получателя, и поэтому Google не подтверждает мой идентификатор. На ваш взгляд, эта идея, глупая идея?
Благодарим за ответ, в этом примере приложение сохранит REGID в sharedPreferences и в начале проверки, если regid был ранее сохранен. Я думаю, что getRegistratiodId() делает то же самое, но если пользователь получил что-то по этой функции, он не может быть уверен, что он действительно зарегистрирован GCM SERVER SIDE. – Edge7