当我向某些主题发送通知时,例如...
const message = {
data: { cost: 49 },
topic: 'apple'
}
admin.messaging().send(message)
问题是关于阻止/过滤通知,如果用户设置类似>= 50的内容? (Firestore/localStorage?)
我怎样才能做到这一点?
我认为应该使用 messaging-sw.js 过滤它,但是如何以及可能吗?
或者有更好的想法或者我错过了什么?
最佳答案
案例1:When your app is in the foreground
案例2:When your app is in background
- 将用户数据保存在IndexedDB中,因为用户可以在 Service Worker 中访问 IndexedDB 数据
- 您必须将 firebase-messaging-sw.js 文件中的函数 setBackgroundMessageHandler 自定义为 this guideline 处理用户的选项
- 注意:如果您在消息负载中设置通知字段,则不会调用 setBackgroundMessageHandler 回调,而是 SDK 根据您的负载显示通知。
无论如何,在客户端使用过滤器不是一个好方法,应该在服务器端完成
关于javascript - 按客户端过滤网络通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58598948/