【问题标题】:How to know if a user blocked himself from PWA notifications in Angular如何知道用户是否在 Angular 中阻止了自己的 PWA 通知
【发布时间】:2020-08-31 09:31:57
【问题描述】:

我已经使用 NGSW 和 SwPush 库将 PWA 添加到我现有的应用程序中(我使用的是 angular 8)。我有一个取消订阅按钮来取消订阅接收通知。如果用户使用此按钮取消订阅,那么我将调用 HTTP Post 调用,从数据库中删除他的订阅。

还有一种方法可以使用浏览器将自己从通知中删除。我想知道如何判断用户是否以这种方式取消订阅,以便我可以从数据库中删除他的订阅对象。

【问题讨论】:

    标签: angular push-notification notifications progressive-web-apps


    【解决方案1】:

    您可以使用Notification.permission 在浏览器中检查权限。请参阅文档:https://developer.mozilla.org/en-US/docs/Web/API/Notification/permission

    此外,您可以像这样订阅浏览器权限更改:

    if ('permissions' in navigator) {    
      navigator.permissions.query({name:'notifications'})
        .then((permission) => {
          permission.onchange = () => {
            //...        
          };
        });
    }
    

    文档:https://developer.mozilla.org/en-US/docs/Web/API/PermissionStatus/onchange

    【讨论】:

    • 我尝试收听 permission.onChage 并添加了 console.log 但每次我更改权限时都没有发生任何事情。我得到的唯一的东西是重新加载页面的请求。
    猜你喜欢
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 2021-07-09
    • 2022-01-17
    • 2016-04-05
    • 1970-01-01
    • 2018-08-09
    • 2017-02-11
    相关资源
    最近更新 更多