不使用 FCM 是否可以实现 Web 推送通知?

Is it possible to implement web push notification without using FCM?

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

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

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

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

显示通知

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

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

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