我创建了一个聊天室,只有一个房间,私人信息,审核和所有内容,现在一切都很顺利! 当我测试聊天时,我意识到聊天中输入的所有消息都会被保存,如果您有很多人使用聊天功能,它很快就会在您的Firebase中占用相当多的空间。Firebase聊天室 - 删除旧信息
为了给你什么,我期待的一个例子,让我告诉你我是如何处理私人邮件:
当约翰·发送悄悄话给Bob,该消息将被添加到约翰和鲍勃名单都私人信息,像这样的:
/private/John <-- Message appended here
/private/Bob <-- Message appended here
这是的火力点是什么样子,在聊天2消息,和2个私人信息的例子:
{
"chat" : {
"516993ddeea4f" : {
"string" : "Some message here",
"time" : "Sat 13th - 18:20:29",
"username" : "test",
},
"516993e241d1c" : {
"string" : "another message here",
"time" : "Sat 13th - 18:20:34",
"username" : "Test2",
}
},
"private" : {
"test" : {
"516993f1dff57" : {
"string" : "Test PM reply!",
"time" : "Sat 13th - 18:20:49",
"username" : "Test2",
},
"516993eb4ec59" : {
"string" : "Test private message!",
"time" : "Sat 13th - 18:20:43",
"username" : "test",
}
},
"Test2" : {
"516993f26dbe4" : {
"string" : "Test PM reply!",
"time" : "Sat 13th - 18:20:50",
"username" : "Test2",
},
"516993eab8a55" : {
"string" : "Test private message!",
"time" : "Sat 13th - 18:20:42",
"username" : "test",
}
}
}
}
,反过来也是如此。现在,如果鲍勃在哪里断开连接,Bob的私人消息列表被删除,但约翰仍然能够看到他与鲍勃的对话,因为他得到了他名单上所有消息的副本。如果John在Bob之后断开连接,Firebase将被清除并且不再存储他们的对话。
有没有办法用普通聊天来实现这样的事情? 向所有使用聊天的用户推送消息似乎不是一个好的解决方案(?)。或者是否有可能以某种方式让Firebase仅保留最新的100条消息?
我希望它是有道理的!
亲切的问候
Ps。非常感谢Firebase团队的所有帮助,我非常感谢。
你可以请分享查询以获得测试和测试2之间的私人聊天消息列表,并与时间订购? – Nikhil