Throttlingのこのドキュメントは、本当によくそれを説明する:
(そのようなデバイスにメッセージの洪水を送信など)の乱用を防ぐためと、デバイスの全体的なネットワーク効率とバッテリ寿命を最適化するために、 GCMは、トークンバケット方式を使用してメッセージの抑制を実装します。メッセージは、アプリケーションごとおよび折りたたみキーごとに抑制されます(折畳み不可能なメッセージを含む)。各アプリケーション折りたたみキーにはいくつかの初期トークンが与えられ、新しいトークンはそこに定期的に付与されます。各トークンは、デバイスに送信された単一のメッセージに対して有効です。アプリケーション・コラプス・キーが使用可能なトークンの供給を使い果たすと、新しいメッセージは定期的な付与の時点で新しいトークンが使用可能になるまで保留キューにバッファされます。このように、定期的な許可間隔の間のスロットリングは、短期間に多数のメッセージを送信するアプリケーション崩壊キーのメッセージ配信の待ち時間を増加させる可能性がある。アプリケーション崩壊キーの保留キュー内のメッセージは、ネットワークおよびバッテリ効率の理由でGCMによって非絞り込みカテゴリに属するメッセージでピギーバックされる場合、次の定期的な許可の前に配信されることがあります。シンプルなノートで
、私はあなたが単純にフラッディングを回避するために、メッセージの中に、流れを調整する、メッセージ(通常は下流メッセージング用)のオーバーフローを防ぐ漏斗のように絞る見ることができますね。
たとえば、1つの端末に1000個のメッセージを送信すると(すべてが正常に送信されたとします)、GCMがメッセージを絞り込んで実際にプッシュスルーするか、各メッセージが配信される可能性がありますデバイスと同時には使用できません。
OPはFCMについて質問しました。あなたはGCMの文書から引用しました。これは、FCMの場合もそうでない場合もあります。 –
@SouravGhosh FCMは、GCMを中心に構築された新しいバージョンです。技術的には、GCMとFCMのフードでメッセージ抑制がどのように機能するかを明示的に説明する公式GCMのドキュメントはありません。したがって、私はOPの質問 "*この用語について誰かが明らかにすることができますか?"というように、用語についての明確化*(またはアイデア)を提供するstuff.mit.eduからリンクしました。また、この回答を投稿する前にGoogleの公式ドキュメントを見て回ったので、当時はなかったと確信しています。もし私がこれを見つけたら、ここで更新してください。乾杯! –
私は自己の実験をしました.1000回のプッシュ通知を送信するためのツールを作成しました。これはxmppを使って行いました。今私は658メッセージの配信確認を受け取っただけです。それ以降は配信確認を受け取れません。 – Learner