FCM — was es ist, Prinzipien von Firebase Cloud Messaging in der Entwicklung

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

FCM (Firebase Cloud Messaging) ist ein plattformübergreifender Dienst von Google zur Zustellung von Push-Benachrichtigungen und zur Datenübertragung zwischen einem Server und mobilen Anwendungen. Es unterstützt Android, iOS und Web-Plattformen über eine einheitliche API. Laut der Firebase-Dokumentation verarbeitet FCM weltweit täglich über 1 Milliarde Nachrichten.

Wichtige Punkte

  • FCM ist ein plattformübergreifender Google-Dienst zum Senden von Push-Benachrichtigungen und Daten
  • Architektur — der Client erhält ein Registrierungstoken, der Server sendet Nachrichten über den Firebase Connection Server
  • Nachrichtentypen — notification (automatische Anzeige) und data (vollständige Verarbeitung in der App)
  • Zustellung — FCM verwendet eine dauerhafte Verbindung oder Prioritätswarteschlangen zur garantieren Zustellung
  • Integration — Einrichtung über Firebase SDK, Konfiguration von google-services.json und Serverkonfiguration

Was ist FCM?

Firebase Cloud Messaging (FCM) ist ein Cloud-Dienst von Google, der die zuverlässige Zustellung von Push-Benachrichtigungen und Datenmeldungen an mobile Geräte gewährleistet. Früher als Google Cloud Messaging (GCM) bekannt, ist FCM zum primären Werkzeug für plattformübergreifende Benachrichtigungen im Firebase-Ökosystem geworden.

FCM wählt automatisch den optimalen Zustellungskanal je nach Plattform aus: Auf Android wird die eigene FCM-Verbindung verwendet, auf iOS APNS (über das FCM-Gateway). Der Entwickler muss nicht zwei verschiedene Integrationen implementieren — FCM übernimmt das Routing.

Der Dienst bietet eine einheitliche REST-API und ein Admin-SDK zum Senden von Nachrichten. Dies ermöglicht das Senden von Benachrichtigungen von der Serverseite ohne Bindung an eine bestimmte Empfängerplattform.

Wichtige Funktionen von FCM

FCM unterstützt mehrere Zustellungsmodi: eine einzelne Nachricht an ein bestimmtes Gerät, Gruppenübertragung nach Thema und segmentiertes Senden nach Bedingungen. Geplantes Senden und A/B-Tests von Benachrichtigungsinhalten sind ebenfalls verfügbar.

Wie funktioniert Firebase Cloud Messaging?

Die FCM-Architektur basiert auf drei Komponenten: der Client-Anwendung, dem Firebase Connection Server und dem App-Server. Der Client registriert sich beim Start bei FCM und erhält ein eindeutiges Registrierungstoken — eine Zeichenfolge, die das Gerät für die jeweilige Anwendung identifiziert.

Der App-Server sendet eine Anfrage an die FCM-REST-API und gibt das Empfängertoken oder Thema an. Der Firebase Connection Server stellt die Nachricht über eine dauerhafte XMPP-Verbindung oder HTTP-Anfrage zu. Wenn das Gerät offline ist, wird die Nachricht in die Warteschlange gestellt und bei Wiederherstellung der Verbindung zugestellt.

FCM garantiert die Zustellung mittels Prioritätswarteschlangen und einem Bestätigungsmechanismus. Auf Android wird die Nachricht bis zu 28 Tage in der Warteschlange gespeichert, auf iOS bis zu 4 Wochen (über APNS). Nach Ablauf der Gültigkeitsdauer wird die Nachricht ohne Benachrichtigung gelöscht.

Lebenszyklus des FCM-Tokens

Das Registrierungstoken kann sich in mehreren Fällen ändern: beim Wiederherstellen von App-Daten, beim Aktualisieren auf eine neue Version oder beim Löschen des Caches. Die App muss FirebaseMessagingService.onNewToken implementieren, um Token-Aktualisierungen zu verarbeiten und mit dem Server zu synchronisieren.

Arten von FCM-Nachrichten

FCM unterstützt zwei Arten von Nutzlasten: notification und data. Jeder Typ bestimmt, wie und wann die Nachricht auf dem Empfängergerät verarbeitet wird.

ParameterNotificationData
Automatische AnzeigeJa, wenn die App im Hintergrund istNein, nur in der App
VerarbeitungSystem/NOS — im Hintergrund; App — im VordergrundImmer in der App (onMessageReceived)
Maximale Größe4 KB4 KB
Benutzerdefinierte SchlüsselAuf vordefinierte Felder beschränktBeliebige Schlüssel-Wert-Paare
Erfordert CollapseKeyOptionalOptional zum Gruppieren

In der Praxis wird empfohlen, data-Nachrichten zu verwenden, wenn die App eine vollständige Benachrichtigungsverarbeitung in onMessageReceived benötigt. Notification-Nachrichten eignen sich für einfache Szenarien, in denen die Systemanzeige ausreicht.

