Themenabonnement bei Push-Benachrichtigungen — Was es ist, wie es funktioniert und eingerichtet wird

Autor: IT Sectr Veröffentlicht: 2026-03-21 Lesezeit: 8 Min.

Das Themenabonnement ist ein Mechanismus von Firebase Cloud Messaging, der es ermöglicht, Geräte nach Interessen zu gruppieren und Benachrichtigungen an ganze Abonnentenkategorien zu senden. Anstatt an Tausende einzelner Registration Tokens zu senden, reicht es aus, eine Nachricht an ein Thema zu senden. Laut Firebase, 2025 wird das Themenabonnement in Nachrichten-Apps, Sportübertragungen und Marketingkampagnen für die massenhafte Zustellung von Benachrichtigungen verwendet.

Wichtige Punkte

  • Themenabonnement — das Abonnement eines Geräts auf einen thematischen FCM-Kanal zum Empfang von Gruppenbenachrichtigungen.
  • Ein einzelnes Gerät kann eine unbegrenzte Anzahl von Themen abonnieren.
  • Das Abonnement wird sowohl vom Client als auch vom Server über die FCM HTTP API verwaltet.
  • Das Thema wird beim ersten Abonnement automatisch erstellt — keine Vorkonfiguration erforderlich.
  • Um an ein Thema zu senden, genügt es, dessen Namen anstelle einer Token-Liste anzugeben.

Was ist ein Themenabonnement in FCM

Ein Themenabonnement ist ein Mechanismus zur Gruppen-Zustellung von Push-Benachrichtigungen, bei dem Geräte benannte Kanäle (Themen) abonnieren und Nachrichten erhalten, die an diese Kanäle gesendet werden. Jedes Thema wird durch einen String-Namen identifiziert, wie news_sports oder weather_alerts.

Funktionsweise von Themen

Wenn ein Gerät ein Thema abonniert, fügt FCM seinen Registration Token zur Empfängerliste dieses Themas hinzu. Beim Senden einer Nachricht an das Thema leitet FCM automatisch eine Kopie an jedes abonnierte Gerät weiter. Firebase begrenzt die Anzahl der Abonnements pro Gerät nicht — eine App kann einen Benutzer gleichzeitig für Dutzende von Themen anmelden.

Themen vs. Einzelversand

Der Hauptvorteil von Themen ist die Skalierbarkeit. Um eine Benachrichtigung an eine Million Benutzer zu senden, ist nur eine HTTP-Anfrage an FCM mit dem Themennamen erforderlich. Beim Einzelversand wären eine Million Anfragen oder ein Batch-Versand von bis zu 500 Token auf einmal nötig. Themen vereinfachen auch die serverseitige Logik — es müssen keine Token-Listen für jede Kategorie gespeichert werden.

ParameterEinzelversandThemenabonnement
Anzahl der AnfragenEine pro Token oder Batch bis 500Eine pro Thema
AbonnementverwaltungAuf dem Server (Token-Liste)Auf Client oder Server
Dynamische GruppenErfordern ListenaktualisierungAutomatisch via Abonnement
EmpfängerlimitBis zu 500 pro AnfrageUnbegrenzt

Anwendungsbeispiele für Themen

Das Themenabonnement wird häufig in Nachrichten-Apps zur Kategorisierung von Inhalten verwendet — das Abonnieren der Themen „Sport“, „Politik“, „Technologie“ ermöglicht die Zustellung relevanter Benachrichtigungen. Im E-Commerce werden Themen für Benachrichtigungen über Rabatte in bestimmten Produktkategorien genutzt. In Messengern und sozialen Netzwerken werden Themen für Benachrichtigungen über Ereignisse in Gruppen verwendet.

FCM-Einschränkungen und Kontingente

Firebase legt Beschränkungen für die Arbeit mit Themen fest. Eine einzelne App kann bis zu 2000 Themen haben. Jedes Gerät kann maximal 2000 Themen abonnieren. Auch die Häufigkeit von Abonnement-/Kündigungsvorgängen ist begrenzt — maximal 3000 Operationen pro Minute pro Projekt. Das Überschreiten dieser Grenzen führt zu einer vorübergehenden Sperrung. Für Projekte mit einer großen Anzahl von Themen wird empfohlen, Bedingungen anstelle von Themen zu verwenden — FCM unterstützt logische Ausdrücke für das Targeting.

Wie funktioniert das Themenabonnement

Der Prozess des Themenabonnements besteht aus drei Phasen: Initialisierung des Abonnements auf dem Client, Registrierung in der FCM-Infrastruktur und Bestätigung des Vorgangs. Nach erfolgreichem Abonnement beginnt das Gerät, Nachrichten zu empfangen, die an dieses Thema gesendet werden.

Lebenszyklus des Abonnements

