繁体   English   中英

使用 FCM 在 Apple Safari 中推送通知

[英]Push notifications in Apple Safari with FCM

我们在 chrome 和 firefox 中使用 FCM 实现了推送通知,它运行良好,但 Safari 不支持 FCM 强制要求的 Service Workers。

有人处理过这类问题吗? 有什么建议么?

虽然 Service Workers 现在在 Safari 上工作,但它们还不够。

文档说:

FCM JavaScript API 允许您在支持Push API 的浏览器中运行的 Web 应用程序中接收通知消息。 这包括此支持列表中列出的浏览器版本。

Safari 不支持 web push ,而 FCM 依赖于浏览器支持。 所以这意味着 Safari 无法接收 FCM 通知。

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()详细信息,请参阅文档

我不确定这种新的 Safari 和 Service Workers 情况,但我尝试在我的 iOS 应用程序中实现 FCM 推送通知,并且必须首先体验到您需要 APN(Apple-Push-Notification)证书。 如果您使用 Safari,我不确定是否需要这样做,但我可以想象 Apple 也希望它的推送通知首先被重定向到 APN 服务器。

FCM 不支持 Safari 浏览器。

如果您想为 Safari 浏览器集成 PUSH 通知,请点击此链接。 Safari 有它自己的机制。

https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/NotificationProgrammingGuideForWebsites/PushNotifications/PushNotifications.html#//apple_ref/doc/uid/TP40013225-CH3-SW1

Apple 说 Safari 16 (macos) 现在应该支持推送 API 但我没能使推送 API 通知正常工作。 我尝试了 firebase messaging web v9(根据我的理解,它应该是 Push API 的包装器)并且它似乎在后台工作(当由服务人员提供时)但在前台只收到 3 次通知,然后它停止工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM