Registration Token bei Push-Benachrichtigungen: Was es ist, Methoden zum Abruf und zur Aktualisierung

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

Registration Token ist eine eindeutige Gerätekennung, die Firebase Cloud Messaging (FCM) zur Zustellung von Push-Benachrichtigungen verwendet. Jede App auf jedem Gerät erhält ihren eigenen Token, ohne den das Senden von Benachrichtigungen unmöglich ist. Laut Firebase, 2025 wird der Registration Token beim ersten Start der App automatisch generiert und kann sich unter bestimmten Bedingungen ändern.

Wichtige Punkte

  • Registration Token ist eine Zeichenfolge, die eine App-Instanz auf einem bestimmten Gerät für FCM identifiziert.
  • Der Token wird beim ersten Start oder nach dem Löschen von App-Daten automatisch generiert.
  • FCM verwendet den Token, um Push-Benachrichtigungen an das richtige Gerät weiterzuleiten.
  • Der Token kann sich ändern — die App muss Updates über onNewToken abonnieren.
  • Zum Senden von Benachrichtigungen muss der Server die aktuellen Tokens aller Geräte speichern.

Was ist ein Registration Token

Registration Token ist eine eindeutige Zeichenfolge mit einer Länge von bis zu 4096 Zeichen, die Firebase Cloud Messaging jeder App-Instanz zuweist. Der Token wird basierend auf der Anwendungs-ID, der Geräte-ID und dem Google-Konto auf dem Gerät gebildet.

Struktur und Zweck des Tokens

Ein Registration Token besteht aus einer zufälligen Zeichenfolge, die im Base64-Format codiert ist. FCM verwendet diesen Token als Zustelladresse — der Server sendet eine Benachrichtigung an den Token, und FCM leitet sie an das entsprechende Gerät weiter. Ohne einen Token ist es unmöglich, eine Push-Benachrichtigung an einen bestimmten Benutzer zu adressieren.

Unterschiede zu anderen Kennungen

Ein Registration Token sollte nicht mit der Device ID (IMEI) oder der Advertising ID verwechselt werden. Die Device ID ist eine Hardware-Kennung des Geräts, während die Advertising ID für Werbezwecke verwendet wird. Der Registration Token ist an die Kombination von App und Gerät gebunden, und ein Gerät kann mehrere Tokens für verschiedene Apps haben.

KennungZweckVeränderbarkeit
Registration TokenFCM-Push-BenachrichtigungszustellungKann sich ändern
Device ID (IMEI)Hardware-IdentifikationPermanent
Advertising IDTargeted AdvertisingKann zurückgesetzt werden
Instance IDLegacy-Firebase-MechanismusÄnderte sich bei Löschung

Wann ein Token als ungültig gilt

FCM kann einen Registration Token in mehreren Situationen als ungültig betrachten. Wenn die App vom Gerät entfernt wird, wird der Token automatisch widerrufen. Bei der Wiederherstellung von Daten aus einem Backup auf einem neuen Gerät funktioniert der alte Token nicht mehr. Firebase gibt außerdem den Status UNREGISTERED zurück, wenn versucht wird, eine Benachrichtigung an einen veralteten Token zu senden.

Wie FCM einen Registration Token zuweist

Firebase Cloud Messaging generiert einen Registration Token, wenn die App zum ersten Mal gestartet und die Methode getToken() aufgerufen wird. Der Prozess umfasst die Überprüfung der Google Play Services-Anmeldeinformationen und die Registrierung der App in der Firebase-Infrastruktur.

Geräteregistrierungsprozess

Wenn ein Gerät zum ersten Mal eine App mit integriertem FCM SDK ausführt, geschieht Folgendes. Das Firebase SDK prüft die Verfügbarkeit von Google Play Services auf dem Gerät. Dann sendet das SDK eine Anfrage an die Firebase-Server, wobei es die Anwendungs-ID und Geräteinformationen übermittelt. Der Firebase-Server erstellt einen neuen Token und gibt ihn an die App zurück.

Interne Mechanik von FCM

FCM verwendet eine Architektur, die auf langlebigen Verbindungen basiert. Nach Erhalt eines Registration Token stellt das Gerät eine dauerhafte Verbindung zu den Firebase-Servern her — über das STOMP-Protokoll auf Android oder den APNs-Kanal auf iOS. Wenn der Server eine Benachrichtigung an den Token sendet, findet FCM das Gerät anhand des Tokens und liefert die Nutzlast aus.

Bedingungen für die Token-Neugenerierung

