2017-10-17 19 views
1

これは非常に明確なtutorialに従っています。pushManagerの.subscribe()メソッドの問題

私はステージに到達したとき、私は状況pendingある約束からの応答を得ることはありませんpushManager.subscribe()を呼び出すときがpushManagerをユーザに加入することを除いて、すべての作品。

は、たぶん私は次のようである私のセットアップ、といくつかの明白な問題が行方不明です:

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); 
     }); 
    } 

追加の設定がどこかに行われるべきか?アドバイスをいただければ幸いです。

答えて

0

ちょうどこれを見つけたthread

アドバイスは、に位置GCM Storeディレクトリを削除することです:

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

は、私が最初にそれを動作させるために、その後、再起動し、Chromeを終了したフォルダを削除しなければなりませんでした。

2016年6月(Chrome 51)まで追跡可能なバグのようですが、現在は2017年10月(Chrome 61)ですが、依然として問題と思われます。

これは誰かを助けるかもしれないと思っています。