1. Einführung
Zuletzt aktualisiert: 09.03.2021
Was ist Firebase Remote Config?
Firebase Remote Config ist ein Clouddienst, mit dem Sie das Verhalten und das Design Ihrer App ändern können, ohne dass Nutzer ein App-Update herunterladen müssen. Dabei erstellen Sie In-App-Standardwerte, mit denen Verhalten und Aussehen der App festgelegt werden. Später können Sie diese Werte dann über die Firebase Console oder die APIs des Remote-Config-Back-Ends für alle oder nur für einen Teil Ihrer App-Nutzer überschreiben. Ihre App steuert, wann Updates angewendet werden. Sie kann häufig nach Updates suchen und diese mit vernachlässigbaren Auswirkungen auf die Leistung anwenden.
Wie funktioniert das?
Remote Config umfasst eine Clientbibliothek, die wichtige Aufgaben wie das Abrufen und Zwischenspeichern von Parameterwerten übernimmt. Sie haben jedoch weiterhin die Kontrolle darüber, wann neue Werte aktiviert werden, damit sie sich auf die Nutzerfreundlichkeit Ihrer App auswirken. So können Sie die Nutzerfreundlichkeit Ihrer App schützen, indem Sie den Zeitpunkt von Änderungen selbst bestimmen.
Die get-Methoden der Remote Config-Clientbibliothek bieten einen einzigen Zugriffspunkt für Parameterwerte. Ihre App ruft serverseitige Werte mit derselben Logik ab, die sie zum Abrufen von In-App-Standardwerten verwendet. Sie können Ihrer App also die Funktionen von Remote Config hinzufügen, ohne viel Code schreiben zu müssen.
Um In-App-Standardwerte zu überschreiben, erstellen Sie in der Firebase Console oder mit den APIs des Remote Config-Backends Parameter mit denselben Namen wie die in Ihrer App verwendeten Parameter. Für jeden Parameter können Sie einen serverseitigen Standardwert festlegen, um den In-App-Standardwert zu überschreiben. Außerdem können Sie bedingte Werte erstellen, um den In-App-Standardwert für App-Instanzen zu überschreiben, die bestimmte Bedingungen erfüllen. In dieser Grafik sehen Sie, wie Parameterwerte im Remote Config-Backend und in Ihrer App priorisiert werden:

Lerninhalte
- Firebase Remote Config implementieren
- Werte mit Firebase Remote Config ändern, ohne die App zu aktualisieren
Voraussetzungen
- Die aktuelle Version von Android Studio
- Ein Firebase-Konto
- (empfohlen, aber optional) Ein physisches Android-Gerät zum Ausführen Ihrer App
- Grundkenntnisse in Java oder Kotlin
2. Einrichtung
(Optional) Beispielcode herunterladen
In diesem Codelab erstellen Sie Ihre eigene Test-App. Wenn Sie die vorhandene Beispiel-App ansehen und ausführen möchten, können Sie den Beispielcode für den Schnellstart herunterladen.
Klicken Sie auf den folgenden Button, um den gesamten Code für dieses Codelab herunterzuladen:
Entpacken Sie die heruntergeladene ZIP-Datei. Dadurch wird ein Stammordner mit dem Namen quickstart-android-master entpackt.
… oder klonen Sie das GitHub-Repository über die Befehlszeile.
$ git clone https://github.com/firebase/quickstart-android.git
Das Repository enthält mehrere Ordner. Wir verwenden den
-Ordner config.
(Optional) Beispielcode importieren
Starten Sie Android Studio und wählen Sie im Begrüßungsbildschirm Projekt importieren aus. Öffnen Sie dann den heruntergeladenen Ordner und wählen Sie den Ordner
config aus. Klicken Sie dann auf „Öffnen“.

