当我向一些主题发送通知时,比如。。。
const message = {
data: { cost: 49 },
topic: 'apple'
}
admin.messaging().send(message)
问题是,如果用户设置了>=50之类的内容,则阻止/过滤通知?(Firestore/localStorage?(
我该怎么做?
正如我所认为的,它应该用消息传递sw.js进行过滤,但它是如何实现的?
或者有更好的主意,或者我错过了什么?
案例1:当您的应用程序处于前台时
案例2:当你的应用程序在后台
- 将用户的数据保存在IndexedDB中,因为用户可以在服务工作者中访问IndexedDB数据
- 您必须将firebasemessagingsw.js文件中的函数setBackgroundMessageHandler自定义为本准则以处理用户的选项
- 注意:如果您在消息负载中设置了通知字段,则不会调用setBackgroundMessageHandler回调,而是SDK根据您的负载显示通知
无论如何,在客户端使用过滤器不是一个好方法,应该在服务器端中进行