Registration Token in pushmeldingen: wat het is, methoden voor verkrijgen en bijwerken

Auteur: IT Sectr Gepubliceerd: 2026-03-21 Leestijd: 8 min

Registration Token is een unieke apparaatidentificator die Firebase Cloud Messaging (FCM) gebruikt voor het leveren van pushmeldingen. Elke app op elk apparaat ontvangt zijn eigen token, zonder welke het verzenden van meldingen onmogelijk is. Volgens Firebase, 2025, wordt Registration Token automatisch gegenereerd bij de eerste start van de app en kan onder bepaalde omstandigheden veranderen.

Belangrijkste

  • Registration Token — een reeks die de app-instantie op een specifiek apparaat identificeert voor FCM.
  • Het token wordt automatisch gegenereerd bij de eerste start of na het wissen van app-gegevens.
  • FCM gebruikt het token om pushmeldingen naar het juiste apparaat te routeren.
  • Het token kan veranderen — de app moet zich abonneren op updates via onNewToken.
  • Voor het verzenden van meldingen moet de serverzijde de actuele tokens van alle apparaten opslaan.

Wat is Registration Token

Registration Token — een unieke reeks van maximaal 4096 tekens die Firebase Cloud Messaging aan elke app-instantie toewijst. Het token wordt gevormd op basis van de identificatie van de app, het apparaat en het Google-account op het apparaat.

Structuur en doel van het token

Registration Token bestaat uit een willekeurige reeks tekens gecodeerd in Base64-formaat. FCM gebruikt dit token als leveringsadres — de serverzijde stuurt een melding naar het token en FCM routeert deze naar het specifieke apparaat. Zonder token is het onmogelijk een pushmelding aan een specifieke gebruiker te adresseren.

Verschillen met andere identificatoren

Registration Token moet niet worden verward met Device ID (IMEI) of Advertising ID. Device ID is een hardwarematige apparaatidentificator en Advertising ID wordt gebruikt voor reclamedoeleinden. Registration Token is gekoppeld aan de combinatie van app en apparaat, waarbij één apparaat meerdere tokens voor verschillende apps kan hebben.

IdentificatorDoelVeranderlijkheid
Registration TokenLevering van FCM-pushmeldingenKan veranderen
Device ID (IMEI)ApparaatidentificatiePermanent
Advertising IDGerichte reclameKan worden gereset
Instance IDVerouderd Firebase-mechanismeVeranderde bij verwijdering

Wanneer het token als ongeldig wordt beschouwd

FCM kan Registration Token in verschillende situaties als ongeldig beschouwen. Als de app van het apparaat wordt verwijderd, wordt het token automatisch ingetrokken. Bij het herstellen van gegevens uit een back-up op een nieuw apparaat, werkt het oude token niet meer. Firebase retourneert de status UNREGISTERED bij een poging een melding naar een verouderd token te sturen.

Hoe kent FCM Registration Token toe

Firebase Cloud Messaging genereert Registration Token bij de eerste start van de app, wanneer de methode getToken() wordt aangeroepen. Het proces omvat verificatie van Google Play Services-referenties en registratie van de app in de Firebase-infrastructuur.

Apparaatregistratieproces

Wanneer het apparaat de app voor het eerst met geïntegreerde FCM SDK start, gebeurt het volgende. Firebase SDK controleert de aanwezigheid van Google Play Services op het apparaat. Vervolgens stuurt de SDK een verzoek naar Firebase-servers, waarbij de app-identificatie en apparaatinformatie worden doorgegeven. De Firebase-server maakt een nieuw token aan en retourneert dit aan de app.

Interne mechanica van FCM

FCM gebruikt een architectuur gebaseerd op langdurige verbindingen. Na ontvangst van Registration Token maakt het apparaat een permanente verbinding met Firebase-servers via STOMP-protocol op Android of APNs-kanaal op iOS. Wanneer de serverzijde een melding naar het token stuurt, vindt FCM het apparaat via het token en levert de payload.

Voorwaarden voor regeneratie van het token

Registration Token kan door FCM opnieuw worden gegenereerd in de volgende gevallen. Bij het herstellen van de app uit een back-up op een nieuw apparaat. Bij het verwijderen en opnieuw installeren van de app. Bij het wissen van app-gegevens via systeeminstellingen. Bij het inloggen op een ander Google-account op het apparaat. Firebase raadt aan altijd de callback onNewToken te verwerken om wijzigingen te volgen.

Registration Token verkrijgen op Android

Op Android wordt Registration Token verkregen via de Firebase Messaging SDK. Het proces verschilt per SDK-versie — in nieuwere versies wordt FirebaseInstallations API gebruikt in plaats van de verouderde FirebaseInstanceId.

Moderne methode via FirebaseInstallations

Vanaf Firebase SDK versie 21.0.0 wordt getToken() aangeroepen via FirebaseMessaging. Deze benadering beheert automatisch de levenscyclus van het token en abonneert zich op de updates ervan.

kotlin
class MyFirebaseMessagingService : FirebaseMessagingService() {

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

    private fun sendRegistrationToServer(token: String) {
        // Verzenden van token naar serverzijde
        Log.d("FCM", "New token: $token")
    }

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

Token verwerken in Activity of ViewModel

In sommige scenario's is het token niet in de service nodig, maar direct in Activity of ViewModel. Hiervoor kan getToken() op een geschikte plaats in de levenscyclus van de app worden aangeroepen. Het is belangrijk deze methode niet vanuit de hoofdthread aan te roepen zonder asynchroniteit te verwerken.

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")
                }
            }
    }
}

