2

Firebase iOS の実装では、クライアント モデルのオフライン キャッシュがサポートされていないようです。これが実際に意味することは次のとおりです。

  • 認証が必要な Firebase アプリの場合、データの移動を開始する前に、最初に認証を行い、Firebase がログインを完了するのを待つ必要があります (ユーザー ID の確認、ソケットのオープンなど)。少なくともここフィンランドでは、ネットワークの状態にもよりますが、これには 1 ~ 8 秒 (通常は 2 ~ 5 秒) かかります。
  • 認証後、Firebase は最初にデータの初期セットをダウンロードし、クライアント キャッシュを初期化します。これを実行する時間は、リスナーを追加するデータのサイズによって異なりますが、通常は非常に高速です。

ここでの問題は、Firebase を使用してメッセージング アプリなどを実装している場合、バックエンド サーバーとの実際の接続が確立される前に、以前にキャッシュされたバージョンのメッセージ スレッドとメッセージをユーザーに表示したい可能性が高いことです。設立。

これを適切に実装するには、次の処理が必要になると思います。

  1. クライアント側モデル <-> Firebase JSON マッピング (これには Mantle を使用します)
  2. クライアント側モデルをディスクに永続化する (NSKeyedArchiver や Core Data などを使用した手動実装?)
  3. 接続が利用可能な場合に、ディスク上のモデルをメモリ内の Firebase にリンクされたモデルと同期する (手動実装?)

2) と 3) を達成するための解決策 (自社またはサードパーティ) を思いついた人はいますか?

4

3 に答える 3

3

ここで説明されている iOS 用クライアント内に、このテクノロジーのベータ版があります: https://groups.google.com/forum/#!topic/firebase-talk/0evB8s5ELmw 試してみて、どうなるかグループに知らせてください。

于 2014-06-27T14:59:50.273 に答える
0

iOS で Firebase を永続化するために必要な行は 1 行だけです

    FIRDatabase.database().persistenceEnabled = true

こちらのFirebase Docsで見つけることができます

于 2016-12-24T17:00:53.130 に答える