2016-06-15 77 views
6

La documentazione di Firebase indica chiaramente che è necessario implementare FirebaseInstanceIdService per accedere a token aggiornati e che la registrazione manuale non è più necessaria, poiché la libreria si occupa di tutto il processo.Aggiornamento token Firebase

Il problema è che onTokenRefresh viene chiamato solo una volta e se qualcosa va storto nel processo di trasferimento sul mio server, l'applicazione deve attendere il prossimo aggiornamento o eseguire una disinstallazione/reinstallazione completa.

Posso applicare la stessa logica delle precedenti implementazioni GCM? Cioè, ad ogni avvio della mia domanda ho accesso token utilizzando FirebaseInstanceId.getInstance().getToken() e inviato al mio server, non importa se è già stato inviato. La stessa cosa è fatta in onTokenRefresh.

Questo approccio ha qualche trappola?

risposta

3

Quello che suggerisco che in un primo momento in cui si ottiene GETTONE memorizzato localmente (può essere in pref comune) e

fare una bandiera inizializzare come un falso

e poi cercare di invia TOKEN al tuo server che ha inviato con successo il flag ti true, e non è necessario inviare di nuovo.

+1

sono giunto alla stessa conclusione subito dopo l'inserimento della domanda, ma io accetterò la tua risposta, perché è corretto! – Alessandro

9

Inoltre, a quanto pare è possibile chiamare questa funzione al di fuori del servizio

FirebaseInstanceId.getInstance().getToken();

+1

risposta corretta, grazie – pisumathu

Problemi correlati