小编Sid*_*pta的帖子

有没有办法拦截和禁用默认后台 FCM 通知并在 firebase 消息传递服务工作线程中显示自定义通知

我一直在尝试在用户收到 FCM 后台通知时显示自定义通知,但每次用户收到新通知时我都会收到两个通知,一个是默认的 Firebase SDK,另一个是来自我的服务工作线程代码的自定义通知。

有没有办法禁用默认通知或在出现后立即将其隐藏,以便用户只能收到自定义通知?

我已经尝试了所有以前的解决方案,但它们都不起作用,因为许多函数(例如 SetBackgroundHandler)已被弃用。 如果浏览器处于后台,FCM 推送通知会到达两次

请参阅下面的我的代码 -

self.addEventListener('push', function(event) {
    // console.log('Received a push message', event);
    var body,title,tag,icon;
    messaging.onBackgroundMessage((payload)=>{

    title = payload.notification.title;
     body =  payload.data.order_id;
    icon = "/images/logo.png';
    tag = 'simple-push-demo-notification-tag';
    
     
    event.waitUntil(
      self.registration.showNotification(title, {
        body: body,
        // icon: icon,
        tag: tag,
      })
    );
  });
  });
Run Code Online (Sandbox Code Playgroud)

javascript push-notification service-worker firebase-cloud-messaging angular

3
推荐指数
1
解决办法
2777
查看次数