gpt4 book ai didi

android - 聊天应用中的 Firebase 实时数据库结构

转载 作者:太空宇宙 更新时间:2023-11-03 11:27:38 25 4
gpt4 key购买 nike

抱歉我的英语水平不好,我来自阿根廷。

我在 Firebase 中有以下消息数据结构:

"messages"
"-KezmqXSdKCNFFA432Uc___-KfCEwklG_y3naRDIUiY"
"messageDate": "20170620"
"messageTime": "18:44"
"message": "Hi"
"-KezFDSAADFASFFS3221___-KASDF32324SDFASD1FS"
"messageDate": "20170620"
"messageTime": "22:23"
"message": "How are you?"

其中 -KezmqXSdKCNFFA432Uc-KfCEwklG_y3naRDIUiY-KezFDSAADFASFFS3221-KASDF32324SDFASD1FS 是用户。

我的问题是我在“消息”节点中创建了一个 childEventListener 来接收新用户消息,但我收到了所有用户的所有新消息(我每个应用程序登录一个用户)因为我的 childListener 在“消息”节点。

如果我在添加消息时有 1000 个用户,一条新消息会到达这 1000 个用户,这是否正确? (假设在应用程序中,您可以检查该消息属于哪个用户)。

谢谢!

最佳答案

如果你做一个类似这样的结构:

-chats
- chatUID
- members
- userUID
- lastMessageSent:messageUID
- ... more properties

-chatMessages
- chatUID
- messageUID
- sentBy: userUID
- messageDate:""
- messageTime:""
- message:""

-userChats
- userUID
- chatUID

您可以将监听器附加到/userChats/userUID,这将显示 Activity 聊天,并将监听器附加到/chatMessages/chatUID,这将获取特定聊天对话的所有聊天消息。

这种方式设置 firebase 安全规则要容易得多,用户只会收到他们所在的聊天消息。

关于android - 聊天应用中的 Firebase 实时数据库结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44535831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com