Neues Android-Projekt erstellen
- Neues Projekt in Android Studio starten
- „Basic Activity“ (Einfache Aktivität) auswählen
- Gehen Sie auf dem Bildschirm „Projekt konfigurieren“ so vor:
- Benennen Sie Ihr Projekt. Der Paketname und der Speicherort werden automatisch für Sie generiert.
- Sprache: Java
- Mindest-SDK 16
3. Firebase und Google Analytics for Firebase Ihrem Android-Projekt hinzufügen
Firebase-Projekt erstellen
Bevor Sie Firebase zu Ihrer Android-App hinzufügen können, müssen Sie ein Firebase-Projekt erstellen, das mit Ihrer iOS-App verbunden wird. Weitere Informationen zu Firebase-Projekten finden Sie unter Firebase-Projekte.
- Klicken Sie in der Firebase Console auf Projekt hinzufügen und wählen Sie dann einen Projektnamen aus oder geben Sie einen ein.

Wenn Sie ein vorhandenes Google Cloud Platform-Projekt (GCP-Projekt) haben, können Sie es aus dem Drop-down-Menü auswählen, um Firebase-Ressourcen zu diesem Projekt hinzuzufügen.
- Optional: Wenn Sie ein neues Projekt erstellen, können Sie die Projekt-ID bearbeiten.
Firebase weist Ihrem Firebase-Projekt automatisch eine eindeutige ID zu. Weitere Informationen zur Verwendung der Projekt-ID in Firebase finden Sie unter „Firebase-Projekte“.
- Klicken Sie auf Weiter.
- Richten Sie Google Analytics für Ihr Projekt ein, damit Sie die folgenden Firebase-Produkte optimal nutzen können:
- Firebase Crashlytics
- Firebase Predictions
- Firebase Cloud Messaging
- Firebase In-App-Messaging
- Firebase Remote Config
- Firebase A/B Testing
Wählen Sie aus, ob Sie ein vorhandenes Google Analytics-Konto verwenden oder ein neues Konto erstellen möchten. Wenn Sie ein neues Konto erstellen möchten, wählen Sie den Standort für Ihre Analytics-Berichte aus und akzeptieren Sie dann die Einstellungen für die Datenfreigabe und die Google Analytics-Nutzungsbedingungen für Ihr Projekt.


- Klicken Sie auf Projekt erstellen (oder Firebase hinzufügen, wenn Sie ein vorhandenes GCP-Projekt verwenden).
Firebase stellt automatisch Ressourcen für Ihr Firebase-Projekt bereit. Nach Abschluss des Vorgangs werden Sie zur Übersichtsseite für Ihr Firebase-Projekt in der Firebase Console weitergeleitet.
App bei Firebase registrieren
Nachdem Sie ein Firebase-Projekt erstellt haben, können Sie diesem Ihre Android-App hinzufügen.
Weitere Informationen zu Firebase-Projekten
- Öffnen Sie die Firebase Console.
- Klicken Sie oben auf der Seite „Projektübersicht“ auf das Symbol Android, um den Einrichtungsworkflow zu starten. Wenn Sie Ihrem Firebase-Projekt bereits eine App hinzugefügt haben, klicken Sie auf „App hinzufügen“, um die Plattformoptionen aufzurufen.
- Geben Sie den Paketnamen Ihrer App in das Feld Android-Paketname ein.
- (Optional) Geben Sie einen App-Nickname ein.
- Lassen Sie das SHA-1-Feld leer, da SHA-1 für dieses Projekt nicht erforderlich ist.
- Klicken Sie auf App registrieren.
Firebase-Konfigurationsdatei hinzufügen
Als Nächstes werden Sie aufgefordert, eine Konfigurationsdatei herunterzuladen, die alle erforderlichen Firebase-Metadaten für Ihre App enthält. Klicken Sie auf google-services.json herunterladen, um Ihre Firebase-Konfigurationsdatei für Android (google-services.json) zu erhalten.


