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

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

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

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

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

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

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

7 ответов

У меня была такая же проблема при использовании корпоративного прокси. Поскольку нет подключения к Интернету, подписка не может быть установлена, и обещание никогда не выполняется.

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

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

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

Когда вы подписываетесь на pushManager, в службу push-уведомлений браузера отправляется запрос для конечной точки подписки. Если он не выполняется или отклоняется, вероятно, из-за проблемы с установлением соединения с вашим браузером.

Обновление и перезапуск Google Chrome был решен для меня

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

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

Другие вопросы по тегам