Firebase Realtime Databaseの一部のデータにkeepSynced()
を使用することを検討しています。私はそれが自動的にそれらのパスを同期することを理解します。しかし、それはAndroidのライフサイクルにどのように関係していますか?ユーザーがすべてのアクティビティを終了すると(通常のリスナーはすべて切断されます)、同期が停止しますか?私は、アプリがデータやバッテリーになることを望んでいません。AndroidとFCMでバックグラウンドでkeepSynced()を処理する
一方、FCM通知が届いたらキャッシュデータを更新したいと思います。私はFirebaseに接続するいくつかのサービスを立ち上げることができます。 keepSynced()
にあるすべてのパスを同期し、同期させたら停止したいと思います。私はそれを達成する方法がわかりません。パスの1つにリスナーを作成し、サービスをしばらく実行し続けますか?サービスが終了したら、同期を停止しますか?ここ
答えをいただきありがとうございます。私は2つのフォローアップの質問を持っています: 1)あなたは「システムはいつでも接続を閉じるかもしれない」と言います。それは大丈夫ですが、どれくらいの時間がかかるのか経験から知っていますか? (バッテリーとデータ消費量で測定) 2)バックグラウンドサービスを開始し、そこにgoOnline()を呼び出し、5分後にgoOffline()を呼び出すと、マークされたパスが同期されますas keepSynced()? –
1)いいえ、私はまともな評価基準を得ることはできませんでした。 2)私は確かに私たちがIOSchedで正確にそれをしたと思ったが、私は今、それのための特定のコードを見つけることができません。 :/ –
2)OK、私はいくつかの実験を行い、あなたに知らせます。 –