Web 应用程序中的 Firebase 通知收件箱(非 FCM)

Firebase Notification Inbox in Web App (Not FCM)

我正在尝试实现类似于堆栈溢出收件箱的通知收件箱,我可以在其中看到相关通知。

现在,我只想在 post 中 post 编辑新评论时通知用户(显示用户登录时的通知数量以及用户打开该收件箱时应该去离开)。

我不确定如何使用 firebase 完成这项工作以及我应该如何构建数据。

我正在考虑在 Post 集合中有一个评论集合,并使用 onSnapshot 来监听 Post 集合中的变化,但我将如何实际实现通知部分(无论评论是读或不读)?

我建议只为像 notifications/{userUid}/notifications/{notificationID} 这样的通知设置一个 collection,如下所示:

我们为所有具有此类功能的应用程序使用该结构。通知本身是使用 FCM 发送的,但我们将其数据存储在这样一个单独的 collection 中。它还具有值 isRead,当从用户那里读取通知时,我们只存储一个布尔值或时间戳。每个用户都有自己的通知集合,只能看到这些通知,并且只能根据安全规则更改 isRead 值。

对于限制查询,我们只向他显示最后 25 到 50 条消息。

如果您不知道如何触发通知的发送:您需要使用 Firebase Cloud Functions 并在创建 post/comment 时设置触发器并发送 FCM 消息和通知在您的用户通知集合中,如上所示。