在setBackgroundMessageHandler

时间:2019-06-20 15:56:27

标签: javascript google-chrome firebase-cloud-messaging

我正在构建一个监听FCM消息的Web应用。

我能够使用以下命令在firebase消息服务工作程序中阅读消息:

messaging.setBackgroundMessageHandler(function(payload) {
    console.log('Received background message', payload);
});

这将显示我想要删除的浏览器通知。我有一些要在通知中执行的自定义逻辑:

我从服务器发送到FCM的通知数据不包含通知参数:

{ 
    "data": 
    { 
        "foo": "1",
        "bar": "2"
    },
    "to" : "device_registration_id", 
    "content_available": false 
}

在github上有一个与此相关的问题:https://github.com/firebase/quickstart-js/issues/126

有人报告self.registration.hideNotification()在起作用,但对我而言并非如此。

唯一的方法是返回一个永不解决的Promise,但这会造成内存泄漏,这是次优的解决方案:

return new Promise(function(resolve, reject) { });

任何合适的方法吗?

0 个答案:

没有答案