Looking for firebase Answers? Try Ask4KnowledgeBase
Looking for firebase Keywords? Try Ask4Keywords

firebaseCapacidades fuera de línea de Firebase


Introducción

En esta publicación encontrará las diferentes formas de implementar capacidades fuera de línea al usar Firebase , información sobre cuándo y por qué podría ser una buena idea habilitar capacidades fuera de línea y ejemplos de ello con la plataforma Android.

Observaciones

¿Qué debo usar? ¿La persistencia del disco o mantener llamadas sincronizadas?


Desde mi experiencia, puedo decir que siempre depende de lo que funcione su aplicación y de cómo administre las transacciones y la base de datos de su aplicación. Si, por ejemplo, tiene una aplicación en la que el usuario solo escribe y lee datos pero no puede eliminarlos o editarlos, usar DiskPersistence sería la opción correcta.

Además, DiskPersistence almacenará los datos en caché, lo que significa que su aplicación utilizará más espacio en los dispositivos del usuario, lo que tal vez no sea la mejor idea en su caso.

Por otra parte, si su aplicación gestiona muchas transacciones complejas y sus datos se actualizan muy a menudo, posiblemente deba evitar DiskPersistence y utilizar keepSynced en las referencias que desee mantener actualizadas.

¿Por qué?


DiskPersistence almacena los datos recuperados en local, lo que a veces puede causar gran cantidad de desincronización que muestra sus datos si no los usa junto con ListenerValueEvents continuo. Por ejemplo:

  1. El usuario A escribe un mensaje "Hello World" en su aplicación, que se recibe para el usuario B
  2. El usuario B descarga el mensaje del usuario A en su teléfono y ve el mensaje "Hola mundo"
  3. El usuario A edita su mensaje a "Firebase is cool".
  4. El usuario B seguirá viendo el mensaje "Hola mundo" incluso si actualiza los datos porque la referencia de la instantánea es la misma cuando Firebase lo filtra.

Para evitar esto, la mejor idea es mantener a los oyentes en las referencias que desea rastrear todo el tiempo.

¿Puedo usar los dos juntos?


Por supuesto que puede, y en la mayoría de las aplicaciones es posiblemente la mejor idea para evitar descargar muchos datos y ofrecer al usuario la posibilidad de trabajar con su aplicación, incluso si no tiene conexión.

Si no le importa usar el espacio de caché en el dispositivo del usuario, le recomiendo habilitar diskPersistence en su objeto FirebaseDatabase y también agregar un indicador keepSync a cada referencia que pueda tener muchas veces en un espacio de tiempo corto o que desee mantenerse fresco todo el tiempo.

Capacidades fuera de línea de Firebase Ejemplos relacionados