トピック メッセージング

FCM トピック メッセージングでは、特定のトピックにオプトインした複数のデバイスにメッセージを送信できます。必要に応じてトピック メッセージを作成すると、FCM がそのメッセージをルーティングして正しいデバイスに確実に配信します。

トピック メッセージに関する重要なポイント:

  • 気象警報などの一般公開されている情報に最適です。
  • トピック メッセージは、レイテンシではなくスループットに対して最適化されます。単一のデバイスまたはデバイスの小グループに高速で安全に配信する場合は、トピックではなく登録トークンをメッセージのターゲットとしてください。

割り当てと上限

トピック メッセージングでは、トピックごとのサブスクリプション数に制限はありませんが、FCM により次の制限が課されます。

  • 1 つのアプリ インスタンスをサブスクライブできるトピック数は、2,000 トピックまでです。
  • 一括サブスクリプションを使用してアプリ インスタンスをサブスクライブする場合、各リクエストは 1,000 個のアプリ インスタンスに制限されます。

サブスクリプションのスロットル処理

トピック サブスクリプションの追加または削除のレートは、プロジェクトごとに 3,000 QPS に制限されています。

新規サブスクリプションの頻度がプロジェクトごとにレート制限されます。短期間に送信するサブスクリプション リクエストが多すぎると、FCM サーバーから 429 RESOURCE_EXHAUSTED(「QUOTA_EXCEEDED」)というレスポンスが返されます。指数バックオフを使用して再試行する。

ファンアウトのスロットル処理

メッセージのファンアウトは、複数のデバイスにメッセージを送信するプロセスです。トピックとグループをターゲットにする場合や、Notifications Composer を使用してオーディエンスまたはユーザー セグメントをターゲットにする場合に使用されます。

メッセージのファンアウトは瞬間的ではないため、同時に複数のファンアウトが進行する場合があります。プロジェクトあたりのメッセージの同時ファンアウト数は 1,000 に制限されています。1,000 に達すると、一部の進行中のファンアウトが完了するまで、追加のファンアウト リクエストが拒否されたり、リクエストしたファンアウトが遅延したりする場合があります。

実際に到達可能なファンアウト レートは、同時にファンアウトをリクエストするプロジェクトの数に影響されます。個々のプロジェクトに対するファンアウト数 10,000 QPS は一般的なレートですが、その数は保証されたものではなく、システム全体の負荷によって異なります。利用可能なファンアウト容量は、ファンアウト要求間ではなくプロジェクト間で分割される点に注意してください。そのため、プロジェクトで 2 つのファンアウトが進行中の場合、各ファンアウトには使用可能なファンアウト レートの半分しか表示されません。ファンアウト速度を最大化するには、進行中のアクティブなファンアウトを一度に 1 つのみにすることをおすすめします。

次のステップ