在我目前的架构中,我使用GCM API提交推送通知。这会在服务工作线程中触发一个“推”事件。服务工作者随后将一些数据添加到通知中。
如果服务工作人员由于某些错误而无法添加数据,我将收到一个空白通知。
服务工作者可以避免显示GCM发送的通知吗?
发布于 2016-02-04 22:38:06
来自谷歌开发人员的Push Notifications guide:
必须将{userVisibleOnly: true}参数传递给subscribe()方法。这将告诉浏览器,当接收到推送消息时,将始终显示通知。目前,显示通知是强制性的。
结果是,如果你没有在推送响应中显示一些东西(在向浏览器承诺你会显示之后),浏览器(至少是Chrome)会为你显示一些东西。然而,这种情况可能会在某一时刻发生变化。
发布于 2016-02-19 17:34:13
似乎在您遇到的错误条件下,您仍然显示您自己的通知,并且由于您无法填充它,它显示为空白。
您最好的选择是退回到一些通用文本。你可以冒险不显示它,但在几次之后,chrome将开始显示它自己的通知(毕竟你“承诺”了,你会通过说{userVisibleOnly: true}来显示一个通知)
我能想到的查看chrome代码的最佳步骤顺序是:
1)尝试显示您要显示的通知2)如果由于任何原因失败,请检查您是否在前台,或者您的通知之一是否已经显示。如果是这样的话,什么也不做3)否则你需要显示一个通知,否则chrome很可能会为你显示它,冒这个险可能是不值得的。只需添加一些通用文本并显示它。
https://stackoverflow.com/questions/35202105
复制相似问题