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 云消息传递如何在 Android 上运行

当应用程序被杀死(非活动)时,点击 Firebase 通知不起作用

android应用程序中的推送通知

通过cURL / PHP发送时,设备上未收到Firebase通知

Firebase 仅用于推送通知

Web 应用程序中未收到 Firebase 云消息传递通知