Verouderde FirebaseInstanceId-methode

In oude versies van Firebase SDK (vóór versie 20.x) werd het token verkregen via FirebaseInstanceId.getInstance().getToken(). Deze methode is gemarkeerd als deprecated en wordt niet aanbevolen voor nieuwe projecten. Ontwikkelaars die legacy-code onderhouden, moeten migreren naar FirebaseInstallations API.

Registration Token verkrijgen op iOS

Op iOS verschilt het verkrijgingsproces architectonisch — FCM werkt via Apple Push Notification service (APNs). Firebase SDK ontvangt van APNs een unieke device token, converteert deze naar FCM-formaat en geeft deze door aan de app.

APNs-configuratie en token verkrijgen

Voor FCM op iOS moet een APNs-certificaat of -sleutel worden geconfigureerd in de Firebase-console. De app moet toestemming vragen voor meldingen via UNUserNotificationCenter. Na ontvangst van de APNs-token genereert Firebase SDK automatisch 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)
    }
}

Verschillen tussen iOS- en Android-token

Registration Token op iOS is kleiner in vergelijking met Android-token omdat het gebaseerd is op APNs device token. Firebase SDK werkt FCM-token automatisch bij bij wijziging van de APNs-token, wat gebeurt bij het herstellen van het apparaat uit een back-up of het herinstalleren van de app.

Registration Token bijwerken en beheren

Levenscyclusbeheer van Registration Token is een kritieke taak voor stabiele levering van pushmeldingen. Als de serverzijde een verouderd token opslaat, worden meldingen niet bezorgd en retourneert Firebase de fout UNREGISTERED.

Wijzigingen in token monitoren

Firebase SDK biedt twee mechanismen voor het volgen van tokenwijzigingen. Op Android wordt callback onNewToken in FirebaseMessagingService gebruikt. Op iOS — de delegate messaging:didReceiveRegistrationToken. Beide worden aangeroepen bij elke tokenupdate.

kotlin
// Opslaan van token in SharedPreferences en verzenden naar server
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)
    }
}

Strategie voor tokenopslag op de server

De serverzijde moet Registration Token opslaan in combinatie met de gebruikersidentificatie. Bij tokenupdate stuurt de client het nieuwe token naar de server en de server vervangt het oude. Het wordt aanbevolen de tokenhistorie te bewaren: als een melding niet op het nieuwe token is bezorgd, kan het oude worden geprobeerd.

Foutafhandeling bij werken met token

Firebase kan in verschillende gevallen een fout bij het verkrijgen van het token retourneren. Afwezigheid van Google Play Services op het apparaat — het token wordt niet verkregen. Overschrijding van de FCM-verzoeklimiet — implementeer exponentiële vertraging bij herhaalde pogingen. Verlopen van het token — SDK vraagt automatisch een nieuw token aan.

SituatieResultaatActie ontwikkelaar
App verwijderenToken ingetrokkenToken uit database verwijderen
Herstellen uit back-upNieuw tokenBijwerken in database
Google Play Services resettenToken geregenereerdonNewToken verwerken
Token verlopenAutomatische updateAbonneren op updates

Veelgestelde vragen

Wat te doen als Registration Token niet is verkregen?

Controleer de aanwezigheid van Google Play Services op het apparaat, de juistheid van het bestand google-services.json en de versie van Firebase SDK. Zorg ervoor dat de app toestemming heeft voor toegang tot internet.

Hoe vaak verandert Registration Token?

Het token kan veranderen bij verwijderen en herinstalleren van de app, wissen van gegevens, herstellen uit back-up of inloggen op een ander Google-account. Er is geen strikt tijdsinterval.

Kan één apparaat meerdere Registration Tokens hebben?

Ja, elke app op het apparaat ontvangt zijn eigen FCM-token. Als er drie apps met Firebase op het apparaat zijn geïnstalleerd, heeft elk zijn eigen unieke Registration Token.

Hoe controleer ik of Registration Token nog geldig is?

Stuur een testmelding via de Firebase-console of FCM HTTP API. Als het token ongeldig is, retourneert de API de fout UNREGISTERED of NOT_FOUND.

Is het veilig om Registration Token op de server op te slaan?

Registration Token is geen geheime sleutel, maar het lekken ervan maakt het mogelijk meldingen naar het apparaat van de gebruiker te sturen. Bewaar tokens in een beveiligde database en gebruik HTTPS voor overdracht.

Samenvatting

  • Registration Token — verplicht element voor levering van pushmeldingen via Firebase Cloud Messaging.
  • Het token wordt automatisch gegenereerd bij de eerste start van de app met FCM SDK.
  • Op Android wordt het token verkregen via FirebaseMessaging.getInstance().getToken().
  • Op iOS is het token gebaseerd op APNs device token en wordt doorgegeven via de delegate MessagingDelegate.
  • Het token kan veranderen — de app moet callback onNewToken verwerken.
  • De serverzijde moet actuele tokens opslaan en verouderde verwijderen bij UNREGISTERED-fout.
  • Implementeer voor betrouwbare levering monitoring van tokenwijzigingen en een herpogingenmechanisme bij storingen.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook