Проблема с методом.subscribe() для pushManager

Я следую этому очень ясному уроку.

Все работает, за исключением того, что когда я добираюсь до стадии подписки пользователя с pushManager, когда я звоню pushManager.subscribe() Я не получаю никакого ответа от обещания, чей статус pending,

Возможно, мне не хватает какой-то явной проблемы с моей настройкой, которая заключается в следующем:

    if ('serviceWorker' in navigator && 'PushManager' in window) {
      console.log('Service Worker and Push is supported');

      navigator.serviceWorker.register('service-worker.js')
      .then(function(swReg) {
        console.log('Service worker successfully registered.');

        navigator.serviceWorker.ready.then(function() {

          const subscribeOptions = {
            userVisibleOnly: true,
            applicationServerKey: ... // My application server key.
          };

          let promise = swReg.pushManager.subscribe(subscribeOptions)
          console.log(promise) // Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}
          promise
          .then(function(pushSubscription) {

            console.log('Received PushSubscription: ', pushSubscription); // Never gets called.
          })
          .catch(function(err) {
            console.error('Unable to subscribe.', err); // Never gets called.
          });
        })
      })
      .catch(function(err) {
        console.error('Unable to register service worker.', err);
      });
    }

Нужно ли делать дополнительную настройку где-нибудь еще? Любой совет приветствуется.

1 ответ

Решение

Просто наткнулся на эту ветку.

Совет должен удалить GCM Store каталог, расположенный в:

/Users/[user-name]/Library/Application Support/Google/Chrome/Default/GCM Store

Сначала мне пришлось выйти из Chrome, удалить папку, а затем перезапустить, чтобы она заработала.

Похоже на ошибку, которая прослеживается до июня 2016 года (Chrome 51), и хотя сейчас октябрь 2017 года (Chrome 61), проблема все еще остается.

Надеюсь, это может кому-нибудь помочь.

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