Topic Messaging

FCM topic messaging lets you to send a message to multiple devices that have opted in to a particular topic. You compose topic messages as needed, and FCM handles routing and delivering the message reliably to the right devices.

Key points about topic messaging:

  • Best suited for publicly available information like weather alerts.
  • Topic messages are optimized for throughput rather than latency. For fast, secure delivery to single devices or small groups, target messages to registration tokens instead of topics.
  • Topic messaging supports unlimited subscriptions per topic, with the following limits:
    • An app instance can subscribe to a maximum of 2000 topics.
    • Batch subscription requests for subscribing app instances are limited to 1000 instances per request.
    • New subscription frequency is rate-limited per project. Exceeding the limit results in a 429 RESOURCE_EXHAUSTED error; retry with exponential backoff.

Quotas and limits

Topic messaging supports unlimited subscriptions for each topic. However, FCM enforces limits in these areas:

  • One app instance can be subscribed to no more than 2000 topics.
  • If you are using batch subscription to subscribe app instances, each request is limited to 1000 app instances.
  • The frequency of new subscriptions is rate-limited per project. If you send too many subscription requests in a short period of time, FCM servers will respond with a 429 RESOURCE_EXHAUSTED ("quota exceeded") response. Retry with exponential backoff.

Next Steps