Skip to content
FIRERUN.

The BaaS & deploy-platform newsroom for builders

Subscribe

Firebase

Firebase Cloud Messaging Retires the Registration Token, Docs Lag

Firebase's Node, Java and Python Admin SDKs now deprecate FCM's token field for fid, the Installation ID, but docs for targeted sends haven't caught up.

Abstract flat-vector editorial illustration for "Firebase Cloud Messaging Retires the Registration Token, Docs Lag"

Firebase Cloud Messaging’s server-side Admin SDKs for Node.js, Java and Python all shipped the same change within the same 10 days: the token field on the Send API is deprecated in favor of fid, the Firebase Installation ID. Node.js hit this in v14.1.0 on June 24, and Java’s v9.10.0 and Python’s v7.5.0 followed July 2. Each release note reads almost identically: “Enable fid and deprecate token for Send API” (Node.js v14.1.0, Java v9.10.0, Python v7.5.0). Every backend sending push notifications through the Admin SDK now gets a deprecation warning on the field it has used since FCM launched.


What’s actually changing

FCM has always identified a specific app instance with a registration token, minted by the client SDK and passed to the server for a targeted send. That token is being replaced by the FID, the identifier Firebase’s Installations service already assigns every app instance and that FCM now issues directly. On the Admin SDK, Message.token still works during the transition, but Message.fid (and MulticastMessage.fids for batch sends) is the field Google wants developers to move to, according to Firebase’s guidance on managing FCM registrations.

The client side moved first. Android SDK 25.1.0 deprecated FirebaseMessaging.getToken(), deleteToken() and onNewToken() in favor of FID-based registration, a change flagged in that release’s notes and tracked on GitHub as far back as pull request #8087. The Admin SDK updates are the server-side half of that same migration finally landing.


The docs haven’t caught up

Google’s own developers are the ones flagging the gap. Issue #8316 on firebase-android-sdk, opened June 17, points out that getToken() has been deprecated since SDK 25.1.0, yet Firebase’s documentation for sending to a specific device still shows only the old token-based example. There’s no FID migration guide sitting next to it. A developer following the official “send to a specific device” doc today would still write code against a field three SDKs have now marked for removal.

That’s a gap, not a nitpick. Both patterns are fully supported during the transition, so teams don’t have to migrate today. But a deprecation with no paired migration doc leaves developers guessing at replacement code instead of copying it.


Key Takeaways

  • Node.js Admin SDK v14.1.0 (June 24) and Java v9.10.0 / Python v7.5.0 (July 2) all deprecate token/tokens on the FCM Send API in favor of fid/fids.
  • The change mirrors Android SDK 25.1.0 deprecating getToken(), deleteToken() and onNewToken() on the client.
  • Registration tokens keep working during the transition — this isn’t a breaking change yet, but Google has said token “will be removed” in a future release.
  • Firebase’s own “send to a specific device” documentation hasn’t been updated with FID examples, per a June 17 GitHub issue from the Android SDK repo.

What to do

There’s no deadline forcing a rewrite today, and both the token and FID paths work through this transition. But if you’re standing up new FCM integration code now, register app instances against FIDs rather than tokens. Writing to the field Google has already said it’s keeping saves a second migration later. If you’re maintaining an existing integration, don’t chase this yet: the token path isn’t broken, and until Firebase actually publishes FID examples for targeted sends, migrating means writing against undocumented behavior rather than a supported pattern.

Stay in the loop

Get new articles in your inbox

We'll only email you when a new article drops. Unsubscribe anytime.