У меня есть сайт, который работает на нескольких доменах, и у каждого из них есть собственный Firebase messagingSenderId.Из-за этого инициализация Firebase откладывается до тех пор, пока я не получу MessagingSenderId от конечной точки JSON.Все работает нормально до тех пор, пока рабочий не прекратит работу и не перезапустится, когда получено push-сообщение: поскольку обработчик фоновых сообщений не назначается мгновенно, он пропускает первое push-сообщение.
Что можно сделать, чтобы избежать этой ситуации?Есть ли какой-нибудь аналог waitUntil
для рабочей инициализации?Или как отложить эту пропущенную обработку push?
Вот упрощенный код работника сервиса:
const getServiceWorkerConfig = () =>
fetch('/service_worker_config').then((response) => response.json());
getServiceWorkerConfig().then(
({ messagingSenderId }) =>
firebase
.initializeApp({ messagingSenderId })
.setBackgroundMessageHandler(/* Here comes a handler */)
);