用户拒绝使用 Push API 的权限
如果您在运行 Aimtell 跟踪代码的页面上打开浏览器的开发者控制台,可能会看到如下消息:
text
[aimtell] - Unable to subscribe to push. DOMException [NotAllowedError: "User denied permission to use the Push API."]这条消息的含义
这是浏览器发出的消息,而不是您的 Aimtell 配置出错。它表示浏览器拒绝了将该访问者订阅到推送通知的请求,因为推送权限未被授予。
浏览器只允许在访问者明确同意之后才为其订阅推送。当权限状态不是“已授予”时,订阅请求会被拒绝,浏览器将其报告为 NotAllowedError。Aimtell 会把该拒绝记录到控制台,以便排查问题时能够看到。
产生的原因
- 访问者在浏览器的权限提示上点击了“阻止”(或“不允许”)。
- 访问者点击“X”关闭了提示,而没有作出回答。
- 访问者此前已经为您的网站阻止了通知。浏览器会记住该选择,因此后续访问不会再显示提示,并且在访问者自行重置权限之前,每次订阅请求都会被拒绝。
- 在 Firefox 52 及更早版本中,如果访问者在回答提示之前点击了页面上的任意位置,提示会被自动关闭,从而产生同样的消息。
需要处理吗?
通常不需要。总会有一部分访问者选择拒绝,这条消息正是他们拒绝时的正常预期结果。在控制台中看到它并不表示您的跟踪代码或 Service Worker 安装有误。
以下两种情况值得进一步检查:
- 您在自己的设备上看到它,但从未拒绝过提示。 您很可能在之前为该网站阻止了通知。请在浏览器设置中重置该网站的通知权限,然后重新加载页面。
- 完全没有人能够订阅。 如果您的选择加入率是零而不只是偏低,原因更可能是安装问题而非访问者拒绝。请检查您的跟踪代码和 worker 文件配置。
若要了解访问者接受与拒绝的比例,请参阅选择加入百分比说明。如果您希望在访问者批准或拒绝提示后运行自己的 javascript,请参阅在提示批准/拒绝后触发 Javascript。
