Firebase 消息“该网站已在后台更新”

问题描述 投票:0回答:3

我有一个问题。当我的 Service Worker 收到通知时:

messaging.setBackgroundMessageHandler(function(payload) {
  console.log('[firebase-messaging-sw.js] Received background message ', payload);
  angularClient.postMessage(payload.data);
});

如何防止浏览器显示以下内容的通知:

网站已在后台更新

我所做的就是向我的服务发送一条消息,其中将显示通知。目前它显示两个通知。一个来自我的服务,这很好,另一个说“该网站......”。

firebase-cloud-messaging service-worker
3个回答
8
投票

必须在调用 onBackgroundMessage 时显示通知,并确保您返回

registration.showNotification('title', {body: 'message'})

的承诺

原因是网页推送不支持静默消息。


2
投票

除了我自己创建的通知之外,我还收到了此通知。花了两天时间试图修复它。这是对我有用的代码:

self.addEventListener('push', async function(event) {
    event.waitUntil(
        self.registration.showNotification('title', {
          body: 'body'
        })
    );
});

0
投票

firebase v10答案,你必须返回显示通知承诺

import { getMessaging, onBackgroundMessage } from 'firebase/messaging/sw'
onBackgroundMessage(getMessaging(app), payload => {
    const { title, body } = payload.data

    return (
        self.registration
            .showNotification(title, { body })
    )
})
© www.soinside.com 2019 - 2024. All rights reserved.