This guide walks you through the steps involved in integrating Remote Config into your iOS app. To learn more about the Remote Config API for iOS, see FIRRemoteConfig.
Set up your project using the instructions provided in Add Firebase to your iOS Project.
Install the client library
Add the following dependency to your
Save the file and run the following:
This creates an
.xcworkspace file for your application. Use this file for all
future development on your application.
Create a Remote Config project for the quickstart sample
The quickstart sample provides an example of using Remote Config to define the welcome message of the sample app. Before running the quickstart sample, you should set up a Remote Config project.
|Parameter key||Default value||Notes:|
||Change to use a different welcome message.|
||Set to true to have the welcome message display in all caps.|
After configuring your project, run the quickstart sample to see the welcome message you defined in the Firebase console. You can change the values of these parameters in the project and then tap Fetch Remote Config in the quickstart sample to see how Remote Config lets you update an app.
Build and run the quickstart sample
Download the quickstart sample code and unzip it.
Open a terminal window and navigate to the location of the sample project. Run
pod install, then open the
Build and run the sample.
How it works
First, the sample gets a Remote Config object instance and sets the minimum fetch interval to allow for more frequent refreshes:
Then, the sample sets in-app default values from a
Now, the sample fetches values from the Remote Config service (not cached
values) and calls
activateWithCompletionHandler: to make them available to
Now that the welcome message has been updated, you can display the updated welcome message in the app.
You can access your Remote Config parameters using one of the
boolValue properties, or using
If an app fetches too many times in a short time period, fetch calls may be
throttled. In such cases, the backend returns
You are recommended to catch this error and retry in exponential backoff mode,
waiting longer intervals between subsequent fetch requests.
During app development, you might want to refresh the cache very frequently
(many times per hour) to let you rapidly iterate as you develop and test your
app. To accommodate rapid iteration on a project with up to 10 developers, you
can temporarily add a
FIRRemoteConfigSettings property with
a low minimum fetch interval (
MinimumFetchInterval) in your app.
The default minimum fetch interval for Remote Config is 12 hours, which means that configs won't be fetched from the backend more than once in a 12 hour window, regardless of how many fetch calls are actually made. Specifically, the minimum fetch interval is determined in this following order:
- The parameter in
- The parameter in
- The default value of 12 hours