14
iOSでFirebaseの永続性を有効にすると、実際に自分のオブザーバーに何が起こり、技術レベルでどのように動作しますか?Firebaseで永続性が有効になっていると実際に何が起こりますか?
これは、これに基づいてどのように高いレベルで動作するかを知っています。https://www.firebase.com/docs/ios/guide/offline-capabilities.html - Firebaseは基本的にオフラインでアクセスできるデータのキャッシュされたコピーを保持します。
私が理解していないことは、オブザーバーが何回発射すべきか、どんな情報であるかです。
- firebaseは、キャッシュされたデータを最初に1回だけ(またはデータがない場合はnull)、サーバーデータの後に常に1回オブザーバをトリガしますか?
- キャッシュされたデータが存在する場合は、キャッシュされたデータのみが送信され、その後にサーバーデータが送信されます。
- persistenceモードでobserverSingleValueと連続観察者の動作に違いはありますか?有効な永続性を持つ我々のアプリで
、私は気づいた:
- Firebaseはちょうどそれが、サーバのデータが存在する場合は、キャッシュされたデータを送信する
- Firebaseをサーバのデータを送信します。
- キャッシュされたデータを送信するFirebaseと、それが存在しない場合はnullを続けてサーバデータを送信します。
とても私たちは通常の動作であるべき知ってこれをクリアするとよいでしょう:)
ありがとうございましたMicheal、私は以前には見られなかったとしても、キャッシュされたデータとしてnullを取得する状況に気付きました。だから私はこれをバグとして報告します:)。 –
はい、それはバグかもしれないように聞こえます。あなたが行動を再現する方法を私たちに提供できれば、それはすばらしいことでしょう。私が言及したことを忘れてしまったことの1つは、キャッシュされたデータは、以前にサーバーから受信したデータか、ローカルに書き込んだデータのいずれかから取得できることです。そのため、コード内で(null)を設定すると、サーバーからデータを取得したことがない場合でも、その場所にヌルキャッシュされます。 –
'observeSingleEventOfType'でサーバーから最新のデータを取得するにはどうしたらいいですか?私はpersistenceEnabledを持っていて、一度最新のデータを取得したいだけですが、キャッシュされたデータを使用していない場合は – swalkner