Ein Registration Token kann in folgenden Fällen von FCM neu generiert werden. Bei der Wiederherstellung einer App aus einem Backup auf einem neuen Gerät. Beim Löschen und erneuten Installieren der App. Beim Löschen von App-Daten über die Systemeinstellungen. Bei der Anmeldung mit einem anderen Google-Konto auf dem Gerät. Firebase empfiehlt, stets den onNewToken-Callback zu behandeln, um Änderungen zu verfolgen.

Registration Token auf Android abrufen

Auf Android wird der Registration Token über das Firebase Messaging SDK abgerufen. Der Prozess unterscheidet sich je nach SDK-Version — neuere Versionen verwenden die FirebaseInstallations-API anstelle der veralteten FirebaseInstanceId.

Moderne Methode über FirebaseInstallations

Ab Firebase SDK Version 21.0.0 wird die Methode getToken() über FirebaseMessaging aufgerufen. Dieser Ansatz verwaltet den Token-Lebenszyklus automatisch und abonniert dessen Updates.

kotlin
class MyFirebaseMessagingService : FirebaseMessagingService() {

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

    private fun sendRegistrationToServer(token: String) {
        // Token an Server senden
        Log.d("FCM", "New token: $token")
    }

    init {
        FirebaseMessaging.getInstance()
            .getToken()
            .addOnCompleteListener { task ->
                if (!task.isSuccessful) {
                    Log.w("FCM", "FCM-Token abrufen fehlgeschlagen")
                    return@addOnCompleteListener
                }
                val token = task.result
                sendRegistrationToServer(token)
            }
    }
}

Token-Behandlung in Activity oder ViewModel

In einigen Szenarien wird der Token nicht im Dienst, sondern direkt in einer Activity oder einem ViewModel benötigt. Dazu kann getToken() an einem geeigneten Punkt im App-Lebenszyklus aufgerufen werden. Es ist wichtig, diese Methode nicht vom Hauptthread aus aufzurufen, ohne die Asynchronität zu behandeln.

kotlin
class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        getFCMToken()
    }

    private fun getFCMToken() {
        FirebaseMessaging.getInstance().getToken()
            .addOnCompleteListener { task ->
                if (task.isSuccessful) {
                    val token = task.result
                    Log.d("FCM", "Token: $token")
                }
            }
    }
}

Legacy-Methode FirebaseInstanceId

In älteren Versionen des Firebase SDK (vor Version 20.x) wurde der Token über FirebaseInstanceId.getInstance().getToken() abgerufen. Diese Methode ist als veraltet markiert und wird für neue Projekte nicht empfohlen. Entwickler, die Legacy-Code warten, sollten auf die FirebaseInstallations-API migrieren.

Registration Token auf iOS abrufen

Auf iOS unterscheidet sich der Abrufprozess des Registration Token architektonisch — FCM funktioniert über den Apple Push Notification Service (APNs). Das Firebase SDK erhält von APNs einen eindeutigen Gerätetoken, konvertiert ihn in das FCM-Format und übergibt ihn an die App.

APNs-Einrichtung und Token-Abruf

Um FCM auf iOS zu verwenden, muss ein APNs-Zertifikat oder -Schlüssel in der Firebase-Konsole konfiguriert werden. Die App muss die Berechtigung für Benachrichtigungen über UNUserNotificationCenter anfordern. Nach Erhalt des APNs-Tokens generiert das Firebase SDK automatisch den Registration Token.

swift
import FirebaseMessaging
import UserNotifications

class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(
        application: UIApplication,
        didFinishLaunchingWithOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        FirebaseApp.configure()
        Messaging.messaging().delegate = self
        requestNotificationAuthorization()
        return true
    }

    private func requestNotificationAuthorization() {
        let center = UNUserNotificationCenter.current()
        center.requestAuthorization(options: [.alert, .sound, .badge])
    }
}

extension AppDelegate: MessagingDelegate {
    func messaging(
        messaging: Messaging,
        didReceiveRegistrationToken fcmToken: String?
    ) {
        Log.d("FCM", "Token: \(fcmToken ?? "")")
        sendTokenToServer(token: fcmToken)
    }
}

Unterschiede zwischen iOS- und Android-Token

Der Registration Token auf iOS ist im Vergleich zum Android-Token kleiner, da er auf dem APNs-Gerätetoken basiert. Das Firebase SDK aktualisiert den FCM-Token automatisch, wenn sich der APNs-Token ändert, was bei der Wiederherstellung eines Geräts aus einem Backup oder der Neuinstallation der App geschieht.

Aktualisierung und Verwaltung des Registration Token

Die Verwaltung des Lebenszyklus des Registration Token ist eine kritische Aufgabe für die zuverlässige Zustellung von Push-Benachrichtigungen. Wenn der Server einen veralteten Token speichert, werden Benachrichtigungen nicht zugestellt, und Firebase gibt einen UNREGISTERED-Fehler zurück.

