2017-12-13 12 views
0

firebase realtime databaseを使用してAndroidアプリケーションを開発しています。私は2つの解決策が欲しい。firebaseリアルタイムデータベースを取得する方法同時ユーザー数と接続制限を減らすオプション?

1)これで、アクティブユーザー数(同時ユーザー)のデータは取得できません。

2)接続制限を減らすオプションがある場合。今のように私は100の接続を持っています。接続の制限を5に減らすオプションがあれば、なぜ100回目の接続後に何が起こるのかを確認したいのですが

私はもっと時間を費やしましたが、結果はありませんでした。

私はあなたに私に解決策を与えることを願っています。

おかげで...あなたが接続しているユーザー数を知りたい場合は

答えて

1

、あなたがdetect the connection stateする必要があります。 Firebaseリアルタイムデータベースクライアントの接続状態が変化するたびに更新され

/.info/connected 

:Firebaseリアルタイムデータベースは、特別な場所を提供します。ここにはoffical documentationの例があります。 /.info/connected

DatabaseReference connectedRef = FirebaseDatabase.getInstance().getReference(".info/connected"); 
connectedRef.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot snapshot) { 
     boolean connected = snapshot.getValue(Boolean.class); 
     if (connected) { 
      System.out.println("connected"); 
     } else { 
      System.out.println("not connected"); 
     } 
    } 

    @Override 
    public void onCancelled(DatabaseError error) { 
     System.err.println("Listener was cancelled"); 
    } 
}); 

値は、クライアントの状態に依存しているため、リアルタイムデータベースクライアント間で同期されませんブール値です。言い換えると、あるクライアントが/.info/connectedをfalseとして読み込んだ場合、別のクライアントもfalseを読み取るという保証はありません。

これはpostであり、理解を深めるためにお読みください。

2番目の質問については、1秒あたりの最大書き込み数に達しても、Firebaseデータベースをもう使用できなくなるわけではありません。 1001回目の同時接続が発生すると、操作のキューが作成され、Firebaseは1つの接続が終了するまで待機し、新しい接続を使用します。

+0

ありがとう@alexmamo。接続制限を変更するオプションがある場合 –

+1

プランを変更して接続制限を変更できます。 [価格リスト](https://firebase.google.com/pricing/)を参照してください。私の答えはあなたを助けたと思いますか? –

+0

もう1つの質問は、自動的に2番目のデータベースを変更したり、文法的に変更すると100個の接続が切断されたときに変更することができます。 –

関連する問題