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

Angular SwPush请求订阅新的或旧的

如何解决Angular SwPush请求订阅新的或旧的

我使用SwPush在Angular应用中处理推送通知。这是代码

export class AppComponent implements OnInit {
  constructor(private swPush: SwPush) { }

  ngOnInit(): void {
    this.initServiceWorker();
  }

  initServiceWorker(): any {
    if (environment.production) {
      if (this.swPush.isEnabled) {
        this.swPush.requestSubscription({
          serverPublicKey: environment.vapid_PUBLIC_KEY
        })
        .then(sub => {
          // send subscription to server
          this.http.post(environment.apiUrl + 'pushnotifications/subscribe',sub).subscribe(response => {
            console.log(response);
          });
        })
        .catch(err => console.error('Could not subscribe to notifications',err));
      }
    }
  }
}

当前,我将订阅存储在数据库中。问题是,在每次刷新页面时,我都会向后端发送一个请求,以验证订阅是否已存在。

问题:

是否可以检查用户是否允许“通知”,或者是否已经在浏览器端(由Angular获得)权限?

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