Fügen Sie in der Gradle-Datei auf Projektebene (build.gradle) Regeln hinzu, um das Google Services Gradle-Plug-in einzuschließen. Prüfen Sie, ob Sie auch das Maven-Repository von Google haben.
build.gradle-Datei auf Projektebene (<project>/build.gradle):
buildscript {
repositories {
// Check that you have the following line (if not, add it):
google() // Google's Maven repository
}
dependencies {
// ...
// Add the following line:
classpath 'com.google.gms:google-services:4.3.5' // Google Services plugin
}
}
allprojects {
// ...
repositories {
// Check that you have the following line (if not, add it):
google() // Google's Maven repository
// ...
}
}
Wenden Sie das Google Services Gradle-Plug-in in der Gradle-Datei Ihres Moduls (auf App-Ebene) (in der Regel app/build.gradle) an:
build.gradle-Datei auf App-Ebene (<project>/<app-module>/build.gradle):
apply plugin: ‘com.android.application'
// Fügen Sie die folgende Zeile hinzu:
apply plugin: ‘com.google.gms.google-services' // Google Services plugin
android {
// ...
}
Firebase SDK zu Ihrer Android-App hinzufügen
Für Remote Config benötigen Sie Google Analytics, um das bedingte Targeting von App-Instanzen auf Nutzereigenschaften und Zielgruppen zu ermöglichen. Achten Sie darauf, dass Google Analytics in Ihrem Projekt aktiviert ist.
(Dies ist im Beispielcode der Kurzanleitung bereits geschehen.)
Deklarieren Sie die Abhängigkeit für die Remote Config Android-Bibliothek auf App-Ebene in der Gradle-Datei Ihres Moduls (in der Regel app/build.gradle) mit der Firebase Android BoM. Mit der Firebase Android BoM haben Sie immer eine kompatible Version der Firebase Android-Bibliotheken in Ihrer App.
Außerdem müssen Sie das Firebase SDK für Google Analytics in Ihre App einfügen, wenn Sie Analytics einrichten. Fügen Sie unter „dependencies“ den folgenden Code hinzu:
app/build.gradle
dependencies {
// Import the BoM for the Firebase platform
implementation platform('com.google.firebase:firebase-bom:26.6.0')
// Declare the dependencies for the Remote Config and Analytics libraries
// When using the BoM, you don't specify versions in Firebase library dependencies
implementation 'com.google.firebase:firebase-config'
implementation 'com.google.firebase:firebase-analytics'
}
Projekt mit Gradle-Dateien synchronisieren
Damit alle Abhängigkeiten für Ihre App verfügbar sind, synchronisieren Sie Ihr Projekt mit Gradle-Dateien, indem Sie Datei > Projekt mit Gradle-Dateien synchronisieren auswählen.
4. Hauptkomponenten für Remote Config ansehen
Wir sehen uns jetzt die Schritte an, die zum Verwenden von Remote Config in einer App erforderlich sind. Diese Schritte wurden bereits im Code des Codelabs zur Kurzanleitung ausgeführt. Verwenden Sie diesen Abschnitt, während Sie den Code des Codelabs zur Kurzanleitung durchgehen, um zu verstehen, was passiert.
1. Remote Config Singleton-Objekt erstellen
Erstellen Sie eine Remote Config-Objektinstanz und legen Sie das Mindestabrufintervall fest, um häufige Aktualisierungen zu ermöglichen:
MainActivity.java
mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setMinimumFetchIntervalInSeconds(3600)
.build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);
Das Singleton-Objekt wird verwendet, um Standardparameterwerte in der App zu speichern, aktualisierte Parameterwerte aus dem Backend abzurufen und zu steuern, wann abgerufene Werte für Ihre App verfügbar gemacht werden.
Während der Entwicklung wird empfohlen, ein relativ niedriges Mindestabrufintervall festzulegen. Weitere Informationen finden Sie unter Drosselung.
2. In-App-Standardparameterwerte festlegen
Sie können Standardparameterwerte in der App im Remote Config-Objekt festlegen, damit sich Ihre App wie vorgesehen verhält, bevor sie eine Verbindung zum Remote Config-Backend herstellt. Außerdem sind so Standardwerte verfügbar, wenn im Backend keine festgelegt sind.
Sie können eine Reihe von Parameternamen und Standardparameterwerten mit einem Map-Objekt oder einer XML-Ressourcendatei definieren, die im Ordner res/xml Ihrer App gespeichert ist. In der Remote Config-Schnellstart-Beispiel-App werden Standardparameternamen und -werte in einer XML-Datei definiert. So erstellen Sie eine eigene XML-Datei:
- Erstellen Sie im Ordner
reseinen Ordnerxml.

