Проблема заключается в том, что userVisibleOnly: true в качестве параметра.
Это было введено только в chrome 47. До этого вам нужно передать его как параметр манифеста. https://johnme-gcm.appspot.com/manifest.json - хороший пример для подражания.
В настоящее время я столкнулся с проблемой с некоторыми версиями 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,