FCM und APNS: Vergleich der Ansätze

FCM und APNS sind die beiden wichtigsten Push-Zustellungsdienste. FCM fungiert als plattformübergreifendes Gateway, während APNS nur für das Apple-Ökosystem gedacht ist. Ihre Hauptunterschiede liegen in der Architektur, den Zertifikatsanforderungen und den Routing-Mechanismen.

  • Plattformübergreifend — FCM unterstützt Android, iOS, Web; APNS nur iOS, macOS, watchOS, tvOS
  • Authentifizierung — FCM verwendet Server Key oder OAuth 2.0; APNS verwendet ein Zertifikat oder Token-based (p8-Schlüssel)
  • Nachrichtenpriorität — FCM hat normal/high; APNS hat immediate/power-efficient consideration
  • Themen — FCM unterstützt standardmäßig Themenabonnements; APNS erfordert Serverlogik

Die Wahl zwischen FCM und direktem APNS hängt von der Projektarchitektur ab. Für plattformübergreifende Anwendungen ist FCM die optimale Wahl. Für reine iOS-Projekte ist die direkte Arbeit mit APNS über die HTTP/2-API akzeptabel.

Wann FCM statt direktem APNS wählen

FCM ist gerechtfertigt, wenn das Projekt sowohl Android als auch iOS gleichzeitig verwendet, sowie wenn Firebase-Analysen, A/B-Tests von Benachrichtigungen oder Themen ohne Serverlogik benötigt werden. Direktes APNS ist für reine iOS-Anwendungen mit minimalen Abhängigkeiten und strengen Latenzanforderungen vorzuziehen.

FCM-Integration in Android

Um FCM mit einer Android-Anwendung zu verbinden, müssen Sie das Firebase SDK hinzufügen und google-services.json im Projektstamm konfigurieren. Nach der Token-Registrierung ist die Anwendung bereit, Nachrichten über FirebaseMessagingService zu empfangen.

kotlin
// build.gradle (Module)
dependencies {
    implementation("com.google.firebase:firebase-messaging:24.1.0")
}

// AndroidManifest.xml
<service android:name=".MyFirebaseMessagingService"
    android:exported="false">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT"/>
    </intent-filter>
</service>

class MyFirebaseMessagingService :
    FirebaseMessagingService() {

    override fun onNewToken(token: String) {
        sendTokenToServer(token)
    }

    override fun onMessageReceived(message: RemoteMessage) {
        message.notification?.let {
            showNotification(it.title, it.body)
        }
    }
}

Nach der Einrichtung erhält die Anwendung beim ersten Start automatisch ein FCM-Token. Das Token muss an den App-Server gesendet werden, um später Benachrichtigungen an dieses Gerät senden zu können.

Einrichten eines Kanals für FCM-Benachrichtigungen

Unter Android 8+ muss vor dem Senden einer FCM-Benachrichtigung mit automatischer Anzeige ein NotificationChannel erstellt werden. FCM-Notification-Nachrichten verwenden die Standard-Kanal-ID, aber es wird empfohlen, beim Empfang der ersten Nachricht einen benutzerdefinierten Kanal über FirebaseMessagingService zu erstellen. Data-Nachrichten benötigen keinen Kanal — die App entscheidet selbst, wie und wann die Benachrichtigung angezeigt wird.

FCM-Integration in iOS

Unter iOS fungiert FCM als Vermittler zwischen dem App-Server und APNS. Firebase empfängt die Nachricht vom Server, verpackt sie im APNS-Format und sendet sie über das Apple-Gateway. Der Entwickler muss einen APNS-Schlüssel oder ein Zertifikat in der Firebase-Konsole konfigurieren.

swift
import FirebaseMessaging
import UserNotifications

class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        FirebaseApp.configure()
        UNUserNotificationCenter.current().delegate = self

        Messaging.messaging().delegate = self
        return true
    }
}

extension AppDelegate: MessagingDelegate {
    func messaging(
        _ messaging: Messaging,
        didReceiveRegistrationToken fcmToken: String?
    ) {
        UserDefaults.standard.set(fcmToken, forKey: "fcm_token")
    }
}

Unter iOS erfolgt die APNS-Registrierung asynchron. Das FCM SDK ruft automatisch das APNS-Token ab und übergibt es an den Firebase-Server. didReceiveRegistrationToken wird ausgelöst, wenn ein neues FCM-Token empfangen wird, das das APNS-Token mit der Projektkennung kombiniert.

Überprüfung des Zustellungsstatus

FCM bietet eine Firebase-Konsole zur Überwachung der Zustellung: die Anzahl der gesendeten, empfangenen und angezeigten Benachrichtigungen. Ein Status-Callback über Firebase Cloud Functions steht ebenfalls zur Verfügung, um Zustellungsfehler auf der Serverseite zu verfolgen. Wichtige Kennzahlen: Impressionen und Öffnungen von Benachrichtigungen.

FCM-Best Practices

