微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

徽章被添加到 Chrome 而不是安装的 PWA

如何解决徽章被添加到 Chrome 而不是安装的 PWA

我的工作正常 ServiceWorker。我可以使用 Android Chrome 安装我的网络应用程序,没有任何问题。正在显示正确的应用程序图标,它成功地处理了网络推送通知。现在,当我尝试在成功的 push 事件中向已安装的 PWA 添加徽章计数时,徽章被添加到 Chrome 而不是已安装的 Web 应用程序。

enter image description here

根据docs

当从 Service Worker 调用 navigator.setAppBadge() 时,它会标记范围在 Service Worker 范围内的所有应用。

sw.js:

self.addEventListener('push',event => {
  try {
    const json = event.data.json()
    const title = json.title || ''
    const options = json.options || {}

    event.waitUntil(self.registration.showNotification(title,options))

    if ('setAppBadge' in navigator) {
      // also tried self.setAppBadge(1)
      navigator.setAppBadge(1)
    }
  } catch (e) {
    try {
      const title = 'Pranešimas'
      const options = { body: event.data.text() }

      event.waitUntil(self.registration.showNotification(title,options))
    } catch (e) {
      event.waitUntil(self.registration.showNotification(''))
    }
  }
})

我错过了什么吗?有人可以帮忙吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。