Themenbezogene Nachrichten

FCM Themennachrichten ermöglichen es Ihnen, eine Nachricht an mehrere Geräte zu senden die sich für ein bestimmtes Thema angemeldet haben. Sie verfassen Themennachrichten nach Bedarf, und FCM übernimmt das Routing und die zuverlässige Zustellung der Nachricht an die richtigen Geräte.

Wichtige Informationen zu Themennachrichten:

  • 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 eine schnelle, sichere Zustellung an einzelne Geräte oder kleine Gruppen, senden Sie Nachrichten an Registrierungstokens anstelle von Themen.

Kontingente und Limits

Themennachrichten unterstützen unbegrenzte Abos für jedes Thema. FCM erzwingt jedoch FCM Limits in den folgenden Bereichen:

  • Eine App-Instanz kann für maximal 2.000 Themen angemeldet sein.
  • Wenn Sie App-Instanzen mit Batch-Abos anmelden, ist jede Anfrage auf 1.000 App-Instanzen beschränkt.

Drosselung von Abos

Die Rate für das Hinzufügen oder Entfernen von Themenabos ist auf 3.000 Anfragen pro Sekunde und Projekt beschränkt.

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 ("QUOTA_EXCEEDED") Antwort. Wiederholen Sie den Vorgang mit exponentiellem Backoff.

Fanout-Drosselung

Als Fanout von Nachrichten wird das Senden einer Nachricht an mehrere Geräte bezeichnet, z. B. wenn Sie Themen und Gruppen ansprechen oder den Benachrichtigungs-Composer verwenden, um Zielgruppen oder Nutzersegmente anzusprechen.

Der Fanout von Nachrichten erfolgt nicht sofort. Daher kann es vorkommen, dass mehrere Fanouts gleichzeitig ausgeführt werden. Wir beschränken die Anzahl gleichzeitiger Fanouts von Nachrichten pro Projekt auf 1.000. Danach lehnen wir möglicherweise zusätzliche Fanout-Anfragen ab oder verschieben den Fanout der 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 Anfragen pro Sekunde für ein einzelnes Projekt ist nicht ungewöhnlich, aber diese Zahl ist keine Garantie und ergibt sich aus der Gesamtlast des Systems. Die verfügbare Fanout-Kapazität wird auf Projekte aufgeteilt und nicht auf Fanout-Anfragen. Wenn also in Ihrem Projekt zwei Fanouts ausgeführt werden, wird für jeden Fanout nur die Hälfte der verfügbaren Fanout-Rate verwendet. Um die Fanout-Geschwindigkeit zu maximieren, sollten Sie jeweils nur einen aktiven Fanout ausführen.

Nächste Schritte