Web Push API 通知最佳实践
本文提供了在使用推送通知进行用户互动时,在开发网站和应用程序时需要注意的最佳实践的有用总结。
“如果做得好,它很有用;如果做得不好,它会非常烦人。” — 两位浏览器开发者在讨论推送通知的道德伦理时无意中听到的对话。
Web 推送通知概述
Web 推送通知(使用 Notifications、Push 和 Service Worker API 的组合创建)是产品开发者和营销人员用来吸引网站注意力的日益增长的噪音的一部分。在网上搜索“web push notifications”,您会找到营销专家撰写的文章,他们认为您应该使用推送来重新吸引已离开您网站的用户,以便他们完成购买、接收最新新闻或收到推荐产品链接。
阴暗面
它们的创新性为有进取心的网站提供了新的、未被开发的接触潜在客户的机会。客户是否已切换标签页去回复电子邮件?通过一个他们无法忽视的限时免费送货优惠重新赢得他们!
但说实话,这是推送通知的最佳用途吗?还是仅仅是陈旧的弹出广告的新版本?
“Web 推送不冒被发送到垃圾邮件文件夹的风险。也无法被广告拦截器阻止。即使网站关闭,它也会直接显示在您的桌面上。在移动设备上,即使浏览器未运行,它也会显示在通知托盘中,就像应用程序的推送通知一样。” — 一个匿名的营销网站
推送的积极用途
但推送通知也有光明且有用的方面。假设您和您的团队通常使用聊天程序进行交流,但今天您在一个地方愉快地工作,突然出现了一个问题。假设您的项目经理在审批中发现了一个小问题,并希望在继续之前获得您关于某事的反馈。
在几次尝试引起您注意失败后,他们给您发送了一封电子邮件,您的电子邮件应用程序会生成一个推送通知,成功地提醒了您,即使您的邮件 Web 应用程序未打开。
在此文档中,我们将讨论 Web 推送通知的道德使用。有时它们可以消除挫败感和烦恼,有时它们会引起挫败感和烦恼,而作为开发人员,您有责任就推送通知的使用做出明智的建议(和决定)。
您希望通过此推送通知实现什么目标?
正如一切事物一样,能力越大,责任越大。每一条推送通知都应该是有用且及时的,并且在发送第一条之前,用户应始终被请求允许,并提供一种简便的方式来选择退出接收更多通知。
有一些基本问题可以回答,以确定是否需要推送通知
- 是否有人实时等待回复?在我们上面的例子中,项目经理正在等待您的回复,因此推送通知是合适的。
- 是否需要最新的更新?我使用一项服务来聚合不同的社交媒体新闻源。当一个我感兴趣的故事正在流行时,我希望收到通知!
- 是否有突发新闻是及时的?这有点棘手。有时新闻网站会请求推送通知,以便它们可以说“看我!看我!”这最终取决于用户的意愿,您可以使用行为来确定意图。例如,如果用户查看了不止一篇文章,或在您的页面上停留了几分钟,他们可能对接收更新感兴趣。
除了是否需要推送通知之外,还有许多不同类型的推送通知,从随意消失的通知到需要互动才能持久存在的通知。
我们提醒您非常谨慎地使用需要互动的通知,因为它们可能最令人讨厌。您的通知应该是辅助性的,而不是干扰性的。
建立信任
一些研究表明,多达 60% 的推送通知被阻止。允许您的网站实时推送通知需要信任。您可以通过拥有设计良好、内容优质、尊重用户并能提供明确价值的网站来建立信任,从而获得用户接受推送通知的许可。
浏览器缓解措施
由于过去滥用推送通知的情况,Web 浏览器开发者已开始实施策略来帮助缓解此问题。例如,Safari 12.1 现在要求(其他浏览器要么已经做到,要么计划这样做)用户在页面可以请求发送推送通知权限之前,先与页面进行某种形式的交互。这至少可以防止用户在他们只看了一眼并且可能很少或永远不会再查看的网页上突然被问到这个问题。
就 Firefox 而言,请参阅 Firefox bug 1524619,其中我们发现 Firefox 68 在首选项 dom.webnotifications.requireuserinteraction 后面实现了这一点,但默认情况下是禁用的。