我在我的渐进式 Web 应用程序中将新的 Web 推送 API 与服务工作者一起使用,但我担心用户在最初启用推送通知权限后会禁用它。
检测用户禁用通知权限(即添加仪器/分析)以便我可以跟踪的最佳方法是什么?
我在我的渐进式 Web 应用程序中将新的 Web 推送 API 与服务工作者一起使用,但我担心用户在最初启用推送通知权限后会禁用它。
检测用户禁用通知权限(即添加仪器/分析)以便我可以跟踪的最佳方法是什么?
我相信您正在寻找的内容已包含在Permissions API中,其中包括一个change
事件。该事件会在最初的用户决定和用户后来改变主意时再次触发。
在最基本的情况下,您可以执行以下操作:
if ('permissions' in navigator) {
navigator.permissions.query({name:'notifications'}).then(function(notificationPerm) {
// notificationPerm.state is one of 'granted', 'denied', or 'prompt'.
// At this point you can compare notificationPerm.state to a previously
// cached value, and also listen for changes while the page is open via
// the onchange handler.
notificationPerm.onchange = function() {
// Permissions have changed while the page is open.
// Do something based on the current notificationPerm.state value.
};
});
}
有一些很好的资源展示了如何使用它:
Chrome 从版本 43 开始支持 Permissions API,Firefox 从即将发布的版本 45 开始支持。