按客户端筛选web通知



当我向一些主题发送通知时,比如。。。

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根据您的负载显示通知

无论如何,在客户端使用过滤器不是一个好方法,应该在服务器端中进行

最新更新