服务工作者可以停止GCM api发送的推送通知吗?

时间:2016-02-04 13:20:01

标签: push-notification service-worker web-push push-api chrome-gcm

在我目前的架构中,我使用GCM API提交推送通知。 这会在服务工作者中触发“推送”事件。然后,服务工作者将一些数据添加到通知中。

如果服务工作者由于某些错误而无法添加数据,我会收到空​​白通知。

服务人员可以避免显示GCM发送的通知吗?

2 个答案:

答案 0 :(得分:2)

来自Google Developers的Push Notifications guide

  

您必须将{userVisibleOnly: true}参数传递给subscribe()   方法。这告诉浏览器将始终发出通知   收到推送消息时显示。目前它是强制性的   显示通知。

结果是,如果你没有显示某些东西以响应推送(在承诺浏览器之后),浏览器(Chrome,无论如何)只会为你展示一些东西。但是,这似乎可能会在某些时候发生变化。

答案 1 :(得分:0)

似乎在您遇到错误的情况下仍然会显示您自己的通知,因为您无法填写它会显示空白。

您最好的选择是回退到一些通用文字。您可以冒险不显示它,但几次镀铬后会开始显示自己的通知(毕竟您已经承诺"您将通过说{userVisibleOnly:true}来显示一个)

我可以考虑查看chrome代码的最佳步骤顺序是:

1)尝试显示您要显示的通知 2)如果因任何原因失败,请检查您是否在前台或者您的某个通知是否已经显示。如果是这样的话 3)否则你需要显示通知,否则铬可能会为你显示它并冒险可能不值得。只需添加一些通用文字并显示即可。