徽章被添加到 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 (将#修改为@)