2016-06-01 11 views
7

FirebaseDatabase offre due metodi per fare una linea client:Perché due metodi per il client FirebaseDatabase sono offline?

DatabaseReference.goOffline()

disconnettere manualmente il client di database Firebase dal server e disabilitare la riconnessione automatica. Nota: l'attivazione di questo metodo inciderà su tutte le connessioni al database Firebase.

FirebaseDatabase.goOffline()

Chiude la nostra connessione al backend database Firebase fino GoOnline() viene chiamato.

Una chiamata al FirebaseDatabase.getInstance().goOffline() produce i risultati attesi:

  1. ValueEventListener per ".info/collegati" fuochi per la disconnessione
  2. OnDisconnect azione esegue
  3. ValueEventListener s per modifiche remote non sparare , quelli per le modifiche locali sono
  4. CompletionListener s non si attiva

Una chiamata a DatabaseReference.goOffline() sembra non avere alcun effetto. Non si verifica alcuno dei comportamenti sopra elencati. È rotto? In caso contrario, in che cosa differisce dagli altri goOffline()?

+0

Posso confermare lo stesso comportamento. Solo FirebaseDatabase.getInstance(). GoOffline() sembra funzionare. –

+0

@NizamMohideen: nel mio post originale avrei dovuto indicare la versione della libreria su cui ho provato, ora non ricordo. Non ho ripeterlo usando 9.2.1. Quale versione hai usato? –

+0

Questo comportamento è visto su 9.0.2 –

risposta

2

Questa è stata una svista nella versione 9.x. FirebaseDatabase.getInstance().goOffline()/goOnline() sono i metodi corretti da utilizzare e DatabaseReference.goOffline()/goOnline() sono effettivamente danneggiati e verranno rimossi in una versione futura. Dispiace per la confusione!