我遇到了问题。在我的服务人员中收到通知时:
messaging.setBackgroundMessageHandler(function(payload) {
console.log('[firebase-messaging-sw.js] Received background message ', payload);
angularClient.postMessage(payload.data);
});
如何阻止浏览器显示以下内容的通知:
该网站已在后台更新
我所做的是向我的服务发送消息,其中将显示通知。现在它显示两个通知。一个来自我的服务,很好,另一个说“网站......”。
答案 0 :(得分:4)
你必须在调用onBackgroundMessage时显示通知,并确保从004.rb:14:in `find_max_palindrome': undefined method `<' for nil:NilClass (NoMethodError)
from 004.rb:24:in `<main>'
原因是网络推送不支持无声消息。
答案 1 :(得分:3)
@ gaunt-face,我们也面临同样的问题。此问题仅存在于Google Chrome浏览器和后台。 这是我们的代码段:
messaging.setBackgroundMessageHandler(function (payload) {
var data = JSON.parse(payload);
self.registration.showNotification(data.title, {
body: data.body,
icon: data.icon,
click_action: data.click_action,
time_to_live: data.time_to_live,
data: data.data,
tag: data.tag
});
});
&#13;
我们正在使用Firebase Messaging库版本:v3.9.0
答案 2 :(得分:0)
除了我自己创建的通知之外,我还收到了此通知。花了两天时间试图修复它。这是对我有用的代码:
self.addEventListener('push', async function(event) {
event.waitUntil(
self.registration.showNotification('title', {
body: 'body'
})
);
});