我可以同时向 50K - 100K 用户发送 Firebase Cloud Messaging 吗?

can I send Firebase Cloud Messaging to 50K - 100K users simultaneously?

我可能需要使用 Firebase Cloud Messaging 向使用云功能的大约 50K - 100K 用户发送推送通知

这里是我的云函数发送FCM的代码

const sendFCMPromises = []

devicesQuerySnapshot.docs.forEach( deviceSnapshot => {

       // get user device FCM token
       const userFCMToken = deviceSnapshot.data().fcmToken

       const payload = {
          data: {
              body: body,
              title: title,
              type: type,
              imagePath: imagePath
          }
       }

       const p = admin.messaging().sendToDevice(userFCMToken,payload)
       sendFCMPromises.push(p)
            
})

return await Promise.all(sendFCMPromises)

我试过阅读 FCM Throttling and Scaling and also cloud function limits

我只关注这两个限制

  1. 云函数的最长函数持续时间 540 秒
  2. 从 FCM 到单个设备的最大速率为 240 messages/minute 和 5,000 messages/hour。

我相信我不会达到这些限制。但我是 Firebase 的新手,我担心我会达到一些我尚未考虑的限制。

是否有任何其他限制会使此操作失败?

简答,是的,你可以做到。您可以发送的消息数量将仅受已引用限制的限制。

还有其他限制,但已在您链接的文档中指定,不会直接影响您的用例,maybe 除外:

The topic subscription add/remove rate is limited to 3,000 QPS per project.

如果您正在使用主题。

作为一般性建议,开始查看您的应用程序的行为并进行必要的调整,尽管规划很重要,agile 也很重要,例如,如果您即将达到配额或硬限制会改变您传递消息的方式以减少影响。