Web 推送 API 通知最佳实践
本文提供了在开发使用推送通知进行用户参与的网站和应用程序时需要牢记的最佳实践的有用总结。
“如果做得好,它很好用,但如果做得不好,它真的会让人很烦。”——两位浏览器开发人员在讨论推送通知的伦理问题时听到的谈话。
Web 推送通知概述
阴暗面
它们的新颖性为有进取心的网站提供了接触潜在客户的新机会,且尚未被开发。客户是否已切换标签页以回复电子邮件?通过他们无法忽视的免费送货的限时优惠将其吸引回来!
但实际上,这是推送通知的最佳用途吗?还是只是对旧的、令人厌烦的弹出式广告的重复?
“Web 推送不会冒着最终进入垃圾邮件文件夹的风险。它也不能被广告拦截器阻止。即使网站关闭,它也会直接显示在您的桌面上。在移动设备上,它会显示在通知栏中,就像应用程序推送通知一样,即使浏览器未运行。”——某个未具名的营销网站
推送的积极用途
但推送通知也有光明和有用的方面。假设您和您的团队通常使用聊天程序进行沟通,但今天您正在某个地方愉快地工作,并且出现了问题。假设您的项目经理在审批中发现了一个小问题,并且希望在继续之前获得您对某些内容的反馈。
经过几次未能引起您注意的尝试后,他们向您发送了一封电子邮件,并且您的电子邮件应用程序生成了一个推送通知,成功地提醒了您,即使您的邮件 Web 应用程序未打开。
在本文件中,我们将讨论 Web 推送通知的道德使用。有时它们可以消除沮丧和烦恼,有时它们会导致沮丧和烦恼,这取决于您作为开发人员对推送通知的使用提出明智的建议(和决策)。
您希望通过此推送通知实现什么目标?
与所有事物一样,能力越大,责任越大。每个推送通知都应有用且及时,并且在发送第一个通知之前应始终询问用户是否允许,并提供一种简单的方法让他们选择将来不再接收通知。
有一些基本问题可以帮助您确定是否需要推送通知
- 是否有人正在实时等待回复?在上面的示例中,项目经理正在等待您的回复,因此推送通知是合适的。
- 是否需要即时更新?我使用一项服务来聚合不同的社交媒体新闻来源。当我对某个故事感兴趣时,我希望收到通知!
- 是否有及时发布的突发新闻?这就是事情变得有点棘手的地方。有时新闻网站会请求推送通知,以便他们基本上可以“看看我!看看我!”这完全取决于用户想要什么,您可以使用行为来确定意图。例如,如果用户查看了多篇文章,或在您的页面上停留了几分钟,他们可能希望接收更新。
除了推送通知是否完全必要的问题外,还有许多不同类型的推送通知,从随意消失到持久且需要交互。
我们提醒您要非常谨慎地使用需要交互的推送通知,因为它们可能是最令人烦恼的。您的通知应提供帮助,而不是造成干扰。
建立信任
一些研究表明,多达 60% 的推送通知被阻止。允许您的网站实时推送通知需要信任。您可以通过拥有一个设计良好的网站来建立信任,该网站提供良好的内容,尊重用户,并为接受推送通知提供明确的价值。
浏览器缓解措施
由于过去滥用推送通知,Web 浏览器开发人员已开始实施策略来帮助缓解此问题。例如,Safari 12.1 现在要求(其他浏览器要么已经这样做,要么计划这样做)用户以某种方式与页面交互,然后页面才能请求允许执行推送通知。这至少可以防止用户在他们只浏览过一次或很少查看的网页上自发地被询问此问题。
对于 Firefox,请参阅Firefox 错误 1524619,其中我们发现 Firefox 68 实现了此功能,默认情况下处于禁用状态,位于首选项dom.webnotifications.requireuserinteraction
后面。