Web 应用中的 Firebase 通知收件箱(非 FCM)
Posted
技术标签:
【中文标题】Web 应用中的 Firebase 通知收件箱(非 FCM)【英文标题】:Firebase Notification Inbox in Web App (Not FCM) 【发布时间】:2021-08-25 08:27:20 【问题描述】:我正在尝试实现类似于堆栈溢出收件箱的通知收件箱,我可以在其中看到相关通知。
目前,我只想在帖子中发布新评论时通知用户(在用户登录时显示通知数量,并且每当用户打开该收件箱时它应该消失)。
我不确定如何使用 firebase 来完成这项工作,以及我应该如何构建数据。
我正在考虑在 Post 集合中创建一个评论集合,并使用 onSnapshot 来监听 Post 集合中的变化,但我将如何实际实现通知部分(无论是否阅读评论)?
【问题讨论】:
【参考方案1】:我建议使用collection
来接收notifications/userUid/notifications/notificationID
之类的通知,如下所示:
我们为所有具有此类功能的应用程序使用该结构。通知本身是使用 FCM 发送的,但我们将其数据存储在这样一个单独的 collection
中。它还具有值isRead
,当我们从用户那里读取通知时,我们只存储一个布尔值或时间戳。每个用户都有自己的通知集合,只能看到这些通知,并且只能通过安全规则更改 isRead
值。
通过限制查询,我们只向他显示最后 25 到 50 条消息。
如果您不知道如何触发发送通知:您需要使用 Firebase Cloud Functions 并在创建帖子/评论时设置触发器,并在您的用户通知中发送 FCM 消息和通知收藏如上图。
【讨论】:
以上是关于Web 应用中的 Firebase 通知收件箱(非 FCM)的主要内容,如果未能解决你的问题,请参考以下文章
当应用程序被杀死(非活动)时,点击 Firebase 通知不起作用