Firebaseデータベースを使用して、シームレスにチャットアプリを作成できます。その特定のアプリケーションのチュートリアルが実際にたくさんあります。
一般的に、構造は次のようになります。ユーザーがあなたのアプリを介してメッセージを送信するときので、あなただけのmessages
の下に新しいノードを作成したい
{
"chats": {
"one": {
"title": "Historical Tech Pioneers",
"lastMessage": "ghopper: Relay malfunction found. Cause: moth.",
"timestamp": 1459361875666
},
"two": { ... },
"three": { ... }
},
"members": {
"one": {
"ghopper": true,
"alovelace": true,
"eclarke": true
},
"two": { ... },
"three": { ... }
},
"messages": {
"one": {
"m1": {
"name": "eclarke",
"message": "The relay seems to be malfunctioning.",
"timestamp": 1459361875337
},
"m2": { ... },
"m3": { ... }
},
"two": { ... },
"three": { ... }
}
}
(source)
をし、該当するエントリをchats
の下に更新します。私は、クライアント側のプロセスについての詳細を掲載したいが、私はあなたが
ビットさらに明確にするために、あなたは上のchats
ノードに耳を傾けなければならない
EDITを使用しているどのプラットフォームわからないんだけど、あなたのプラットフォームを変更するには、最後のメッセージのtimestamp
がデバイスに保存されているものから変更されたら、messages
をチェックします。それとも、単にchildAdded
をmessages
で聞くことができます。
通知をプッシュする必要がある場合を除き、この場合FCMは実際には必要ありません。その場合は、変更をリッスンして適切に通知する独自のサーバーが必要です。
Firebase Realtime Databaseが必要なようです。 –
yea多分、あなたは微粒子のチャットに登録している各ユーザがFirebaseのリアルタイムデータベースの鍵を聴くことができるのですか?しかし、ユーザーが現在このアプリを使用していない場合、そのユーザーはメッセージを正しく受け取ることができません。 –