- Klicken Sie mit der rechten Maustaste auf den neu erstellten Ordner
xmlund erstellen Sie eine Datei.

- Legen Sie die Standardwerte fest. Im nächsten Abschnitt ändern Sie die Standardwerte in der XML-Datei des Remote Config-Schnellstarts.
- Fügen Sie diese Werte dem Remote Config-Objekt mit setDefaultsAsync(int) hinzu, wie unten dargestellt:
MainActivity.java
mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);
3. Parameterwerte zur Verwendung in Ihrer App abrufen
Sie können jetzt Parameterwerte aus dem Remote Config-Objekt abrufen. Wenn Sie Werte im Backend festlegen, abrufen und dann aktivieren, sind diese Werte für Ihre App verfügbar. Andernfalls erhalten Sie die In-App-Parameterwerte, die mit setDefaultsAsync(int) konfiguriert wurden. Rufen Sie die Methode auf, die dem von Ihrer App erwarteten Datentyp entspricht, und geben Sie den Parameterschlüssel als Argument an, um diese Werte abzurufen:
4. Werte abrufen und aktivieren
- Rufen Sie die Methode fetch() auf, um Parameterwerte aus dem Remote Config-Backend abzurufen. Alle Werte, die Sie im Backend festlegen, werden abgerufen und im Remote Config-Objekt gespeichert.
- Damit abgerufene Parameterwerte für Ihre App verfügbar sind, rufen Sie die Methode activate() auf. Wenn Sie Werte in einem Aufruf abrufen und aktivieren möchten, können Sie eine fetchAndActivate()-Anfrage verwenden, um Werte aus dem Remote Config-Backend abzurufen und für die App verfügbar zu machen:
MainActivity.java
mFirebaseRemoteConfig.fetchAndActivate()
.addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
@Override
public void onComplete(@NonNull Task<Boolean> task) {
if (task.isSuccessful()) {
boolean updated = task.getResult();
Log.d(TAG, "Config params updated: " + updated);
Toast.makeText(MainActivity.this, "Fetch and activate succeeded",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "Fetch failed",
Toast.LENGTH_SHORT).show();
}
displayWelcomeMessage();
}
});
Da sich diese aktualisierten Parameterwerte auf das Verhalten und Erscheinungsbild Ihrer App auswirken, sollten Sie die abgerufenen Werte zu einem Zeitpunkt aktivieren, der für eine reibungslose Nutzererfahrung sorgt, z. B. beim nächsten Öffnen Ihrer App durch den Nutzer. Weitere Informationen und Beispiele finden Sie unter Remote Config-Ladestrategien.
Drosselung
Wenn eine App innerhalb eines kurzen Zeitraums zu viele Abrufe durchführt, werden die Abrufe gedrosselt und das SDK gibt FirebaseRemoteConfigFetchThrottledException zurück. Vor SDK-Version 17.0.0 lag das Limit bei 5 Abrufanfragen in einem 60-Minuten-Zeitraum. Neuere Versionen haben großzügigere Limits.
Während der App-Entwicklung möchten Sie möglicherweise Konfigurationen sehr häufig (mehrmals pro Stunde) abrufen und aktivieren, um die Entwicklung und das Testen Ihrer App zu beschleunigen. Um schnelle Iterationen in einem Projekt mit bis zu 10 Entwicklern zu ermöglichen, können Sie in Ihrer App vorübergehend ein FirebaseRemoteConfigSettings-Objekt mit einem niedrigen Mindestabrufintervall (setMinimumFetchIntervalInSeconds) festlegen.
Das standardmäßige Mindestintervall für das Abrufen von Remote Config-Parametern beträgt 12 Stunden. Das bedeutet, dass Konfigurationen unabhängig davon, wie viele Abrufe tatsächlich erfolgen, nicht öfter als einmal innerhalb von 12 Stunden vom Backend abgerufen werden. Das Mindestabrufintervall wird in der folgenden Reihenfolge bestimmt:
- Der Parameter in
fetch(long) - Der Parameter in
FirebaseRemoteConfigSettings.setMinimumFetchIntervalInSeconds(long) - Der Standardwert ist 12 Stunden.
Wenn Sie das Mindestabrufintervall auf einen benutzerdefinierten Wert festlegen möchten, verwenden Sie FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long).
5. App-Verhalten mit Remote Config ändern
Standardparameter in der App ändern
Öffnen Sie res/xml/remote_config_defaults.xml und ändern Sie die Standardwerte.
res/xml/remote_config_defaults.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- START xml_defaults -->
<defaultsMap>
<entry>
<key>loading_phrase</key>
<value>Fetching config...</value>
</entry>
<entry>
<key>welcome_message_caps</key>
<value>false</value>
</entry>
<entry>
<key>welcome_message</key>
<value>Welcome to my awesome app!</value>
</entry>
</defaultsMap>
<!-- END xml_defaults -->
Änderung des In-App-Standardwerts prüfen
- Führen Sie das Projekt in einem Emulator oder auf einem Testgerät aus, um das Verhalten zu bestätigen.
- Klicken Sie entweder bei der Java- oder der Kotlin-Version auf „Öffnen“.