Bei der Arbeit mit FCM ist es wichtig, den richtigen Nachrichtentyp für jedes Szenario zu wählen. Für einfache Benachrichtigungen mit automatischer Anzeige verwenden Sie Notification-Nachrichten. Für Fälle, in denen die App Daten vor der Anzeige verarbeiten muss, verwenden Sie data-Nachrichten. Ein gemischter Typ (notification + data) wird nur empfohlen, wenn die Daten für Analysen benötigt werden und nicht zum Ändern des Benachrichtigungsinhalts.

Verwalten Sie Token zentral. Speichern Sie aktuelle Token auf dem Server in einer Tabelle, die mit Benutzer und Plattform verknüpft ist. Implementieren Sie einen Bereinigungsmechanismus für veraltete Token: Wenn ein NotRegistered- oder InvalidRegistration-Fehler auftritt, löschen Sie das Token aus der Datenbank. Token ändern sich selten, aber ihre Bereinigung ist ein obligatorischer Bestandteil des FCM-Supports.

Verwenden Sie CollapseKeys (collapseKey) zum Gruppieren von Nachrichten. Wenn Sie mehrere Benachrichtigungen desselben Typs senden (z.B. „Wechselkursaktualisierung“), legen Sie denselben collapseKey fest. FCM stellt nur die letzte Nachricht aus der Gruppe zu, wodurch die Geräteauslastung reduziert und eine Überflutung des Benutzers mit Benachrichtigungen vermieden wird.

Überwachen Sie die Zustellung über die Firebase-Konsole und Cloud Functions. FCM-Analysen zeigen die Anzahl der gesendeten, empfangenen und angezeigten Benachrichtigungen. Wenn die Anzeigerate unter 70 % liegt, überprüfen Sie die Kanaleinstellungen unter Android und die Berechtigungseinstellungen unter iOS. Eine niedrige Zustellrate hängt oft mit deaktivierten Kanälen oder Benachrichtigungsverboten zusammen. Fünftens: Verwenden Sie Firebase A/B-Tests, um den Benachrichtigungstext und den Sendezeitpunkt zu optimieren — dies erhöht die Öffnungsrate laut Firebase-Daten um 15–25 %.

Häufig gestellte Fragen

Was ist der Unterschied zwischen FCM und GCM?

FCM ist die Weiterentwicklung von GCM (Google Cloud Messaging). FCM bietet eine vereinfachte Einrichtung über die Firebase-Konsole, integrierte Analysen, Themen und Web-Push-Unterstützung. GCM wurde im April 2019 offiziell eingestellt, alle Projekte müssen auf FCM migriert werden.

Wie viele Nachrichten können kostenlos über FCM gesendet werden?

Firebase Cloud Messaging ist ein kostenloser Dienst ohne Begrenzung der Nachrichtenanzahl. Die Bezahlung erfolgt nur für die Nutzung anderer Firebase-Dienste wie Cloud Functions oder Firestore. FCM erfordert kein Spark- oder Blaze-Abonnement für die grundlegende Benachrichtigungszustellung.

Warum kann sich das FCM-Token ändern?

Das FCM-Token ändert sich bei: Wiederherstellung der App aus einem Backup, Löschen der App-Daten, Neuinstallation, Update auf eine neue Version mit geänderter Sender-ID. Behandeln Sie immer onNewToken in FirebaseMessagingService, um das neue Token an den Server zu senden.

Funktioniert FCM in China?

Google FCM ist in China gesperrt. Für die Zustellung von Benachrichtigungen in China werden alternative Dienste verwendet: Huawei Push Kit, MiPush (Xiaomi), Oppo Push, Vivo Push. Für die plattformübergreifende Zustellung werden Multi-Provider-Dienste wie Getui verwendet.

Wie überprüft man, ob FCM korrekt konfiguriert ist?

Verwenden Sie die integrierte Firebase-Konsole: Wählen Sie „Cloud Messaging“ — „Send Test Message“. Geben Sie ein Test-Token ein und senden Sie eine Notification-Nachricht. Die Benachrichtigung sollte auf dem Gerät erscheinen. Sie können auch die FirebaseMessagingService.onMessageReceived-Protokolle überwachen.

Zusammenfassung

  • FCM ist ein plattformübergreifender Cloud-Dienst von Google zur Zustellung von Push-Benachrichtigungen und Daten
  • Token ist eine eindeutige Gerätekennung, die für die gezielte Nachrichtenzustellung verwendet wird
  • Notification ist ein Nachrichtentyp mit automatischer Anzeige durch das System im Hintergrundmodus
  • Data ist ein Nachrichtentyp mit vollständiger Nutzlast, die nur innerhalb der App verarbeitet wird
  • Themen ist ein Gruppenübertragungsmechanismus basierend auf Themenabonnements ohne Speicherung von Token auf dem Server
  • APNS-Gateway — für iOS fungiert FCM als Vermittler, der Nachrichten über APNS weiterleitet
  • Kostenlos — FCM berechnet keine Gebühren für die Anzahl der gesendeten Nachrichten

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