Я реализую PWA в своем приложении Vue и хочу использовать API уведомлений , чтобы побудить пользователей вернуться в приложение, если они получат сообщение.
Вы можете включить уведомления по электронной почте и в браузере, установив флажок в приложении и отправив свой выбор. Значения на бэкэнде: bool
, и они распространяются правильно:
methods : {
onSubmit() {
if (!("Notification" in window)) {
alert("This browser does not support desktop notifications");
} else {
if (Notification.permission !== 'denied') {
Notification.requestPermission().then(permission => {
if (permission === 'granted') {
this.$store.dispatch('changeBrowserNotificationStatus', this.browserNotificationsAttribute)
.then(() => {
this.$store.commit('UPDATE_USER_BROWSER_NOTIFICATIONS', this.browserNotificationsAttribute)
});
}
})
}
}
this.$store.dispatch('changeEmailNotificationStatus', this.emailNotificationsAttribute)
.then(() => {
this.$store.commit('UPDATE_USER_EMAIL_NOTIFICATIONS', this.emailNotificationsAttribute)
});
this.$store.dispatch('closeModal')
},
},
Это работает нормально до тех пор, пока пользователь не захочет прекратить получать уведомления браузера. Поскольку Notification.permission
является полем только для чтения, есть ли способ программно отозвать разрешение? приложение закрыто.