• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

java - 如何构建与 Firebase 的聊天

[复制链接]
菜鸟教程小白 发表于 2022-12-9 06:00:33 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在使用 Cloud Firestore (NoSQL) 为以下用户存储个人资料信息:

{
  "uid": "abc123",
  "name": "...",
  "friends": [
    "uid": "x234", 
  ]
  ...
}

现在我想知道如何构建从用户到用户的直接聊天。我正在考虑:

为每个用户文档添加一个附加字段,例如:

"chats": [
 {
    "from": "name",
    "message": "...",
    ...
 },
  ...
]

或者,我考虑使用具有类似结构的 Firebase 实时数据库,而不是使用 Firestore 进行聊天。

最后一种方法的好处是,用户文档不会因大量聊天协议(protocol)而“臃肿”。

我需要一些建议,以便结构/实现最适合这个用例。



Best Answer-推荐答案


当您开始构建应用程序时,首先您需要考虑最适合它的数据库。如果您考虑 Firestore,您需要知道对于每个客户端每秒执行大量小规模读取和写入的应用程序,Cloud Firestore 的定价模型可能比实时数据库中类似性能的应用程序贵得多。

这两个数据库之间也存在一些差异。如果您想继续使用 Firebase 实时数据库,您需要知道您不能查询多个属性,并且通常涉及重复数据或客户端过滤,这在某些情况下会有些困惑。实时数据库不会自动扩展,而 Firestore 会。

关于如何为聊天应用程序构建数据库,您需要知道没有完美的结构可以做到这一点。您需要以一种允许您以非常轻松且非常有效的方式读取/写入数据的方式来构建数据库。火力基地 official documentation解释了如何为聊天应用程序构建数据库。如果你想要更复杂的东西,请阅读这篇文章,Structuring your Firebase Data correctly for a Complex App .

为了更好地理解,我建议您也参加 Firebase 免费类(class),Firebase in a Weekend: Android .

所以由你决定哪一个更适合你。

P.S:如果你有兴趣,我也在我的一个 tutorials 中解释过。 如何使用 Cloud Firestore 和 Kotlin 创建聊天应用。

关于java - 如何构建与 Firebase 的聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47371561/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap