Onesignal网络推送覆盖

时间:2018-06-28 09:45:18

标签: php push-notification push onesignal

我正在使用OneSignal Web推送通知从使用PHP构建的网站向我的客户发送通知。过了一会儿,我意识到,如果我发送第一个通知,但客户端未在其设备上打开它,然后我又交付了一个通知,则智能手机不会将它们堆叠在一起 >在通知区域中,而是用第二个覆盖第一个。这意味着客户端刚错过了第一个通知。

我当然想在我问这里之前尝试研究它,但是没有成功-我可能会忽略文档中解释如何解决此错误的部分内容吗?

谢谢, 马丁

1 个答案:

答案 0 :(得分:0)

我联系了OneSignal的官方支持人员,并获得了一个非常简单但详细的解决方案-如果您正在处理类似的问题,请参阅下面的电子邮件副本(谢谢乔恩:))。

在使用我们的REST API以编程方式发送通知时,您可以使用未记录的参数 web_push_topic

在一组共享相同web_push_topic的通知中,新收到的通知将用相同的主题替换旧收到的通知。仅共享相同主题的通知将被替换;没有主题或主题不同的通知将不会被替换。您可以为不同的通知集设置不同的主题,以控制哪些通知停留在屏幕上。

web_push_topic 值可以是任何字符串值。

在Chrome上,即使其他通知与您的网站或OneSignal不相关,则在任何时候最多可以显示3条通知。这意味着您只能向用户显示3种通知,不包括当时可能显示的其他通知。

在Windows的Firefox上,一次可以显示更多通知(6次以上)。

在Mac上的Firefox和Mac上的Safari上,一次只能显示一个通知,即使其他通知与您的网站或OneSignal无关。通知还会在5秒钟内迅速消失,并且此时间不可自定义。

在Android上的Chrome / Firefox上,一次可以显示多个通知。

如果您未指定web_push_topic,则每个通知将被一个较新的通知替换。如果您确实指定了web_push_topic,则可以选择要替换的通知以及要堆叠的通知。

使用我们的API发送通知时,为web_push_topic设置字符串值将为通知设置主题。共享相同主题的所有通知将互相替换,但是具有不同主题的任何通知将不会被替换。

因此,假设您发送了4条通知:

“主题为“开放日”的通知“本周六下午3点在1234街开放日”。 主题为“开放日”的通知“周六1234街的开放日更改为下午4点”。 通知主题为“常规更新”的“ 20栋新房子符合您在华盛顿州西雅图的条件”。 主题为“促销”的通知“在您所在的地区查找代理商”。 观察到的通知顺序为:

显示1号通知。 通知#2替换为#1(即使停靠在Mac OS X的通知托盘中)。 通知#3单独显示(如果停靠在Mac OS X的通知托盘中,它将使用一个单独的条目)。 通知4也单独显示。 最后,当订阅者检查其未读通知时,他将看到总共三个通知。

希望这更有意义!