Залог подписки PushManager никогда не выполняет и не отклоняет

В настоящее время я столкнулся с проблемой с некоторыми версиями Chrome (Chromium), где PushManager.subscribeобещание ServiceWorker остается в состоянии ожидания .

Сам код довольно прост:

return serviceWorkerRegistration.pushManager.subscribe({
    userVisibleOnly: true
  });

У меня есть действительный и доступный манифест JSON , предоставляющий идентификатор отправителя GCM . Я также пробовал различные реализации, как описано в этом сообщении , но результат все тот же.

Часть подписки хорошо работает с каждой версией 47+ , проблема появляется со старыми версиями. (Я использую непрерывные сборки Chromium для тестирования различных основных версий).

Также обратите внимание, что, используя Chromium 46 (и ниже) на Ubuntu, обещание отклоняется через 15 минут с помощью Internal Server Error.

javascript,service-worker,web-push,push-api,chrome-gcm,

7

Ответов: 4


1

Проблема заключается в том, что userVisibleOnly: true в качестве параметра.

Это было введено только в chrome 47. До этого вам нужно передать его как параметр манифеста. https://johnme-gcm.appspot.com/manifest.json - хороший пример для подражания.


1

Похоже, что Chromium Team работала над этим . Если я не ошибаюсь, исправление будет выпущено на Chrome 55


0

Эта проблема воспроизводится на chrome 55.0.2883.87 в Windows 7. Обещание подписки не разрешается и не отклоняется. Но это происходит только на одной машине с упомянутой комбинацией


0

У меня была такая же проблема в Chrome 67, и перезапуск браузера исправил ее.

JavaScript, сервис-рабочий, веб-толчок, толчок-апи, хром-GCM,
Похожие вопросы