Javascript 推送订阅已取消订阅或过期,状态代码为410

Javascript 推送订阅已取消订阅或过期,状态代码为410,javascript,push-notification,service-worker,progressive-web-apps,web-push,Javascript,Push Notification,Service Worker,Progressive Web Apps,Web Push,推送订阅在不到24小时内取消订阅或过期,状态代码为410 我正在使用web推送发送带有fcm端点和vapidDetails的通知。 它可以正常工作几个小时,我可以发送通知。但就在几个小时后,当我尝试从后端发送通知时,保存的fcm端点订阅将被取消订阅或过期,状态代码为410。 我正在部署并签入Heroku 下面的代码用于在服务器/后端中保存订阅对象 swReg.pushManager.subscribe({ userVis

推送订阅在不到24小时内取消订阅或过期,状态代码为410

我正在使用web推送发送带有fcm端点和vapidDetails的通知。 它可以正常工作几个小时,我可以发送通知。但就在几个小时后,当我尝试从后端发送通知时,保存的fcm端点订阅将被取消订阅或过期,状态代码为410。 我正在部署并签入Heroku

下面的代码用于在服务器/后端中保存订阅对象

                  swReg.pushManager.subscribe({
                    userVisibleOnly: true,
                    applicationServerKey: urlB64ToUint8Array(publicKey),
                  }).then(subscriptionJSON => {
                    saveSubscription(subscriptionJSON);
                  })
在服务器中保存上述订阅对象后,它将在几个小时内过期

错误如下所示:

{ WebPushError: Received unexpected response code
       at IncomingMessage.<anonymous> (/app/node_modules/web-push/src/web-push-lib.js:316:20)
       at IncomingMessage.emit (events.js:194:15)
       at endReadableNT (_stream_readable.js:1125:12)
       at process._tickCallback (internal/process/next_tick.js:63:19)
     name: 'WebPushError',
     message: 'Received unexpected response code',
     statusCode: 410,
     headers:
      { 'content-type': 'text/plain; charset=utf-8',
        'x-content-type-options': 'nosniff',
        'x-frame-options': 'SAMEORIGIN',
        'x-xss-protection': '1; mode=block',
        date: 'Mon, 27 May 2019 10:11:38 GMT',
        'content-length': '47',
        'alt-svc': 'quic=":443"; ma=2592000; v="46,44,43,39"',
        connection: 'close' } 
{WebPushError:收到意外的响应代码
输入消息时。(/app/node_modules/web push/src/web push lib.js:316:20)
在IncomingMessage.emit(events.js:194:15)
在endReadableNT(_stream_readable.js:1125:12)
在进程中。_tick回调(内部/process/next_tick.js:63:19)
名称:“WebPushError”,
消息:“收到意外响应代码”,
状态代码:410,
标题:
{'content-type':'text/plain;charset=utf-8',
“x-content-type-options”:“nosniff”,
“x-frame-options”:“SAMEORIGIN”,
“x-xss-protection”:“1;模式=块”,
日期:“2019年5月27日星期一10:11:38 GMT”,
“内容长度”:“47”,
‘alt svc’:‘quic=“:443”;ma=2592000;v=“46,44,43,39”,
连接:“关闭”}

ziet服务器出现问题

ziet服务器已停止支持写访问,即
fs.write
无法工作

因此,我无法将订阅对象保存/写入db文件


我部署到了Heroku,现在它可以正常工作了。

ziet服务器出现问题

ziet服务器已停止支持写访问,即
fs.write
无法工作

因此,我无法将订阅对象保存/写入db文件

我已部署到Heroku中,现在它可以正常工作。

据我所知,这意味着订阅不再有效,应该从后端删除。可以通过调用
unsubscribe()来复制
PushSubscription
上。据我所知,这意味着订阅不再有效,应该从后端删除。这可以通过调用
PushSubscription
上的
unsubscripte()
来复制。