Firebase中的节流消息传递

Firebase中的节流消息传递,firebase,push-notification,firebase-cloud-messaging,Firebase,Push Notification,Firebase Cloud Messaging,我们注册了100多万台设备。有没有办法限制消息传递的速度?显然,如果100多万条通知在同一时间导致后端流量大幅增加,则很难扩展。如果不是将所有消息立即发送到所有设备,而是使其每秒仅发送X条消息,那就太好了。控制这些消息的发送的最佳方法实际上是自己使用令牌ID调用FCM,最好使用(在此处查找注册\u id参数)。您可以根据需要将消息传递到所有设备,将其扩展到对API的任意多个调用 使用主题也是可能的,但是您会失去对交付性能的控制,因为扇出发生在您无法控制的流程中 备选:考虑发送一个包含时间戳的数据

我们注册了100多万台设备。有没有办法限制消息传递的速度?显然,如果100多万条通知在同一时间导致后端流量大幅增加,则很难扩展。如果不是将所有消息立即发送到所有设备,而是使其每秒仅发送X条消息,那就太好了。

控制这些消息的发送的最佳方法实际上是自己使用令牌ID调用FCM,最好使用(在此处查找
注册\u id
参数)。您可以根据需要将消息传递到所有设备,将其扩展到对API的任意多个调用

使用主题也是可能的,但是您会失去对交付性能的控制,因为扇出发生在您无法控制的流程中


备选:考虑发送一个包含时间戳的数据消息,当它应该被显示时。通过这种方式,您可以将传递时间与显示时间分开,删除关键路径(但当然会引入其他注意事项)。

控制这些消息传递的最佳方法实际上是自己使用令牌ID调用FCM,最好使用(在此处查找
注册\u id
参数)。您可以根据需要将消息传递到所有设备,将其扩展到对API的任意多个调用

使用主题也是可能的,但是您会失去对交付性能的控制,因为扇出发生在您无法控制的流程中


备选:考虑发送一个包含时间戳的数据消息,当它应该被显示时。通过这种方式,您可以将交付时间与显示时间分开,删除关键路径(但当然会引入其他注意事项)。

这当然是一些逻辑,您可以自己编写代码。“FCM不会为你这样做的。”道格·史蒂文森我相信这对很多人来说是非常必要的。我相信应该有一些可重用的代码或库已经实现了这一点。你听说过与此相关的事情吗?堆栈溢出不是请求外部资源的地方。这样做的问题很可能会因为离题而被关闭。但如果您觉得FCM中缺少此功能,请随时提交功能请求。如果你使用FCM主题,它们是用扇形输出构建的,这样消息就可以成批发送,从而消除了一次发送所有消息的担忧。在你链接的那个问题上,谷歌员工确实做出了回应并认真对待了。有时需要耐心等待新工作的安排和完成,因为每个问题都必须优先于其他问题。提交功能请求不会有什么坏处,但如果你根本不提交,你的声音就不会那么响亮。这当然是你可以自己编写代码的逻辑。“FCM不会为你这样做的。”道格·史蒂文森我相信这对很多人来说是非常必要的。我相信应该有一些可重用的代码或库已经实现了这一点。你听说过与此相关的事情吗?堆栈溢出不是请求外部资源的地方。这样做的问题很可能会因为离题而被关闭。但如果您觉得FCM中缺少此功能,请随时提交功能请求。如果你使用FCM主题,它们是用扇形输出构建的,这样消息就可以成批发送,从而消除了一次发送所有消息的担忧。在你链接的那个问题上,谷歌员工确实做出了回应并认真对待了。有时需要耐心等待新工作的安排和完成,因为每个问题都必须优先于其他问题。提交功能请求不会有什么坏处,但如果你根本不提交,你的声音就不会那么响亮了。我注意到了遗留API,但让我担心在不久的将来会被删除。有没有计划在不久的将来将其移除?另一个想法似乎很有趣。我也会检查一下。没有计划在不久的将来删除它。我注意到遗留API,但让我害怕在不久的将来被删除。有没有计划在不久的将来将其移除?另一个想法似乎很有趣。我也会检查一下。没有计划在不久的将来移除它。