2016-07-20 8 views
1

現在Firebaseを評価中です。私のアプリケーションでは、ユーザーがSQLite DBに格納されているエンティティ(カスタム演習)を作成できるようになりました。私はこれをFBに移したいが、私には質問がある。Firebaseリアルタイムデータベースのサーバとのパスの一致を制限する

私は、ユーザが自分のエクササイズを他のデバイスと同期できるように認証することを許可します。かなり標準的な使用例。しかし、ユーザーに自分のアプリのアカウントを持たせたくないので、同期を必要とせずに匿名で使うことができます。匿名のときにサーバーとの同期を無効にする方法はありますか?これは、匿名データをサーバーと同期させることは意味がありません。なぜなら、匿名データを取得できないため、デバイスや工場のリセットを変更すると、新しいIDが取得され、そのデータは破棄されます。

私が望むのは、ユーザが匿名である間に自分のものをFirebase RTDBだけにローカルに保存することですが、ログインすると同期します。それは可能ですか?

ありがとうございました。

答えて

0

Firebase Realtime Databaseはクラウドホスト型のデータベースで、ネットワークに接続されていない短い時間から中間の時間まで機能し続けます。無期限にオフラインで動作するデータベースを探していて、潜在的な同期だけがある場合は、Firebaseデータベースが現時点では適していない可能性があります。

+0

ありがとうございます。これが今後追加される可能性はありますか?私が望むのは、一般的な使用例のようです。 – EvilDuck

0

私があなたの質問を正しく理解していれば、データベースrulesを使用して目的の動作を達成できるはずです。

グローバルに読み込みを設定し、書き込みは認証されたユーザーのみに制限します。匿名ユーザーがアカウントを作成すると、ユーザーは書き込みアクセス権を取得し、すべてのローカルデータをデータベースにプッシュできます。

+0

しかし、書き込みが認証されたユーザーに限定されている場合、ユーザーはローカルのFBストレージにも書き込むことができません。私はルールがオンライン部分だけでなくデータベース全体に適用されていると思っていました。 – EvilDuck

+0

「自分のものを地元に保つ」と言ったとき、地元のことはどういう意味ですか?私はデバイス上でローカルに仮定しました。私が想定する別の方法は、すべてのユーザーに対して自動生成されたユーザーIDを作成することです。「非匿名ユーザー」は、自分自身を設定したカスタムユーザーIDを持つユーザーです。 – Bill

+0

「ローカル」はFirebaseリアルタイムデータベースにありますが、 。それらをサーバーに同期させないでください。 – EvilDuck

関連する問題