如何知道用户是否阻止了自己在Angular中的PWA通知

时间:2020-08-31 09:31:57

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

我已使用NGSW和SwPush库将PWA添加到现有应用程序中(我使用的是Angle 8)。我有一个取消订阅按钮,可以取消订阅以获得通知。如果用户使用此按钮取消订阅,那么我正在拨打HTTP Post呼叫,该呼叫将从数据库中删除其订阅。

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

Removing notifications from browser

1 个答案:

答案 0 :(得分: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