FCM将推送通知传递给大型基础主题需要花费多少时间

时间:2019-03-07 15:58:18

标签: android firebase push-notification firebase-cloud-messaging

我们正计划通过FCM实现Topic Messaging来将PN发送到我们的基地,我想知道FCM通过主题将PN传递到应用程序需要花费多少时间。

  1. 有1千万订阅了一个主题
  2. 有5000万订阅了一个主题
  3. 有1亿订阅了一个主题

我知道交付将取决于在线应用程序,但是在这里我们可以假设每个人都在线。换句话说,我想了解FCM如何处理向某个主题发送PN的过程以及它将/可能引入多少延迟?

2 个答案:

答案 0 :(得分:0)

根据以下答案:

How long does it take for a message from Google Cloud Messaging to arrive on device

GCM - How long does it take for push notifications to reach the device?

推送通知应在交付时立即显示,但您需要考虑用户的互联网连接。

答案 1 :(得分:0)

消息已入队,它们将从Firebase云消息传递服务器逐个传递,您可以在Firebase Notifications控制台上了解这些消息的状态。

https://firebase.google.com/docs/cloud-messaging/understand-delivery

该视频可确保您95%的邮件平均在250毫秒内发送

https://youtu.be/sioEY4tWmLI

摘自this文档

  

这两种消息类型的最大有效负载为4KB,但从Firebase控制台发送消息时会强制使用1024个字符的限制。

您可以在this文档中找到另一个重要内容

  

FCM不保证交货顺序。

Throttling and scaling

  

我们的目标是始终传递通过FCM发送的每条消息。然而,   传递每条消息有时会导致整体用户不佳   经验。在其他情况下,我们需要提供界限以确保   FCM为所有发件人提供了可扩展的服务。

Maximum message rate to a single device

  

您最多可以将240条消息/分钟和5,000条消息/小时发送到   单个设备。这个高门槛意味着可以短期   大量的流量,例如当用户通过   聊天。此限制可防止无意中发送逻辑错误   耗尽设备上的电池。

Upstream message limit

  

我们将每个项目的上游消息限制为15,000 /分钟,以避免   上游目标服务器超载。

     

我们将每台设备的上游消息限制为每分钟1,000条,以保护   避免因不良的应用行为而耗尽电池电量。

Fanout throttling

  

消息扇出是向多个站点发送消息的过程   设备,例如当您定位主题和组或使用   Firebase控制台中的通知编写器。

     

我们将每个项目进行中的消息扇出数量限制为   一千之后,我们可能会拒绝其他扇出请求,直到某些   的扇出完成。

     

实际可达到的扇出率受数量的影响   同时要求扇出的项目。扇出率为10,000   单个项目的QPS并不罕见,但这个数字并不罕见   保证,是系统总负载的结果。它是   重要的是要注意可用的扇出能力是在   项目,而不是跨扇出请求。因此,如果您的项目有两个   正在进行扇出,那么每个扇出只会看到一半   可用扇出率。最大化扇出的推荐方法   速度是一次只能进行一次活动的扇出。

如果您需要更多信息,可以在我提供的那些链接中找到它。