Wenn der Client die Methode subscribeToTopic() aufruft, sendet das Firebase SDK eine Anfrage an die FCM-Server. Der Server überprüft die Gültigkeit des Vorgangs und fügt den Geräte-Token zur Abonnentenliste des Themas hinzu. FCM sendet dem Client eine Bestätigung des erfolgreichen Abonnements. Ab diesem Zeitpunkt werden alle Nachrichten an dieses Thema an das Gerät zugestellt.

Automatische Erstellung von Themen

Ein Thema muss nicht vorab in der Firebase-Konsole erstellt werden. Wenn das erste Gerät ein Thema mit dem Namen news_promo abonniert, erstellt FCM es automatisch. Wenn das letzte Gerät kündigt, bleibt das Thema im System, jedoch inaktiv, und nimmt den Betrieb bei einem neuen Abonnement wieder auf.

Themenabonnement auf Android

Auf Android erfolgt das Abonnieren und Kündigen von Themen über das FirebaseMessaging SDK. Die Methoden subscribeToTopic() und unsubscribeFromTopic() akzeptieren den Themennamen als Parameter. Die Operationen sind asynchron und erfordern eine Ergebnisverarbeitung.

Basis-Abonnement eines Themas

Zum Abonnieren genügt es, subscribeToTopic() mit dem Namen des gewünschten Themas aufzurufen. Das Firebase SDK verwaltet Netzwerkanfragen und Wiederholungsversuche bei Fehlern automatisch. Es wird empfohlen, Themen nach erfolgreichem Erhalt eines Registration Tokens zu abonnieren.

kotlin
class TopicSubscriber(private val context: Context) {

    fun subscribeToNewsTopic() {
        FirebaseMessaging.getInstance()
            .subscribeToTopic("news_latest")
            .addOnCompleteListener { task ->
                val msg = if (task.isSuccessful) {
                    "Subscribed to news topic"
                } else {
                    "Subscription failed"
                }
                Log.d("FCM", msg)
            }
    }

    fun unsubscribeFromNewsTopic() {
        FirebaseMessaging.getInstance()
            .unsubscribeFromTopic("news_latest")
            .addOnCompleteListener { task ->
                Log.d("FCM", "Gekündigt: ${task.isSuccessful}")
            }
    }
}

Verwaltung mehrerer Abonnements

In realen Apps kann ein Benutzer mehrere Kategorien abonnieren. Für eine bequeme Verwaltung erstellen Sie eine Manager-Klasse, die den Abonnementstatus mit dem Server synchronisiert. Wenn ein Benutzer sich anmeldet, stellen Sie seine Abonnements aus dem Profil wieder her.

kotlin
class SubscriptionManager(private val context: Context) {

    private val fcm = FirebaseMessaging.getInstance()

    suspend fun syncSubscriptions(topics: List<String>) {
        topics.forEach { topic ->
            fcm.subscribeToTopic(topic).await()
        }
    }

    suspend fun removeAllSubscriptions() {
        val savedTopics = getSavedTopics()
        savedTopics.forEach { topic ->
            fcm.unsubscribeFromTopic(topic).await()
        }
    }

    private fun getSavedTopics(): List<String> {
        return listOf("news_latest", "promotions", "updates")
    }
}

Themenabonnement auf iOS

Auf iOS ist der Prozess des Themenabonnements logisch identisch mit Android, verwendet aber die Swift Firebase Messaging API. Die Methoden subscribe und unsubscribe werden auf der Messaging-Instanz aufgerufen und sind ebenfalls asynchron.

Implementierung des Abonnements auf iOS

Um ein Thema in einer iOS-App zu abonnieren, verwenden Sie die Methode Messaging.subscribe(). Es ist wichtig, das Abonnement nach der Firebase-Initialisierung und dem Erhalt des Registration Tokens aufzurufen. Apple empfiehlt, vor dem Abonnieren von Themen die Benachrichtigungsberechtigung anzufordern.

swift
import FirebaseMessaging

class PushTopicManager {

    func subscribeToTopic(topic: String) {
        Messaging.messaging().subscribe(toTopic: topic) { error in
            if let error = error {
                Log.e("FCM", "Abonnementfehler: \(error)")
            } else {
                Log.d("FCM", "Abonniert unter \(topic)")
            }
        }
    }

    func unsubscribeFromTopic(topic: String) {
        Messaging.messaging().unsubscribe(fromTopic: topic) { error in
            if let error = error {
                Log.e("FCM", "Kündigungsfehler: \(error)")
            }
        }
    }
}

Besonderheiten von iOS-Abonnements

Auf iOS ist das Themenabonnement ebenfalls an den Registration Token gebunden, den Firebase von APNs erhält. Wenn sich der APNs-Token ändert (z.B. nach einer Gerätewiederherstellung), überträgt Firebase die Abonnements automatisch auf den neuen Token. In seltenen Fällen kann jedoch eine erneute Abonnierung nach einer Aktualisierung des Registration Tokens erforderlich sein.

