2016-11-26 12 views
0

私はこれをやっている方法を考えていましたが、これまでのところ見つけられませんでした。私は、多くのソーシャルネットワークのように、ユーザーにオンライン/オフライン状態を見せてもらいたい。たとえば、各ユーザーのブール値です。真はオンラインを意味し、偽はオフラインです。しかし、いつ私はブール値をfalseに設定するのですか?ユーザーがアプリケーションを終了する瞬間は良い瞬間のように思えますが、私の調査では、アプリケーションが強制終了されたかどうかを確認する方法はありません。Firebaseを使ってユーザのオンライン/オフライン状態を追跡する

Firebaseを使用して、または自分のサーバーなどを使って、ユーザーのオンライン状態をどのように追跡しますか。私は好奇心が強いです

オンラインとオフラインと言っているのは、ユーザーがその時点でアプリを使用している場合です。

+0

https://firebase.google.com/docs/database/android/offline-capabilities#section-connection-state –

答えて

0

インターネット接続用のリスナーを設定できます。インターネットが接続されているかどうかを確認する。接続されていない場合は、ブール値をfalseに設定し、インターネットが接続されている場合はbooleanがtrueになります。コードを見て:

ConnectivityManager cm =(ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); 
    boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting(); 

    if(isConnected) 
    { 
     // set your boolean to true 
    } 
    if(!isConnected) 
    { 
     // set your boolean to false here 
    } 
+0

を参照してください。このコードはサービスの権利内にありますか? – user6650650

+0

サービスを選択することができます。 – CopsOnRoad

+0

@Jackこのコードは疑問にお答えしますか? –

0

Firebaseはここで特別な.info/connectedパスを介して

var amOnline = new Firebase('https://<demo>.firebaseio.com/.info/connected'); 
var userRef = new Firebase('https://<demo>.firebaseio.com/presence/' + userid); 
amOnline.on('value', function(snapshot) { 
    if (snapshot.val()) { 
    // User is online. 
    userRef.set(true); 
    } else { 
    // User is offline. 
    // WARNING: This won't work! See an explanation below. 
    userRef.set(false); 
    } 
}); 

これを行うための便利な方法を提供し、ユーザーの状態を追跡することについての素晴らしい説明です。 https://firebase.googleblog.com/2013/06/how-to-build-presence-system.html

関連する問題