Firebase Cloud 消息传递文档中"app server in my own environment"是什么意思?



我无法理解本文档中有关如何使用 Firebase 云消息传递将上游消息发送到"云"的"在我自己的环境中实现的应用服务器"的具体含义。

上下文

文档说,要发送上游消息,我需要自己的应用程序服务器,该服务器在 HTTP 或 XMPP 中实现两种连接服务器协议之一。

我困惑的原因

我的期望是,如果我使用Firebase,我不需要创建自己的服务器。所有后端的东西都由他们处理。所以对我来说,当他们说我需要在自己的环境中创建自己的应用程序服务器时,这与我的期望和理解背道而驰,因此让我再次猜测其含义。

我特别困惑并询问

什么
  • 应用服务器到底是什么意思?
  • "在我自己的环境中"到底是什么意思?

我的两个问题的另一种方式是:

  • 在这种情况下,应用程序服务器是否意味着我使用Node.JS/Express之类的东西自己编写的典型应用程序服务器.JS并在Digital Ocean之类的东西上托管? 和/或
  • 我需要对其他Firebase/Google Cloud产品(例如托管或App Engine)执行操作吗?
  • 或者,我在应用程序上实现的实时数据库功能是否可以被视为"应用程序服务器",因为它为我的应用程序提供数据。

到目前为止我做了什么

通读Firebase上与云消息传递相关的每一份文档,并浏览Google。

我已经充分阅读了要问什么问题和要避免什么问题。我注意到这个问题可能有很多不同且所有正确答案的问题,因此如果这违反了其中一条规则,请道歉。但是我在 Meta 上遇到了这个问题,这表明要求澄清文档对于 SO 来说是可以的。

在这种情况下,应用程序服务器是否意味着我使用 Node.JS/Express 之类的东西自己编写的典型应用程序服务器.JS并在 Digital Ocean 之类的东西上托管?

完全。

我需要对其他Firebase/Google Cloud产品(例如托管或App Engine)执行操作吗?

取决于您的用例。但对于 Firebase 云消息传递,当您只需要发送下游消息时,您不需要应用服务器。您可以使用Firebase控制台。如果您需要发送上游消息,则必须实现自己的应用服务器。

或者,我在应用程序上实现的实时数据库功能是否可以被视为"应用程序服务器",因为它为我的应用程序提供数据?

不完全是。Firebase 实时数据库会存储您需要的数据,但 FCM 所需的应用服务器可以处理请求(发送(下游和接收(上游))。

应用通知由 Firebase 云消息服务器发送。要发送这些通知,您必须告诉必须向哪些设备发送通知。

因此,您必须从后端服务器(Node.js,PHP 服务器)发送 FCM 客户端 ID。当您将 Firebase 集成到应用中时,您将获得 FCM 客户端 ID。您必须将 FCM 客户端 ID 存储在后端服务器中,就像在用户注册期间一样。

要向设备发送通知,请从后端服务器检索 FCM 客户端 ID,然后将其发送到 Firebase 云消息服务器,它将检查客户端 ID 是否有效并触发通知。

相关内容

最新更新