Überwachung von Token-Änderungen

Das Firebase SDK bietet zwei Mechanismen zur Verfolgung von Token-Änderungen. Auf Android wird der onNewToken-Callback in FirebaseMessagingService verwendet. Auf iOS wird der Delegat messaging:didReceiveRegistrationToken verwendet. Beide werden bei jeder Aktualisierung des Tokens aufgerufen.

kotlin
// Token in SharedPreferences speichern und an Server senden
class TokenManager(private val context: Context) {

    companion object {
        private const val PREFS_TOKEN_KEY = "fcm_registration_token"
    }

    fun saveToken(token: String) {
        val prefs = PreferenceManager
            .getDefaultSharedPreferences(context)
        prefs.edit().putString(PREFS_TOKEN_KEY, token).apply()
    }

    fun getSavedToken(): String? {
        val prefs = PreferenceManager
            .getDefaultSharedPreferences(context)
        return prefs.getString(PREFS_TOKEN_KEY, null)
    }
}

Server-seitige Token-Speicherstrategie

Der Server muss den Registration Token in Verbindung mit der Benutzerkennung speichern. Wenn der Token aktualisiert wird, sendet der Client den neuen Token an den Server, und der Server ersetzt den alten. Es wird empfohlen, einen Token-Verlauf zu führen: Wenn eine Benachrichtigung nicht an den neuen Token zugestellt wird, kann der alte versucht werden.

Fehlerbehandlung bei der Arbeit mit Tokens

Firebase kann in mehreren Fällen einen Fehler beim Abruf des Tokens zurückgeben. Fehlende Google Play Services auf dem Gerät — der Token wird nicht abgerufen. Überschreitung des Anfragekontingents an FCM — eine exponentielle Verzögerung bei Wiederholungsversuchen muss implementiert werden. Ablauf des Tokens — das SDK fordert automatisch einen neuen an.

SituationErgebnisEntwickleraktion
App-LöschungToken widerrufenToken aus Datenbank löschen
Backup-WiederherstellungNeuer TokenIn Datenbank aktualisieren
Google Play Services zurücksetzenToken neugeneriertonNewToken behandeln
Token-AblaufAutomatische AktualisierungUpdates abonnieren

Häufig gestellte Fragen

Was tun, wenn der Registration Token nicht empfangen wird?

Überprüfen Sie die Verfügbarkeit von Google Play Services auf dem Gerät, die Korrektheit der google-services.json-Datei und die Version des Firebase SDK. Stellen Sie sicher, dass die App über eine Internetberechtigung verfügt.

Wie oft ändert sich der Registration Token?

Der Token kann sich beim Deinstallieren und Neuinstallieren der App, beim Löschen von Daten, bei der Wiederherstellung aus einem Backup oder bei der Anmeldung mit einem anderen Google-Konto ändern. Es gibt kein festes Zeitintervall.

Kann ein Gerät mehrere Registration Tokens haben?

Ja, jede App auf dem Gerät erhält ihren eigenen FCM-Token. Wenn ein Gerät drei Apps mit Firebase hat, hat jede ihren eigenen eindeutigen Registration Token.

Wie überprüfe ich, ob ein Registration Token noch gültig ist?

Senden Sie eine Testbenachrichtigung über die Firebase-Konsole oder die FCM HTTP API. Wenn der Token ungültig ist, gibt die API einen UNREGISTERED- oder NOT_FOUND-Fehler zurück.

Ist es sicher, einen Registration Token auf dem Server zu speichern?

Ein Registration Token ist kein geheimer Schlüssel, aber sein Leck ermöglicht das Senden von Benachrichtigungen an das Gerät des Benutzers. Speichern Sie Tokens in einer sicheren Datenbank und verwenden Sie HTTPS für die Übertragung.

Zusammenfassung

  • Registration Token ist ein erforderliches Element für die Zustellung von Push-Benachrichtigungen über Firebase Cloud Messaging.
  • Der Token wird beim ersten Start einer App mit dem FCM SDK automatisch generiert.
  • Auf Android wird der Token über FirebaseMessaging.getInstance().getToken() abgerufen.
  • Auf iOS basiert der Token auf dem APNs-Gerätetoken und wird über den MessagingDelegate übergeben.
  • Der Token kann sich ändern — die App muss den onNewToken-Callback behandeln.
  • Der Server muss aktuelle Tokens speichern und veraltete bei einem UNREGISTERED-Fehler löschen.
  • Implementieren Sie für eine zuverlässige Zustellung eine Überwachung von Token-Änderungen und einen Wiederholungsmechanismus bei Fehlern.

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