0

据我了解,从https://console.firebase.google.com/u/0/project/[projectname]:api-project-[senderID]/notification/compose从 Firebase 撰写消息控制台发送通知时,仅来自 Google 服务器的 CPU 和带宽被消耗,因为通知是直接从 Google 服务器而不是我的服务器发送的,对吗?如果我使用 cURL 从我的服务器触发推送通知,它仍然会使用 Firebase 和 Google 服务器来发送和传递通知,并且它不会消耗我服务器的 CPU 和带宽,对吗?

我试图完全了解是否直接使用 Firebase 云消息传递而不使用 Urban Airship 等第三方解决方案发送推送通知是否会占用我服务器上的 CPU 和带宽。我不确定第三方推送通知解决方案提供的部分功能/优势是否是处理 CPU/带宽密集型任务,或者这是否是 Google 服务器在直接使用 Firebase Cloud Messaging 连接和发送推送通知时直接处理的事情。

我知道 StackOverflow 不适合引起争论的问题,尤其是关于架构和内部与第三方软件解决方案的问题,但我的问题的主要目的是知道当推送通知发送到数千台设备时谁处理 CPU 和带宽密集型工作,是谷歌服务器(Firebase Cloud Messaging 服务器),还是提供推送通知服务(如 Urban Airship)的软件公司的服务器,或者是在 Firebase Cloud Messaging 配置内置的情况下触发推送通知的服务器 -没有第三方解决方案的房子?谢谢你。

编辑:为什么以及如何推送通知(如 GCM)电池高效?包括这一段:“Android 设备与 GCM 服务器保持单一连接以侦听通知”。但是,它仍然没有回答我的问题,因为即使我知道 Firebase 云消息传递服务器负责发送推送通知,我仍然试图了解我的服务器是否根本不需要提供 CPU 功率或带宽,即使例如,如果我使用 cURL 使用 PHP cURL 函数和 cron 作业从我的服务器触发推送通知。如果我可以打个比方,想象一下通过直接从https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js导入库来使用 jQuery而不是下载 jquery.min.js 文件,然后将其放在您的服务器上。如果您使用https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js,您将使用来自 Google 服务器的资源,而不是来自您自己的服务器的资源。如果您将 jquery.min.js 下载到您的服务器,那么访问者将使用来自您自己服务器的资源,而不是来自 Google 的服务器。这是我的类比,所以对于使用 Firebase 云消息传递而没有第三方解决方案(如 Urban Airship)的推送通知,我想知道谁提供 CPU 能力和带宽,是您自己的服务器还是 Google 的服务器。谢谢你。

4

1 回答 1

1

在这种情况下,如果您使用像 GCM 主题这样的机制,它应该是相当简单的。它不应该是 CPU 密集型的,因为您不会发送给每个单独的用户,而只是向该主题发送一个广播,并让 Google 完成繁重的工作。

https://developers.google.com/cloud-messaging/topic-messaging https://firebase.google.com/docs/cloud-messaging/android/topic-messaging

于 2017-12-01T19:43:56.427 回答