单击FCM通知始终在新选项卡中打开(web-app Polymer)

时间:2017-12-07 12:46:31

标签: firebase web-applications polymer firebase-cloud-messaging service-worker

我尝试在网络应用中实施Firebase云消息传递(使用Polymer和服务工作者并使用SDK的custom-sw)。

它工作得很好(在桌面和Android上)但是当用户点击通知时,即使打开了相同来源的选项卡(但没有关注),它也总是在新选项卡中打开click_action )。

click_action = "https://example.firebaseapp.com/demo/command"
无效标签的网址= "https://example.firebaseapp.com/demo"

似乎FCM SDK的getWindowClient_方法无法正确解析活动客户端的网址,因此无法在非活动选项卡上调用focus()

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

这就是它的设计方式。起初它让我措手不及,但在我想到之后,新的标签/窗口才有意义。

1)服务工作者是与浏览器不同的进程。 2)当通知显示时,它与浏览器选项卡/窗口无关。 3)更改现有窗口中的URL很可能会混淆/刺激用户。

当用户点击您的按钮时,通知假定原点上没有活动标签。所以它打开了一个新窗口。