Firefox上的Web推送通知

“Web推送”允许网站给你发送新消息或更新内容的通知。在 Firefox 运行期间,被允许的网站可以向您的浏览器发送通知并将其显示到屏幕上。只有当你按下键盘按键或者触摸/点击当前网页时,通知才被显示。如果你在网站上没有做任何操作,那么地址栏会显示 通知 权限图标,而不会显示通知本身。你可以很方便地允许或禁止某些通知,并且设置它们的显示方式。

Push_notifications

更新通知

从版本 44 开始, Firefox 在网站没有加载的时候也可以实现屏幕通知。使用推送API( 一个 W3C 标准) Firefox 接收到一条推送信息后能够随时显示出来(如果用户允许的话)。站点也可以不显示通知信息而利用推送在后台更新数据。如果你已经给了一个站点发送通知的权限,它将同时也能够使用推送API。您可以通过下列步骤设置站点的权限:

  1. 点击地址栏的挂锁图标 Padlock Fx89
  2. 点击页面信息下拉面板里的箭头。
  3. 点击 更多信息 打开页面信息窗口
  4. 点击 权限 标签页。
  5. 发送通知 部分,选择:总是询问允许阻止。如果选项灰显,请取消勾选 使用默认 旁边的勾选框。

另外,你也可以:

  1. 在屏幕上方的菜单栏里点击 Firefox 并(根据 macOS 的版本不同)选择 首选项设置点击菜单按钮 Fx89menuButton 并选择设置
  2. 在左侧面板里点击 隐私与安全
  3. 找到 权限 部分。
  4. 点击 通知 右边的 设置... 按钮。
  5. 对任意网站,你在 状态 下拉列表里选择 允许阻止
  6. 点击 保存更改 按钮。

Web推送是什么?

Web推送是一个能够让网站在未加载的情况下给你发送信息的可选特性。网站能够以此向你发送通知或者在后台更新数据。

比如,你可以在你最喜欢的购物网站上订阅通知,然后就能收到新的促销或报价的通知。 你可以在各式各样的网站上订阅通知,有关音乐会的网站可能会通知你最喜欢的乐队演出提醒,你允许了这个网站通知你。一周后你收到了一个提示信息告诉你乐队正在巡演。

你只会收到来自你授权的站点的信息。

它是如何工作的?

网站可以安装一个 Service Worker,这是一个只有有限功能的后台页面,能够绑定推送服务。网站接下来就能够通过 Mozilla 的Web推送功能向你的浏览器发送推送信息,浏览器就会处理这条信息并把它显示在屏幕上。

push notification 44

点击提示信息就可以打开网站,如果网站已经加载了则会切换到该网站的标签页。

我与网站分享了哪些信息?

得到授权的网站可以在未被加载的时候向你发送信息。站点向你发送而不显示在屏幕上的信息条数被限制在一个最大值内。超过限值的信息条数的网站的推送功能将会无法使用,用户必须再次访问网站来重新订阅。Web推送不直接允许网站根据你的IP地址做出反应。

为了提供Web推送功能 Firefox 使用了哪些信息?

Firefox维持一条与推送服务的活动连接,以随时接收推送信息。这条连接将一直维持到 Firefox 退出。在我们的服务器上存储了一个你的浏览器的随机的身份标识 (User Agent IDentifier 或称 UAID) 以及每个你授权的站点的随机身份标识。您订阅任何一个通知,我们都需要您的 UAID 以允许我们的推送服务正确推送新消息通知到您的 Firefox 上。若您没有订阅任何推送信息, Firefox 就会为每个新连接更换一个新的 UAID。

在 Firefox 桌面版上,推送服务由 Mozilla 完成。Android 版的 Firefox 同时使用 Mozilla 的 Web 推送服务以及 GCM 云推送(Google Cloud Messaging ,中国大陆地区由于 GFW 的存在而几乎不可用)来递送通知。只有 Mozilla 的应用可以使用 WebPush 在 iOS 推送(根据 iOS 使用协议,第三方不能使用 WebPush 在 iOS 上推送通知)。

不管哪种情况,推送信息将按照IETF规范进行加密,并且只有你自己的 FireFox 能够对其进行解密。密文会一直存储在服务器上直到被递送或到期。

作为推送服务的一部分,我们会将您的 IP 地址保存 90 天。您的 IP 地址或 UAID 变更后,已存信息就会作废。我们 会保存您的以下信息:

  • 发送过推送信息的服务器 与/或 服务
  • 特定身份标识的活动时间

如何撤销特定 Web 推送权限?

在 Firefox 中 Web 推送总是选择性的。网站没有你的允许就不能向你推送信息。要令一个明确的网站停止向你推送信息:

  1. 在屏幕上方的菜单栏里点击 Firefox 并(根据 macOS 的版本不同)选择 首选项设置点击菜单按钮 Fx89menuButton 并选择设置
  2. 点击左侧面板的 隐私与安全
  3. 找到 权限 部分。
  4. 点击 通知 旁边的 设置… 按钮。
  5. 选择你不想再收到通知的站点。
  6. 点击 移除站点

要让所有的站点停止向你发送推送信息,将以上步骤最后一步改为点击移除全部站点,而不需要选择某个站点。这样网站将无法向你发送信息,并且以后向你发信息的时候将会重新请求权限。

要针对特定网站停止通知(需要重新载入网页):点击权限图标 Fx89PermissionsIcon 打开网站的 站点权限面板,找到 发送通知 权限,点击 已允许 旁边的 x 以移除权限。

如何给我的网站增加Web推送功能?

推送 API 规范说明了如何创建一个 Service Worker 以及发送推送信息。

如何让Firefox不再询问是否允许通知?

如果一个网站告诉 Firefox 它想显示通知,默认情况下,Firefox 会问你是否授权。你可以设置 Firefox 自动拒绝授权而无需询问。即使在这样设置之后,你还是可以为 你想要 的站点显示通知或推送的网站设置例外。

  1. 在屏幕上方的菜单栏里点击 Firefox 并(根据 macOS 的版本不同)选择 首选项设置点击菜单按钮 Fx89menuButton 并选择设置
  2. 在左面板里选择 隐私与安全 面板,
  3. 下翻到 权限 部分。
  4. 点击 通知 右边的 设置… 按钮。
    Fx59Permissions-NotificationSettings
  5. 勾选 禁止新的发送通知请求
  6. 点击保存更改

这篇文章对您有帮助吗?

请稍候...

此文章在这些用户的协助下写成:

Illustration of hands

志愿者

分享知识并培养专业技能。解答问题并改进我们的知识库。

详细了解