我目前正在开发一个Android应用程序,我想包括Firebase Cloud Messaging。 我计划让 Raspberry Pi 每 5 分钟左右检查一次网站,并在发生更改时发送推送通知。 在官方文档中,他们说我需要一个"应用程序服务器"才能通过Firebase发送消息。
这是否意味着我需要让我的 Raspi 作为服务器 24/7 全天候运行,并且需要一个静态 IP/域? 或者让我的 Raspi 通过 Api (https://fcm.googleapis.com/fcm/send( 发送消息就足够了,因为我只需要下游消息?
任何帮助和解释将不胜感激,因为我在任何线程或文档中都找不到明确的答案。
因此,您不需要只为一台设备安装应用程序服务器。如果您的Raspberry Pi设备上有某种互联网连接,您需要做的就是向Firebase API发出请求。
Firebase(谷歌服务器(将通过向所有注册设备推送通知来处理其余的工作。
发送下游消息(向设备发送消息(需要您指定 FCM服务器密钥。此密钥允许代表您发送 FCM 消息,因此应仅在您信任的环境中使用。
通常,这意味着您控制的服务器。但最近推出的Firebase云功能也可以作为这样一个值得信赖的环境。毕竟:只有有权访问您的 Firebase 项目的开发人员才能访问您的 Cloud Functions 代码,并且这些开发人员已经可以使用 Firebase 控制台中的通知面板发送消息。
您在自己的环境中控制的任何设备也可以作为受信任的环境。它不必具有固定的IP地址,因为FCM服务器通常通过XMPP或(现在更常见(通过Firebase数据库接收其指令。这两种方法都会启动从受信任设备到 Google 服务器的连接,因此可以在不接受传入连接的情况下运行。
您不需要任何服务器来实现 FCM。