私のiOSアプリケーションでは、firebase observeEventType:FIRDataEventTypeChildChanged
を使用して、特定のノードのリアルタイム更新を取得しています。しかし、ユーザーがオフラインになると、ノードは数回更新されます。しかし、ユーザーがオンラインになると、ユーザーは以前の更新を取得できません。これには解決策がありますか?FIRDataEventTypeChildChangedがオフラインで動作していませんか?
0
A
答えて
3
Firebase Realtime Databaseは状態を同期します。すべての中間状態の変更を(明示的に)同期化しません。
クライアントがオフラインのときに同じノードに複数の変更があった場合、実際には最終状態のみが表示されます。
Client1 Database Client2
Start listener
write 1 --> 1 --> 1
write 2 --> 2 --> 2
Go offline
write 3 --> 3
write 4 --> 4
Go online
--> 4
write 5 --> 5 --> 5
したがって、上記の図では、クライアント2は値のみ1、2および5とを値5が書き込まれる正確場合に応じて、あまりにも値4を参照してもよいでしょう。ただし、値3が表示されません。
再接続時に各状態の変更をクライアント2に通知する場合は、データベースに正確な状態の変更を保存する必要があります。したがって、結果の値を格納する代わりに、操作を保存します。ような何か:あなたのクライアントは/Changes
に耳を傾けている場合今
Changes: {
"-PushId1": { value: 1 },
"-PushId2": { value: 2 },
"-PushId3": { value: 3 },
"-PushId4": { value: 4 },
"-PushId5": { value: 5 }
}
は、起こったすべての変更を確認することが保証されます。
関連する問題
- 1. サービスワーカーがオフラインで作業していません
- 2. アドミンLTEアイコンがオフラインで機能していませんか?
- 3. Phonegapイベントはオンライン/オフラインでは動作しません
- 4. php loginはオフラインで動作しますが、オンラインではありません
- 5. JQUERY JSON AJAXはオフラインで動作しますが、オンラインではありません
- 6. オフラインでチャートが動作しない
- 7. Microsoftボットフレームワークエミュレータがオフラインで動作しない
- 8. RewriteRuleが動作していないか、動作していませんか?
- 9. SMTPの電子メールはオフラインでは動作しますが、オンラインでは動作しません。
- 10. オフキャンバスがファンデーション6.2で動作していませんオフキャバスがファンデーションで動作していません
- 11. ループバック:埋め込みモデルがオフライン同期で動作しません
- 12. アンドロイドウェブビュージオロケーションが動作していません
- 13. スティッキーフッタが動作していません
- 14. move_upload_file()が動作していません
- 15. フレックスボックスが動作していません
- 16. passenger_max_pool_sizeが動作していません
- 17. MarkerOnClickListenerが動作していません
- 18. .substring()が動作していません
- 19. Placepicker.jsが動作していません
- 20. UTMが動作していません
- 21. worksheet_calculate()が動作していません
- 22. UrlRewriteModuleが動作していません。
- 23. ブートストラップカルーセルが動作していません
- 24. イベントハンドラが動作していません
- 25. ファンシーボックスが動作していません
- 26. formObject.submit()が動作していません
- 27. add_post_meta()が動作していません
- 28. rvictlが動作していません
- 29. tableView.reloadData()が動作していません
- 30. ドメインが動作していません
はい。しかし、ユーザーがオフラインになったときに、いくつかの新しい子ノードが追加されました。その後、ユーザーは再接続し、 'observeEventType:FIRDataEventTypeChildChanged'の変更を受け取りません。しかし、変更は 'FIRDataEventTypeValue'と' FIRDataEventTypeChildAdded'を受け取り、再接続後に何も変更されません。 – isuru