私はFirebaseリアルタイムデータベースを私のアプリケーションで使用しています。それは本当にうまく動作し、私はそれにかなり満足しています。しかし、最近、私は一部のユーザーがデータを失っているため、苦境に遭遇しました。Firebaseリアルタイムデータベースの整合性のない動作がオフラインモード
シナリオ#1
にインターネットに接続してアプリ(Firebase認証)へのユーザログが、データベースにいくつかのデータを追加します。
ユーザーはでインターネット接続でサインアウトし、再度サインインし、以前に保存されたデータが期待通りに存在します。インターネット接続が利用可能で、データがサーバーに同期されました。
シナリオ#2
は今、ユーザーが彼/彼女のインターネット接続をオフにします。いくつかのデータをデータベースに追加し、インターネット接続がオフの場合はのアプリからログアウトします。
ユーザーは、インターネット接続を再びオンにし、上記と全く同じ方法でアプリにログインします。
今度はユーザーは、アプリケーションがオフラインモードの間に追加されたデータを表示しません。私はsetPersistenceEnabled(true)
を持っており、通常の状況では完全に動作します。
問題
問題は、ユーザーがオフラインモードのときに永続化に失敗したということであるデータベースにいくつかのデータを追加します(何もインターネットが存在しないとしてサーバーに同期しない)とサインアウトオフラインモードを選択し、後で再度サインインします。
これは端的なケースですが、このバグのために貴重なデータを失ってしまったユーザーもいます。これを修正するには? Firebase Databaseのデフォルトの動作ですか?もしそうなら、これに対する回避策はありますか?
これを解決する方法についてご意見がありましたら、 –