Подтвердить что ты не робот

Идентификатор регистрации становится "NotRegistered" без причины

В течение апреля мы начали получать много ошибок NotRegistered. Согласно документам Google, это должно произойти только в том случае, если приложение было удалено или обновлено, но в нашем случае токен может " истекать" через ~ 40 минут, даже если абсолютно ничего не происходит с устройством.

И что делает вещи даже стоящими, если, скажем, reg_id_1 "истек", а сервер возвращает ошибку NotRegistered "- мы заставляем клиента регистрироваться снова, но GCM предоставляет тот же токен, что и" NotRegistered". Обновление приложения не помогает. Только переустановка или пользователь reset (пользователь андроида).

Итак, вопрос - кто-нибудь сталкивается с той же проблемой и/или имеет какое-то решение?

P.S. Интересно, может ли быть связано с закрытием April ClientLogin и что-то не так на серверах Google? https://plus.google.com/+GoogleDevelopers/posts/RK1pw9Cy4Sd

UPD См. это для ответа от Google

4b9b3361

Ответ 1

Фактический ответ https://groups.google.com/d/msg/android-gcm/vkj_ph7vqRQ/b_Kq283wXUQJ

Эта проблема была вызвана в определенной конфигурации ( приложение, установленное в нескольких профилях андроида на одном и том же устройство) и определенную комбинацию событий. Только очень ограниченный эта проблема была затронута числом регистрационных идентификаторов, и вызов gcm.register() снова восстановит действительность сломанного учетно-идентификатор.

Ответ 2

Может быть несколько причин, по которым эта ошибка будет срабатывать на сервере

  • Приложение было удалено
  • Идентификатор истекает. До этого вы получите уведомление на своем сервере, что вы должны повторно подтвердить регистрацию.
  • Пользователи меняют свою учетную запись google и отправляют новый идентификатор
  • Обновление вашего приложения вызывает новый идентификатор, срок действия которого истекает.

Лучше всего удалить мертвый идентификатор из вашей БД и прекратить отправлять там сообщения.

Ответ 3

Посмотрите эту статью. Хотя некоторая информация там противоречива, есть много полезного документа, не документированного.