使用FIREBASE进行群聊的结构

大家好,在本博客中,您将了解如何使用Firebase节点有效地设计GROUP CHAT体系结构,并且您还将能够处理Group Chat Flow的所有情况。
例如:最近的消息,谁创建了组,该组的成员,谁离开了该组。
前提条件—具有根据各自的技术(如iOS,Android等)提供的Firebase节点,Firebase事件和观察者的中级知识。

因此,让我们分为五个部分以更好地理解:

1)使用基本用户详细信息ID,名称,图片(根据您的要求)启动一个Users节点。 忽略组ID一段时间。

2)创建一个GroupDetail节点,该节点将包含组的所有详细信息,还将包含所有都属于该组的用户ID数组。

3)在通过成员数组创建组遍历并执行以下操作之后

3.1)从“ 用户”节点获取用户详细信息

3.2)将新的节点启动为数组或组ID,并附加最近创建的组ID。 例如

群组[group_id1,group_id2]

注意:如果“组”节点已经存在,且带有一些组ID,则获取该数组并附加新的组ID,以便确认用户位于多个组中。

4)我们完成了与用户创建群组和关联群组的工作,现在让我们聊天。 创建一个GroupMessage节点,并使用已发送消息的id-user_id之类的详细信息更新消息,以及所有必要的消息详细信息(例如时间戳等)(根据您的要求)

5)在将消息添加到消息节点之后,将相同的消息添加到组详细信息中,并添加一个新的节点,称为最近消息 。 这样我们始终可以仅从组详细信息中获取最新消息。 在填充组列表时很有用。

津贴和用例:

  • 最近的聊天记录–我们将始终在最近的聊天屏幕中获取群组的最新消息。
  • 如果最近的聊天为空,则可以填充“您创建了群组”或“您是由添加的”之类的消息
  • 如果某个用户离开了群组或从群组中删除,我们只需要从用户和群组详细信息中删除我想要的群组即可,我们已经完成了。

通过单个观察者功能,我们将能够获取组详细信息以及组的最新消息。

谢谢 ,欢迎任何建议/反馈。