Verwaltung von Abonnements vom Server

Die serverseitige Verwaltung von Abonnements ermöglicht das Abonnieren und Kündigen von Geräten ohne Einbeziehung der Client-App. Dies ist nützlich für Administration, A/B-Tests und die Verwaltung von Abonnements auf der Backend-Seite.

FCM HTTP API zur Abonnementverwaltung

Firebase bietet eine REST-API zur Massenverwaltung von Abonnements. Der Endpunkt /v1/projects/{project_id}/subscriptions ermöglicht das Abonnieren von bis zu 1000 Geräten in einer einzigen Anfrage. Die API verwendet die Registration Tokens der Geräte zur Identifikation.

js
const admin = require("firebase-admin")

async function subscribeUsersToTopic(tokens, topic) {
    try {
        const response = await admin
            .messaging()
            .subscribeToTopic(tokens, topic)
        Log.info(`Success: ${response.successCount}`)
        Log.info(`Failures: ${response.failureCount}`)
    } catch (error) {
        Log.error("Abonnementfehler", error)
    }
}

Anwendungsszenarien der Serververwaltung

Die serverseitige Abonnementverwaltung wird in mehreren Szenarien eingesetzt. Bei der Registrierung eines Benutzers abonniert der Server ihn automatisch für Basisthemen. Wenn sich die Präferenzen in der Webversion ändern, synchronisiert der Server die Abonnements auf dem mobilen Gerät. Administratoren können Testgeräte für interne Themen zu Debugging-Zwecken abonnieren. Für Massenoperationen bietet FCM die Instance Group-Methode, die die Verwaltung von Abonnements einer Gerätegruppe über eine einzige Gruppenkennung ermöglicht.

Überwachung des Abonnementstatus

Firebase bietet keine integrierte API zur Überprüfung der aktuellen Abonnements eines Geräts. Entwicklern wird empfohlen, eine eigene Abonnementdatenbank auf der Serverseite zu führen. Bei jedem App-Start synchronisiert der Client seine Abonnements mit dem Server, indem er die Liste der aktiven Themen sendet. Dies hilft, Desynchronisation zu erkennen und Abonnements bei Bedarf wiederherzustellen. Für Audits verwenden Sie die Logs von Firebase Cloud Functions — jeder subscribe/unsubscribe-Vorgang kann protokolliert werden.

Häufig gestellte Fragen

Wie viele Themen können in einem Firebase-Projekt erstellt werden?

Die maximale Anzahl von Themen beträgt 2000 pro App. Wenn Sie mehr benötigen, ziehen Sie die Verwendung von Gerätegruppen oder den Einzelversand per Token in Betracht.

Wie erfahre ich, welche Themen ein Gerät abonniert hat?

Firebase bietet keine direkte API zum Abrufen der Abonnementliste eines Geräts. Entwicklern wird empfohlen, den Abonnementstatus auf ihrem eigenen Server zu speichern und mit dem Client zu synchronisieren.

Was passiert beim Kündigen eines nicht existierenden Themas?

FCM gibt ein erfolgreiches Ergebnis zurück. Firebase behandelt die Kündigung eines nicht existierenden Themas als No-op-Operation — es werden keine Fehler erzeugt, der Status ändert sich nicht.

Kann ich von der Firebase-Konsole aus Benachrichtigungen an ein Thema senden?

Ja, in der Firebase-Konsole im Bereich Cloud Messaging können Sie ein Thema als Zielgruppe auswählen und über die Weboberfläche eine Test- oder Produktionsbenachrichtigung senden.

Wie schnell wird ein Themenabonnement wirksam?

Normalerweise wird das Abonnement innerhalb weniger Sekunden aktiviert. In seltenen Fällen kann die Verzögerung aufgrund der Verteilung über die FCM-Server jedoch 30–60 Sekunden betragen.

Zusammenfassung

  • Das Themenabonnement ist ein Mechanismus zur Gruppen-Zustellung von Push-Benachrichtigungen über Firebase Cloud Messaging.
  • Das Abonnement erfolgt vom Client aus mit den Methoden subscribeToTopic() (Android) oder subscribe() (iOS).
  • Ein einzelnes Gerät kann gleichzeitig bis zu 2000 Themen abonnieren.
  • Die Server-API ermöglicht die Verwaltung von Abonnements für bis zu 1000 Geräte in einer einzigen Anfrage.
  • Ein Thema wird beim ersten Abonnement automatisch erstellt und erfordert keine Vorkonfiguration.
  • Das Themenabonnement ist dem Einzelversand vorzuziehen, wenn mit großen Zielgruppen gearbeitet wird.
  • Kombinieren Sie für kritische Benachrichtigungen Themen mit Einzelversand, um die Zustellung zu gewährleisten.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch