2015-04-25 10 views
10

Durante aprile, abbiamo iniziato a ricevere molti errori "NotRegistered". Secondo i documenti di Google dovrebbe accadere solo se l'app è stata disinstallata o aggiornata, ma nel nostro caso il token può "expire" in ~ 40 minuti anche se assolutamente nulla accade con il dispositivo.ID registrazione diventa "NotRegistered" per nessun motivo

E ciò che rende le cose ancora la pena è che se, diciamo reg_id_1 "scaduto" e ritorna di server 'NotRegistered' errore - spingiamo cliente per registrare di nuovo, ma GCM fornisce stesso motivo che è 'NotRegistered'. L'aggiornamento dell'app non aiuta. Aiuta solo la reinstallazione o il reset dell'utente (utente Android).

Quindi la domanda è: qualcuno incontra lo stesso problema e/o ha qualche soluzione?

P.S. Mi chiedo, può essere collegato all'arresto del ClientLogin di aprile e qualcosa è andato storto sui server di Google? https://plus.google.com/+GoogleDevelopers/posts/RK1pw9Cy4Sd

UPD Vedere questo per una risposta da parte di Google

+0

solo per essere sicuri, si controlla il token dal lato server durante l'invio di push? Voglio dire che non è valido? –

risposta

2

risposta reale è https://groups.google.com/d/msg/android-gcm/vkj_ph7vqRQ/b_Kq283wXUQJ

Questo problema è stato attivato in una configurazione specifica (l'applicazione installato in molteplici profilo Android sullo stesso dispositivo ) e una specifica combinazione di eventi. Solo un numero molto limitato di ID di registrazione è stato interessato da questo problema e chiamando gcm.register() di nuovo ripristinerebbe la validità dell'identificativo di registrazione rotto.

+0

Grazie per la condivisione –

2

Ci possono essere diverse ragioni per cui questo errore sarebbe sparando sul server

  • App è stato disinstallato
  • ID scade. Prima che venga notificato sul server, è necessario reintitolare la registrazione.
  • Gli utenti cambiano il loro account Google e inviano il nuovo ID
  • L'aggiornamento alla tua app causa un nuovo ID, quello vecchio scade.

È meglio rimuovere gli ID guasti dal DB e interrompere l'invio dei messaggi lì.

+0

Thx per la tua risposta, ma l'app non è stata disinstallata, l'utente non ha account Google e l'app non è stata aggiornata. Per quanto riguarda la scadenza dell'ID, quando riprendiamo la registrazione, GCM fornisce lo stesso token che è già scaduto. – Oleksandr

+0

qual è la tua API minima?gli utenti sono tenuti ad avere un account google su versioni Android inferiori alla 4.0.4 –

2

Dai un'occhiata allo this article. Sebbene alcune informazioni siano contraddittorie, ci sono molte cose utili non documentate.

Problemi correlati