Skip to main content
All CollectionsPush NotificationsAndroid
How can I migrate from legacy FCM APIs to HTTP v1?
How can I migrate from legacy FCM APIs to HTTP v1?

Use this step-by-step guide to migrate easily from legacy FCM APIs to HTTP V1 to continue sending push notifications on Android via Batch.

Selma avatar
Written by Selma
Updated over 6 months ago

Batch uses Firebase Cloud Messaging (FCM) APIs to deliver push notifications to Android devices. This service has undergone some protocol evolutions and the FCM APIs are now considered “legacy” by Google to make way for HTTP V1 APIs.

This evolution implies changes in the authentication methods used to call the APIs moving from an API-Key-based authentication to OAuth. Among other things, this translates into a different credential management approach from a Firebase project level to a Service Account level.

Batch now fully supports this new protocol and the article below describes how you can update your Android settings on Batch to migrate your apps onto the new APIs.

Please keep in mind that the legacy APIs will be removed by Firebase on June 20th, 2024. Therefore, you should complete the following migration steps by that date at the latest.

Who does this apply to?

You are concerned by this migration if the following conditions are met:

  • You use Batch to send push notifications to your mobile app users on Android.

  • You use legacy FCM API credentials (FCM Sender ID and FCM Server API Key) in your Android app settings on Batch’s dashboard.

Migrate to HTTP V1 API

Before completing this setup, please note that:

  • This does not require an update of your Android mobile apps.

  • The migration applies automatically to all your app users regardless of the app version they are on.

First, you need to get a new set of credentials from your Google Cloud Service Account for each Android app you manage on Batch.

Then, you need to update each app’s credentials on the Settings tab of Batch’s dashboard. You will find a step-by-step guide on how to do so here, in the documentation:

Once your new credentials are tested and submitted, the switch is immediate and will have no impact on ongoing push delivery.

If your Service Account is in a different Firebase project than the one used in your app, make sure to replace the project-id in your Service Account Key with the one related to the project used in the app before uploading your credentials. Note that in this case, your Service Account should have sufficient permission levels to access your project.

Multiple Firebase projects

If you have multiple Sender IDs declared on Batch’s dashboard for your Android app, you will be able to upload multiple Service Account Keys as well. This may be the case if you changed Firebase projects at some point in your app and want to be able to send push notifications to both users who have a newer version or an older version of the app.

Note: new rate limits have been introduced by Google on the new FCM APIs compared to the legacy ones. These rates are enforced on the Firebase project level (check your rates in the « quotas » section of your Firebase Cloud Messaging API Dashboard).

Please be aware that this migration may impact the delivery speed of your push notifications if the new rates are lower than what you had previously set up on Batch. If you wish to review these rates for your Firebase projects, we advise you to get in touch with Google's customer service teams.

Finally, Batch will attempt to deliver your push notifications as fast as possible while respecting the quota set for your project.


This article belongs to Batch's FAQ.

Need more help? Find insightful articles, documentation, case & market studies, guides, and even more in our website's Resources section on batch.com and our blog.

Did this answer your question?