Swift 构建类似Snapchat的Firebase数据库
我一直在研究snapchat克隆,以此来学习如何使用firebase 我目前一直在研究如何最好地组织数据,以便模仿简单版本的Snapchat 在我的简化版本中,我想做什么:Swift 构建类似Snapchat的Firebase数据库,swift,firebase,data-structures,firebase-realtime-database,snapchat,Swift,Firebase,Data Structures,Firebase Realtime Database,Snapchat,我一直在研究snapchat克隆,以此来学习如何使用firebase 我目前一直在研究如何最好地组织数据,以便模仿简单版本的Snapchat 在我的简化版本中,我想做什么: 向多个用户发送图片消息 将图片信息发布到“故事”订阅源,我的所有朋友都可以看到它 我真的不需要更多了。我并没有试图实现Snapchat的当前功能,即能够发送文本消息或类似的内容。我只想把照片发送给朋友,并把它们发布到公共订阅源 我的数据结构如下: 并将其分解: 用户: 用户之间的友谊结构如下: 如下结构的单个消息:
用户消息
实现中,我必须在我的代码中实现一个检查,以查看消息是否由我的用户发送,然后防止用户看到它。理想情况下,只有发送消息的人才能看到图像。(就像snapchat一样)
有什么建议吗
我是否需要对用户树中的聊天/消息进行一些引用?问题似乎是 如何构造我的数据库,以便将消息发送给用户,以便 只有接收用户的用户才能看到它 有很多“方向”,但这里有两个 1) 手动“告诉”每个用户有关pic的信息
users
uid_0
pics_for_me
pic_0
url: "http://...."
pic_1
url: "http://...."
my_users
uid_2: true
uid_1
pics_for_me
my_users
uid_0: true
uid_2: true
在这种结构中,uid_1有两个用户想要与之共享图片(uid_0和uid_2),因此当需要共享图片时,读取my_users节点,遍历它,并在该用户各自的pics_for_me节点中存储指向图片的链接。显然,您可以存储其他数据,例如它来自谁等。当uid_0登录时,读取pic_for_me节点并查看pics,完成后可能会将其删除
2) 为用户观察节点的PIC
users
uid_0
name: "Henry"
uid_1
name: "Joe"
all_pics
pic_0
for_user: "uid_0"
url: "http://..."
在这种情况下,uid_0登录并向包含其用户id的任何for_用户的所有_pic添加查询。这适用于1-1情况,其中pic是针对一个用户的。如果你想让多个用户得到一张照片,那么
all_pics
pic_0
uid_0: true
uid_1: true
当用户登录时,向用户uid为true的所有图片添加一个查询,然后在添加包含其uid子项的图片时,他们将收到一个事件。请不要在问题中包含图像。将代码和结构作为文本包含。要获取Firebase结构,请使用Firebase控制台->导出JSON并复制粘贴结构片段。看见