我们在chrome和firefox中使用FCM实现了推送通知,并且工作正常,但Safari不支持对FCM强制要求的服务工作者。
有没有人处理过这类问题?有什么建议吗?
答案 0 :(得分:5)
虽然服务工作者现在在Safari上工作,但他们还不够。
FCM JavaScript API可让您在支持Push API的浏览器中运行的网络应用中收到通知消息。这包括此support matrix中列出的浏览器版本。
Safari doesn't support web push,FCM依赖浏览器支持。这意味着Safari无法接收FCM通知。
答案 1 :(得分:1)
我不确定这个新的Safari和服务工作者的情况,但我尝试在我的iOS应用程序中实现FCM推送通知,并且必须首先体验到您需要APN(Apple-Push-Notification)证书。如果您正在使用Safari,我不确定是否需要这样做,但我可以想象Apple还希望它的推送通知首先被重定向到APN服务器。
答案 2 :(得分:0)
Safari仍不支持Web Push API,因此不支持Firebase Cloud Messaging服务。
Firebase支持以下浏览器: https://firebase.google.com/support/guides/environments_js-sdk#browsers
我建议使用.isSupported()
代替其他解决方案。
if (firebase.messaging.isSupported())
const messaging = firebase.messaging();
}
有关.isSupported()
的详细信息,请参见documentation。