是否可以在不使用 FCM 的情况下实现 Web 推送通知?

csh*_*bie 3 web-push firebase-cloud-messaging

我们希望为我们开发的一些网站实现网络推送通知。大多数这些网站都是使用 Spring MVC 创建的。我想了解 FCM 是否是实现网络推送通知的最佳选择,或者是否还有其他选项(无需任何第三方集成)?即使 Web 应用程序未运行,我们也需要能够发送通知。

FCM 似乎更容易,但我们想知道它是否也有任何缺点?

col*_*rco 5

这取决于您想要实施哪种通知。

对于现场通知,可以使用websockets或SSE。你可以在家里建造它。然后,您可以选择使用 w3c 通知 api 显示通知。

对于场外通知(如 FCM),您需要使用浏览器推送服务。浏览器推送服务是硬编码在浏览器中的,您无法更改它。但请注意,有两种不同类型的网络推送服务:

  • 浏览器推送服务(您无法更改它):例如 Chrome 的 FCM、Firefox 的 Mozilla 自动推送、Safari 的 APNs 等。
  • 可选的网络推送服务,通过创建新的抽象层为您处理这些服务:例如 Pushpad、FCM

请注意,我在这两种情况下都提到了 FCM,因为它从第一个角色开始,然后又添加了第二个角色。