【问题标题】:Set read status for a group chat using Firebase使用 Firebase 为群聊设置阅读状态
【发布时间】:2016-06-03 10:01:55
【问题描述】:

我正在尝试制作一个聊天应用程序,其中包含用户之间的个人聊天和使用 Firebase 的群聊。我想为每条消息做一个阅读状态,现在的问题是,考虑一个群聊有一个节点

> groupId---->
>         --->messageId
>                  -->userId
>                  -->messageType
>                  -->text

我的实施就像一个用户向一个组发送消息,该组将被添加到组 id 下并带有消息 id 节点并且所有正在收听该组的人现在都会收到该子消息我想保留谁是的状态所有人都阅读了消息。我可以通过保持本地状态来处理它,但是如果用户从另一台设备登录,我该如何处理呢?

【问题讨论】:

  • 你必须在messageID节点下做一个布尔值,保存读取状态的记录
  • 如果组有更多成员是不可能的吧?
  • 我也在我的应用程序中实现了相同的功能。我已经实现了单用户聊天,但我在群聊中遇到了问题。你能把你应用的数据库模式发给我吗?

标签: android firebase


【解决方案1】:

如果您想跟踪用户是否阅读了每条消息,您需要将其存储在您的数据库中:

read_messages_per_user
  <userId>
    <messageId>: true

随着时间的推移,这可能会变成大量数据。因此,一个更有效(但不太具体)的变体是存储用户阅读的最后一条消息

last_read_messageId_per_user
  <userId>: <messageId>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-19
    • 2012-06-08
    • 1970-01-01
    • 2023-03-23
    • 2019-04-19
    • 2020-11-08
    • 2021-09-03
    • 1970-01-01
    相关资源
    最近更新 更多