我已使用NGSW和SwPush库将PWA添加到现有应用程序中(我使用的是Angle 8)。我有一个取消订阅按钮,可以取消订阅以获得通知。如果用户使用此按钮取消订阅,那么我正在拨打HTTP Post呼叫,该呼叫将从数据库中删除其订阅。
还有一种使用浏览器将自己从通知中删除的方法。我想知道如何判断用户是否以这种方式取消订阅自己,以便可以从数据库中删除其订阅对象。
答案 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