首页 > 解决方案 > 使用新的 gcm_sender_id 时 pushManager 订阅不返回任何内容

问题描述

所以使用 pushManager 并且它最初是通过返回 pushManager 订阅端点来使用旧的 gcm_sender_id 的。但是,当我在 manifest.json 文件中添加新的发件人 ID 时,pushManager 停止工作并且不会返回任何内容,甚至不会返回错误。下面是我的代码

编辑:所以在离开我的 devTools 一段时间后,pushManager 返回一个错误

DOMException: Registration failed - push service error

主.js

if('serviceWorker' in navigator && 'PushManager' in window) {

  navigator.serviceWorker.register('/sw.js')
  .then(function(swReg) {



    var subscribeOptions = {
            userVisibleOnly: true,
          };

      var reg = swReg.pushManager.subscribe(subscribeOptions).then(
      function(pushSubscription) {
        console.log(pushSubscription);

      }, function(error) {
        console.log(error);

      }
    );

    console.log(reg);

  })
  .catch(function(error) {
    console.error('Service Worker Error', error);
  });
}

清单.json

{
  "name": "Push Demo",
  "short_name": "Push Demo",
  "start_url": "/",
  "display": "standalone",
  "gcm_user_visible_only": true,
  "gcm_sender_id": "*new_sender_id*"
}

使用 pushManager 的其他人之前遇到过这个问题吗?

标签: javascriptgoogle-cloud-messagingservice-worker

解决方案


推荐阅读