2017-11-26 6 views
1

私はアンドロイドの "グループチャット"アプリを開発しました。私と私の友人の20はお互いにチャットをグループ化するためにこのアプリを使用しています。 firebaseデータベースを見ると、明らかに21人のユーザーが表示されます(自分自身を含む)。しかし、私は彼らのすべてが実際に自分の携帯電話にインストールされているアプリを持っているのか、それともアンインストールしたのかわからない。私の用途の中で私が区別できる方法はありますか?一般的に言えば、私は、例えば、が無効、などのように私のユーザーに「フラグを立てる」ことができますか?firebaseのユーザーに "フラグを立てる"方法は?

答えて

0

質問が正しく理解されていれば、2つの部分に分割することができます。

最初の部分は、あなたのユーザーがオンラインであるか、これがhere

を説明したように、第2の部分は、ユーザーがアプリをインストールしたりアンインストールしたかどうかであるオンラインプレゼンスシステムによって達成することができたオフラインかどうかを知りたいかどうかです。 これを行う最も簡単な方法は、Firebase Analytics SDKを使用することです。こうすることでapp_removeの統計情報を確認できます。ユーザーがアプリをアンインストールすると、イベントセクションのコンソールで更新されます。

これは、アプリをアンインストールしたデバイスの数とユーザーの国、性別、年齢などの情報を提供しますが、これを「最後のログイン」タイムスタンプと組み合わせて正確なユーザーを特定できます。あなたのアプリとアナリティクスSDKを含める方法と一緒に

詳細は

hereを見つけることができるまたはあなたのクライアントコードでこの機能を持っているの.info /接続を使用することができます。このhereの詳細情報を読むことができ、ページの下部にあるサンプルプレゼンスアプリを使用すると、その操作方法を把握するのに役立ちます。

+0

ありがとうございます。実際、私の目的のためには、単なるオンラインプレゼンスシステムで十分でしょう。ただ一つのこと、私はこのシステムを使うために、私はウェブサーバーを持っている必要がありますか?私はもうファイアベースのフリー層に頼ることができないということです。正しい? – Mohsen

+0

私は自分の答えを更新しました。 Firebaseの無料の層はあなたの目的のために十分であるはずですので、そこに問題はありません。プレゼンスシステムを実装するには3つの方法があります:1)上記のように.info/connectedを使用する2)firebaseのクラウド機能を使用してアプリケーションにサーバー側のロジックを追加する(ブログ記事の指示に従って)3) Firebase server sdkを使ってPcに(コードが残っている限り)コードを実行するだけです。 –

+0

もう一度ありがとう。高く評価します。 – Mohsen

2

ログインするたびにタイムスタンプを追加するとどうなりますか?このタイムスタンプを使用すると、ユーザーがログインしていない時間が表示され、長時間アクティブであるかどうかを確認できます。ユーザーがアプリを削除したかどうかはわかりません。それは唯一の予後です。

+0

ありがとうございますが、firebaseに各ユーザのタイムスタンプを記録するにはどうすればよいですか?オプションは利用可能ですか? – Mohsen

0

解決策の1つは、データベースのフラグをユーザーの子として追加することです。このフラグの初期値はアクティブです。

、代わりの直接アプリをアンインストールするには、アプリで削除アカウント機能を持つことができ、誰かが彼/彼女のアカウントを削除したいときはいつでも、それは単にfirebaseデータベース内非アクティブにフラグを更新します。

実際には、がアクティブ/非アクティブであることがわかります。

+0

子供をファイヤーベースでユーザーに追加することは可能ですか?私はメッセージに子供を追加する方法を知っていますが、ユーザーですか? – Mohsen

+0

あなたを「現在のノード」に追加します。単に FirebaseDatabase.getInstance()。getReference( 'currentnode')。child( "users")を使用してください。 これにより、新しい子「ユーザー」が作成され、「ユーザー」ノードの子としてフラグを追加できます。そのシンプルなことは本当に簡単です。 – Hamza

+0

ありがとうございます! – Mohsen

関連する問題