Mit FCM-Themennachrichten können Sie eine Nachricht an mehrere Geräte senden, die sich für ein bestimmtes Thema angemeldet haben. Sie verfassen nach Bedarf Themennachrichten und FCM kümmert sich um das Routing und die zuverlässige Zustellung der Nachricht an die richtigen Geräte.
Wichtige Punkte zu Themen in Nachrichten:
- Am besten geeignet für öffentlich verfügbare Informationen wie Wetterwarnungen.
- Themennachrichten sind für den Durchsatz optimiert, nicht für die Latenz. Für die schnelle und sichere Zustellung an einzelne Geräte oder kleine Gruppen sollten Sie Nachrichten auf Registrierungstokens ausrichten statt auf Themen.
Kontingente und Limits
Bei Themennachrichten werden unbegrenzte Abos für jedes Thema unterstützt. FCM erzwingt jedoch Limits in den folgenden Bereichen:
- Eine App-Instanz kann maximal 2.000 Themen abonnieren.
- Wenn Sie Batch-Abos verwenden, um App-Instanzen zu abonnieren, ist jede Anfrage auf 1.000 App-Instanzen begrenzt.
Drosselung von Abos
Die Rate für das Hinzufügen oder Entfernen von Themenabos ist auf 3.000 QPS pro Projekt begrenzt.
Die Häufigkeit neuer Abos ist pro Projekt begrenzt. Wenn Sie innerhalb kurzer Zeit zu viele Aboanfragen senden, antworten die FCM-Server mit einer 429 RESOURCE_EXHAUSTED
-Antwort („QUOTA_EXCEEDED“). Wiederholen Sie den Vorgang mit exponentiellem Backoff.
Fan-Out-Drosselung
Beim Fanout von Nachrichten wird eine Nachricht an mehrere Geräte gesendet, z. B. wenn Sie auf Themen und Gruppen ausrichten oder wenn Sie mit dem Notifications Composer auf Zielgruppen oder Nutzersegmente ausrichten.
Das Verteilen von Nachrichten erfolgt nicht sofort. Daher kann es vorkommen, dass mehrere Verteilungen gleichzeitig laufen. Wir beschränken die Anzahl gleichzeitiger Message-Fanouts pro Projekt auf 1.000. Danach lehnen wir möglicherweise zusätzliche Fanout-Anfragen ab oder verschieben die Fanout-Anfragen, bis einige der bereits laufenden Fanouts abgeschlossen sind.
Die tatsächlich erreichbare Fanout-Rate wird durch die Anzahl der Projekte beeinflusst, die gleichzeitig Fanouts anfordern. Eine Fanout-Rate von 10.000 QPS für ein einzelnes Projekt ist nicht ungewöhnlich, aber diese Zahl ist keine Garantie und hängt von der Gesamtlast des Systems ab. Die verfügbare Fanout-Kapazität wird auf Projekte aufgeteilt und nicht auf Fanout-Anfragen. Wenn für Ihr Projekt also zwei Fanouts laufen, wird für jeden Fanout nur die Hälfte der verfügbaren Fanout-Rate verwendet. Am besten maximieren Sie die Fanout-Geschwindigkeit, indem Sie jeweils nur einen aktiven Fanout ausführen.
Nächste Schritte
- Informationen zum Verwalten von Themenabos mit dem Admin SDK oder über Ihre Client-App
- Nachrichten an Themen senden – mit dem Admin SDK oder der FCM v1 HTTP API