2

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

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

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

4

2 回答 2

2

来自Google Developers的推送通知指南:

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

结果是,如果您没有响应推送(在向浏览器承诺您会这样做之后)显示某些内容,则浏览器(无论如何,Chrome)只会为您显示一些内容。但是,这似乎很可能会在某个时候改变。

于 2016-02-04T14:38:05.687 回答
0

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

您最好的选择是回退到一些通用文本。您可能会冒着不显示它的风险,但几次之后 chrome 会开始显示它自己的通知(毕竟你“承诺”你会通过说 {userVisibleOnly: true} 来显示一个)

我能想到的查看 chrome 代码的最佳步骤顺序是:

1)尝试显示您要显示的通知 2)如果由于某种原因失败,请检查您是否在前台或您的通知之一是否已经显示。如果是这样,什么也不做 3) 否则你需要显示通知,否则 chrome 很可能会为你显示它并且冒险它可能不值得。只需添加一些通用文本并显示它。

于 2016-02-19T09:34:13.093 回答