- Sehen Sie sich die Willkommensnachricht in der Hauptansicht an.

Parameterwerte im Remote Config-Backend festlegen
Als Nächstes testen wir das Senden von Werten über Remote Config. Über die Firebase Console oder die APIs des Remote Config-Back-Ends können Sie neue serverseitige Standardwerte erstellen, die die In-App-Werte entsprechend der gewünschten bedingten Logik oder des Nutzer-Targetings überschreiben. In diesem Abschnitt wird beschrieben, wie Sie diese Werte in der Firebase Console erstellen.
- Öffnen Sie die Firebase Console und dann Ihr Projekt.
- Wählen Sie im Bereich „Engage“ im seitlichen Menü Remote Config aus, um das Remote Config-Dashboard aufzurufen.
- Geben Sie unter Parameter hinzufügen den
Parameter key.ein. Fügen Sie unterDefault valueden gewünschten Text hinzu. Klicken Sie dann auf „Parameter hinzufügen“. In diesem Codelab verwenden wir die Parameterschlüssel in der Dateires/xml/remote_config_defaults.xml. Weitere Informationen finden Sie in der Tabelle unten:
Parameterschlüssel | Standardwert ( | Beschreibung |
loading_phrase | Konfiguration wird abgerufen… | String; wird beim Abrufen von Remote Config-Werten angezeigt. |
welcome_message_caps | falsch | Boolescher Wert; wenn „true“, wird „welcome_message“ in Großbuchstaben geändert. |
welcome_message | Willkommen bei meiner tollen App! | String; Willkommensnachricht |
Beispiel-Screenshot:

- Wenn Sie alle Parameter hinzugefügt haben, klicken Sie auf „Änderungen veröffentlichen“.
- Führen Sie Ihre App noch einmal auf einem Emulator oder Gerät aus und klicken Sie dieses Mal auf die Schaltfläche „Fetch Remote Welcome“.

- Die Willkommensnachricht sollte auf Grundlage Ihres Remote Config-Parameters und Ihrer Werte aktualisiert werden.
6. Glückwunsch
Herzlichen Glückwunsch! Sie haben Remote Config erfolgreich verwendet, um die Willkommensnachricht zu ändern. Es gibt viele weitere Möglichkeiten, Apps mit Remote Config zu ändern und anzupassen. Weitere Informationen finden Sie in den folgenden Ressourcen: