Я пытаюсь зарегистрировать работника сервиса в Facebook Instant game.
Рабочий файл службы с именем service-worker.js
помещается в корень пакета.
Попытка зарегистрировать ПО в сценарии ввода с помощью
navigator.serviceWorker.register('service-worker.js')
терпит неудачу с
Failed to register a ServiceWorker: A bad HTTP response code (400) was received when fetching the script. TypeError: Failed to register a ServiceWorker: A bad HTTP response code (400) was received when fetching the script.
В Application
> Service Worker
dev-tools. Я вижу, что путь к SW правильный:
https://apps-[SOME_FB_IDS].apps.fbsbx.com/instant-bundle/[FB_APP_ID]/[SOME_FB_IDS]
Это тот же путь, по которому подается основной файл index.html.
Я также пытался зарегистрировать работника сервиса только с абсолютным путем и именем пути. Нет успеха не с той же ошибкой.
Я подозреваю, что проблема возникает из-за того, что Facebook обслуживает мгновенные пакеты игр из подпапок /instant-bundle/...
. Также попытался поэкспериментировать с опцией scope
, но безуспешно.
Есть ли какой-нибудь правильный метод регистрации сервисного работника для этой платформы FB?
Я что-то пропустил?