【问题标题】:Push notification on firebase database changedfirebase 数据库上的推送通知已更改
【发布时间】:2020-10-08 10:41:46
【问题描述】:
我有一个具体的问题,我希望可以做这样的事情。
客户端
第一个标签 - 数据
在 React Native 中使用 Flat table 制作的应用程序。数据位于 Firebase 数据库中。数据是对象(名称、图像、价格、类别等)。一切正常。
第二个标签 - 通知
带有类别和复选标记的表格。用户希望仅接收特定类别的通知,即饮料、乳制品和个人护理。
服务器端
数据每天更新一次(主要是添加新项目)。
问题:
- 如何在客户端设置只接收特定类别的通知?
- 如何在添加具有用户注册类别的新项目时向用户触发通知?即“我们从乳制品类别中获得了新商品”
【问题讨论】:
标签:
javascript
firebase
react-native
push-notification
firebase-cloud-messaging
【解决方案1】:
您所描述的内容与 FCM 主题最匹配。使用主题时,每个客户端决定它订阅的主题,并且您的服务器端代码将消息发送到主题。然后,Firebase 在幕后确定需要将消息发送到哪些设备,这一过程称为主题扇出。
有关这方面的更多信息,请参阅 sending messages to topics 和 subscribing to topics 上的 Firebase 文档。
本机客户端(iOS、Android)可以直接从客户端代码订阅主题。不幸的是,这对于 JavaScript/Web 客户端是不可能的,您必须使用服务器端代码来设置主题订阅(如上面的第二个链接所示)。但是,如果您使用 react-native-firebase,则可以使用客户端 subscribeToTopic method,因为此库包装了原生 SDK。