FireStoreオンラインオフライン時の処理

FireStoreは便利ですが、下記の問題が発生します。

オンラインからオフラインになったときの微妙なタイミングで、クエリのレスポンスが異常にかかる事象

解決策として下記を行いました。

プログラム上で、オンライン、オフラインの状態が変わった時に、明示的にFIrestoreに対して下記の処理を追記

オンラインの時

FirebaseFirestore.getInstance().enableNetwork();

オフラインの時

FirebaseFirestore.getInstance().disableNetwork();

ただし、明示的に行ってもリスナーの回答が遅いケースが稀に発生します

FirebaseFirestore.getInstance().collection(document_path)
.orderBy("updated_date", Query.Direction.DESCENDING)
.get()
.addOnCompleteListener(task -> {
データの登録が完了しているのに、ここが呼ばれない場合がある
});

UI更新が絡んでいる場合は、addOnCompleteListenerの中で行わず、外でやるしかないのか。。。
アドバイスお待ちしております。

One thought on “FireStoreオンラインオフライン時の処理”

  1. はじめまして!
    私も同じ問題で悩んでいます😭
    色々知れべていてこの問題がforestoreの問題でfirestoreチームも認識していることまではわかったんですけど対策が見つかりません!
    もしまだ直ってないのであれば色々情報共有していきたいです🙇‍♂️

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Bitnami