您可以简单地使用Firebase数据库在您寻找时创建聊天应用程序。实际上有很多针对该特定应用程序的教程。
通常情况下,结构会是这个样子:
{
"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)
因此,只要用户通过您的应用程序发送一条消息,你只需要创建messages
下一个新节点,更新chats
下的相应条目。我会发布更多关于客户端的过程,但我不知道你使用的
编辑
澄清远一点,你要听的chats
节点的平台你的平台进行任何更改,一旦最后一条消息的timestamp
从您存储在设备上的内容发生更改,就会检查messages
。那么,或者你可以简单地在messages
中收听childAdded
。
关于你的评论,你并不真正需要FCM在这种情况下,除非你想推送通知,在这种情况下,你需要自己的服务器,要监听的变化,以及和适当的调度通知。
听起来你需要Firebase实时数据库。 –
也许,你的意思是,让每个注册微粒聊天的用户都可以在Firebase实时数据库密钥上进行收听?但是如果用户目前没有使用该应用程序,那么该用户将不会收到正确的消息? –