Firebase Remote Config
Change the behavior and appearance of your web client or server without publishing an app update, at no cost, for unlimited daily active users.
Ready to get started? Choose your platform:
Key capabilities
You can make changes to your app's default behavior and appearance by changing parameter values remotely. For example, you could use a Remote Config parameter as a feature flag to change your app's layout or color theme to support a seasonal promotion, with no need to publish an app update.
How does it work?
Remote Config includes a client library that handles important tasks like fetching parameter values and caching them, while still giving you control over when new values are activated so that they affect your app's user experience. This lets you safeguard your app experience by controlling the timing of any changes.
We recommend adding real-time Remote Config functionality to your fetch logic to automatically fetch the latest Remote Config parameter values as soon as they're published.
The Remote Config client library get methods provide a single access
point for parameter values. Your app fetches values from Remote Config using
the same logic it uses to get in-app default values, so you can add the
capabilities of Remote Config to your app without writing a lot of code.
To override in-app default values, you use the Firebase console or the Remote Config backend APIs to create parameters with the same names as the parameters used in your app. For each parameter, you can set a default value in Remote Config to override the in-app default value, and you can also create conditional values to override the in-app default value for app instances that meet certain conditions.
Remote Config also provides a server client library in the Firebase Admin Node.js SDK v12.1.0+. Your server implementations can use this to fetch values from server-specific templates stored by Remote Config. Learn more at Use Remote Config in server environments.
To learn more about parameters, conditions, and how Remote Config resolves conflicts between conditional values, see Remote Config Parameters and Conditions.
Implementation path
setDefaults() and, optionally,
download
your Remote Config template defaults.
You can write your app without worrying about the best time to fetch values, or even whether any server-side values exist.
Your app uses get methods to
get the value of a parameter, similar to reading the value of a local
variable defined in your app.
You can define values in the Firebase console or the Remote Config
backend APIs to override in-app
default values. You can do this before or after you launch your app,
because the same get methods access in-app default values
and values fetched from the Remote Config backend. See
Remote Config templates and versioning
to learn more about managing and updating Remote Config parameters and
values.
Policies and limits
Note the following policies:
- Don't use Remote Config to make app updates that should require a user's authorization. This could cause your app to be perceived as untrustworthy.
- Don't store confidential data in Remote Config parameter keys or parameter values. Remote Config data is encrypted in transit, but end users can access any default or fetched Remote Config parameter that is available to their app instance.
- Don't attempt to circumvent the requirements of your app's target platform using Remote Config.
Remote Config parameters and conditions are subject to certain limits. To learn more, see Limits on parameters and conditions.
Note the following limits:
A Firebase project can have 3000 Remote Config parameters per template type (client or server), which are subject to length and content limits detailed in Limits on parameters and conditions.
Firebase stores up to 300 lifetime versions of your Remote Config templates per template type (client or server). This 300 version lifetime limit includes stored version numbers for deleted templates. See Templates and versioning for details.
You can have up to 24 running A/B experiments and Remote Config rollouts combined.
Looking to store other types of data?
- Cloud Firestore is a flexible, scalable database for mobile, web, and server development from Firebase and Google Cloud.
- Firebase Realtime Database stores JSON application data, like game state or chat messages, and synchronizes changes instantly across all connected devices. To learn more about the differences between database options, see Choose a database: Cloud Firestore or Realtime Database.
- Firebase Hosting hosts global assets, including the HTML, CSS, and JavaScript for your website as well as other developer-provided assets like graphics, fonts, and icons.
- Cloud Storage stores files such as images, videos, and audio as well as other user-generated content.
Next steps
- See what you can do with Remote Config by reviewing typical use cases.
- Start your design. Review the key concepts and strategies such as Remote Config parameters and conditions and loading strategies.
- Get started integrating Remote Config with your app. See the setup guides for Android, iOS+, and Web.
- Learn how to read and modify Remote Config parameter values programmatically.
- Learn how to create Remote Config experiments with A/B testing.
- Learn how to use Remote Config personalization to automatically optimize individual user experience to achieve your goals.
- Learn how to use Remote Config rollouts to gradually and iteratively release new features to your user base, verifying success and stability with side-by-side Crashlytics and Google Analytics results.
- Learn how to use Remote Config in server environments.