GCM / FCM 推送通知中的消息节流
Message throttling in GCM / FCM push notification
我想知道Google FCM 推送通知中的消息限制是什么?我正在尝试使用 FCM 实现示例推送通知,但不了解他们的步骤中提到的消息限制。也没有找到关于它的文档。
https://aerogear.org/docs/unifiedpush/aerogear-push-android/guides/#google-setup
有人可以解释一下这个词吗?
Throttling by https://stuff.mit.edu 的文档解释得非常好:
To prevent abuse (such as sending a flood of messages to a device) and to optimize for the overall network efficiency and battery life of devices, GCM implements throttling of messages using a token bucket scheme. Messages are throttled on a per application and per collapse key basis (including non-collapsible messages). Each application collapse key is granted some initial tokens, and new tokens are granted periodically therefter. Each token is valid for a single message sent to the device. If an application collapse key exhausts its supply of available tokens, new messages are buffered in a pending queue until new tokens become available at the time of the periodic grant. Thus throttling in between periodic grant intervals may add to the latency of message delivery for an application collapse key that sends a large number of messages within a short period of time. Messages in the pending queue of an application collapse key may be delivered before the time of the next periodic grant, if they are piggybacked with messages belonging to a non-throttled category by GCM for network and battery efficiency reasons.
简单来说,我想您可以简单地看到像 漏斗 这样的节流,它可以防止消息溢出(通常用于下游消息传递),调节消息的流入以避免洪水泛滥。
例如,您向单个设备发送了 1000 条消息(假设所有消息都已成功发送),GCM 可能会限制您的消息,以便只有少数消息会真正推送,或者每条消息都会被发送已交付但不是同时发送到设备。
我想知道Google FCM 推送通知中的消息限制是什么?我正在尝试使用 FCM 实现示例推送通知,但不了解他们的步骤中提到的消息限制。也没有找到关于它的文档。
https://aerogear.org/docs/unifiedpush/aerogear-push-android/guides/#google-setup
有人可以解释一下这个词吗?
Throttling by https://stuff.mit.edu 的文档解释得非常好:
To prevent abuse (such as sending a flood of messages to a device) and to optimize for the overall network efficiency and battery life of devices, GCM implements throttling of messages using a token bucket scheme. Messages are throttled on a per application and per collapse key basis (including non-collapsible messages). Each application collapse key is granted some initial tokens, and new tokens are granted periodically therefter. Each token is valid for a single message sent to the device. If an application collapse key exhausts its supply of available tokens, new messages are buffered in a pending queue until new tokens become available at the time of the periodic grant. Thus throttling in between periodic grant intervals may add to the latency of message delivery for an application collapse key that sends a large number of messages within a short period of time. Messages in the pending queue of an application collapse key may be delivered before the time of the next periodic grant, if they are piggybacked with messages belonging to a non-throttled category by GCM for network and battery efficiency reasons.
简单来说,我想您可以简单地看到像 漏斗 这样的节流,它可以防止消息溢出(通常用于下游消息传递),调节消息的流入以避免洪水泛滥。
例如,您向单个设备发送了 1000 条消息(假设所有消息都已成功发送),GCM 可能会限制您的消息,以便只有少数消息会真正推送,或者每条消息都会被发送已交付但不是同时发送到设备。