setBackgroundMessageHandler延迟,错过了推送消息

时间:2018-11-20 21:40:01

标签: javascript firebase-cloud-messaging web-push

我有一个网站,该网站可以在多个域上运行,并且每个域都有自己的Firebase messagesSenderId。因此,Firebase初始化被延迟,直到我从JSON端点获取messages.SenderId为止。一切正常,直到接收到推送消息的工作程序终止然后重新启动为止:由于没有立即分配后台消息处理程序,因此它错过了第一条推送消息。

如何避免这种情况?是否有waitUntil的类似物用于工作者初始化?或者如何推迟错过推送处理?

这是服务人员的简化代码:

const getServiceWorkerConfig = () =>
    fetch('/service_worker_config').then((response) => response.json());

getServiceWorkerConfig().then(
    ({ messagingSenderId }) =>
        firebase
            .initializeApp({ messagingSenderId })
            .setBackgroundMessageHandler(/* Here comes a handler */)
);

0 个答案:

没有答案