1. Einführung
Letzte Aktualisierung: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. Die Nutzung ist kostenlos. 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 nur geringen Auswirkungen auf die Leistung anwenden.
Wie funktioniert das?
Remote Config enthält eine Clientbibliothek, die wichtige Aufgaben wie das Abrufen und Cachen von Parameterwerten übernimmt. Sie haben aber weiterhin die Kontrolle darüber, wann neue Werte aktiviert werden, damit sie sich auf die Nutzererfahrung Ihrer App auswirken. So können Sie die App-Erfahrung schützen, indem Sie den Zeitpunkt von Änderungen steuern.
Die get-Methoden der Remote Config-Clientbibliothek bieten einen einzigen Zugriffspunkt für Parameterwerte. Ihre App ruft serverseitige Werte mit derselben Logik ab, mit der sie In-App-Standardwerte abruft. So können Sie die Funktionen von Remote Config Ihrer App 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-Back-Ends 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. Diese Grafik zeigt, wie Parameterwerte im Remote-Config-Back-End und in Ihrer App priorisiert werden:

Lerninhalte
- Firebase Remote Config implementieren
- Werte mit Firebase Remote Config ändern, ohne die App zu aktualisieren
Voraussetzungen
- Die neueste 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 der Kurzanleitung herunterladen.
Klicken Sie auf die folgende Schaltfläche, 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.
Alternativ können Sie das GitHub-Repository über die Befehlszeile klonen.
$ git clone https://github.com/firebase/quickstart-android.git
Das Repository enthält mehrere Ordner. Wir verwenden den
config Ordner.
(Optional) Beispielcode importieren
Starten Sie Android Studio und wählen Sie auf dem Begrüßungsbildschirm "Import project" aus. Öffnen Sie dann den heruntergeladenen Ordner und wählen Sie den Ordner
config aus. Klicken Sie dann auf „Öffnen“.

Neues Android-Projekt erstellen
- Starten Sie in Android Studio ein neues Projekt.
- Wählen Sie „Basic Activity“ aus.
- Gehen Sie auf dem Bildschirm „Configure Your Project“ (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. Android-Projekt Firebase und Firebase Analytics hinzufügen
Firebase-Projekt erstellen
Bevor Sie Firebase zu Ihrer Android-App hinzufügen können, müssen Sie ein Firebase-Projekt erstellen, um eine Verbindung zu Ihrer iOS-App herzustellen. 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) haben, können Sie es im Drop-down-Menü auswählen, um Firebase-Ressourcen 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 dazu, wie Firebase die Projekt-ID verwendet, finden Sie unter Firebase-Projekte.
- Klicken Sie auf Weiter.
- Richten Sie Google Analytics für Ihr Projekt ein. So können Sie alle folgenden Firebase-Produkte optimal nutzen:
- Firebase Crashlytics
- Firebase Predictions
- Firebase Cloud Messaging
- Firebase In-App-Messaging
- Firebase Remote Config
- Firebase A/B Testing
Wenn Sie dazu aufgefordert werden, 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, wählen Sie den Analytics-Berichtsstandort aus und akzeptieren Sie dann die Einstellungen zur 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 Ihre Android-App hinzufügen.
Weitere Informationen zu Best Practices und Überlegungen zum Hinzufügen von Apps zu einem Firebase-Projekt, einschließlich des Umgangs mit mehreren Build-Varianten, finden Sie unter Firebase-Projekte.
- Ö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 im Feld Android-Paketname den Paketnamen Ihrer App ein.
- (Optional) Geben Sie einen App-Nickname ein.
- Lassen Sie das Feld „SHA-1“ 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 Gradle-Plug-in der Google-Dienste einzufügen. 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 in der Gradle-Datei des Moduls (auf App-Ebene) (in der Regel app/build.gradle) das Gradle-Plug-in der Google-Dienste 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 also darauf, dass Google Analytics in Ihrem Projekt aktiviert ist.
(Dies ist bereits im Beispielcode der Kurzanleitung geschehen)
Deklarieren Sie mit der Firebase BoM für Android die Abhängigkeit für die Remote Config-Bibliothek für Android in der Gradle-Datei des Moduls (auf App-Ebene) (in der Regel app/build.gradle). Mit der Firebase BoM für Android haben Sie immer eine kompatible Version der Firebase Android-Bibliotheken in Ihrer App.
Außerdem müssen Sie im Rahmen der Einrichtung von Analytics das Firebase SDK für Google Analytics zu Ihrer App hinzufügen. Fügen Sie unter „Abhängigkeiten“ 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. Wählen Sie dazu File > Sync Project with Gradle Files aus.
4. Hauptkomponenten für Remote Config
Wir sehen uns jetzt die Schritte an, um Remote Config in einer App zu verwenden. 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 In-App-Standardparameterwerte zu speichern, aktualisierte Parameterwerte aus dem Back-End abzurufen und zu steuern, wann abgerufene Werte für Ihre App verfügbar gemacht werden.
Während der Entwicklung empfiehlt es sich, ein relativ niedriges Mindestabrufintervall festzulegen. Weitere Informationen finden Sie unter Drosselung.
2. In-App-Standardparameterwerte festlegen
Sie können In-App-Standardparameterwerte im Remote Config-Objekt festlegen, damit sich Ihre App wie gewünscht verhält, bevor sie eine Verbindung zum Remote Config-Back-End herstellt. Außerdem sind Standardwerte verfügbar, wenn im Back-End 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 Beispiel-App der Kurzanleitung für Remote Config wird eine XML-Datei verwendet, um Standardparameternamen und -werte zu definieren. So erstellen Sie eine eigene XML-Datei:
- Erstellen Sie unter dem 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 versuchen Sie, die Standardwerte in der XML-Datei der Kurzanleitung für Remote Config zu ändern.
- Fügen Sie diese Werte mit „setDefaultsAsync(int)“ dem Remote Config-Objekt hinzu, wie unten gezeigt:
MainActivity.java
mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);
3. Parameterwerte zur Verwendung in Ihrer App abrufen
Jetzt können Sie Parameterwerte aus dem Remote Config-Objekt abrufen. Wenn Sie Werte im Back-End 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 Werte mit der unten aufgeführten Methode ab, die dem von Ihrer App erwarteten Datentyp entspricht. Geben Sie den Parameterschlüssel als Argument an:
4. Werte abrufen und aktivieren
- Rufen Sie die Methode „fetch()“ auf, um Parameterwerte aus dem Remote Config-Back-End abzurufen. Alle Werte, die Sie im Back-End festgelegt haben, werden abgerufen und im Remote Config-Objekt gespeichert.
- Rufen Sie die Methode „activate()“ auf, um abgerufene Parameterwerte für Ihre App verfügbar zu machen. Wenn Sie Werte mit einem Aufruf abrufen und aktivieren möchten, können Sie eine „fetchAndActivate()“-Anfrage verwenden, um Werte aus dem Remote Config-Back-End abzurufen und sie 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 das Design Ihrer App auswirken, sollten Sie die abgerufenen Werte zu einem Zeitpunkt aktivieren, der für den Nutzer eine reibungslose Erfahrung gewährleistet, z. B. beim nächsten Öffnen der App. Weitere Informationen und Beispiele finden Sie unter Remote Config-Ladestrategien.
Drosselung
Wenn eine App innerhalb kurzer Zeit zu viele Abrufe ausführt, werden die Abrufe gedrosselt und das SDK gibt FirebaseRemoteConfigFetchThrottledException zurück. Vor SDK-Version 17.0.0 lag das Limit bei 5 Abrufanfragen innerhalb von 60 Minuten. Neuere Versionen haben großzügigere Limits.
Während der App-Entwicklung möchten Sie möglicherweise Konfigurationen sehr häufig abrufen und aktivieren (mehrmals pro Stunde), um die Entwicklung und das Testen Ihrer App schnell zu durchlaufen. Um eine schnelle Iteration an 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 Standard-Mindestabrufintervall für Remote Config beträgt 12 Stunden. Das bedeutet, dass Konfigurationen unabhängig von der Anzahl der tatsächlich ausgeführten Abrufe nicht mehr als einmal innerhalb von 12 Stunden aus dem Back-End abgerufen werden. Das Mindestabrufintervall wird in dieser Reihenfolge festgelegt:
- Der Parameter in
fetch(long) - Der Parameter in
FirebaseRemoteConfigSettings.setMinimumFetchIntervalInSeconds(long) - Der Standardwert von 12 Stunden
Verwenden Sie FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long), um das Mindestabrufintervall auf einen benutzerdefinierten Wert festzulegen.
5. App-Verhalten mit Remote Config ändern
In-App-Standardparameter ä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 überprüfen
- Führen Sie das Projekt in einem Emulator oder auf einem Testgerät aus, um das Verhalten zu bestätigen.
- Klicken Sie entweder auf die Java- oder die Kotlin-Version auf „Öffnen“.

- Sehen Sie sich die Willkommensnachricht in der Hauptansicht an.

Parameterwerte im Remote Config-Back-End festlegen
Jetzt testen wir das Senden von Werten über Remote Config. Mit der Firebase Console oder den APIs des Remote-Config-Back-Ends können Sie neue serverseitige Standardwerte erstellen, die die In-App-Werte gemäß Ihrer gewünschten bedingten Logik oder Nutzerausrichtung überschreiben. In diesem Abschnitt werden die Schritte in der Firebase Console beschrieben, um diese Werte zu erstellen.
- Öffnen Sie die Firebase Console und dann Ihr Projekt.
- Wählen Sie im Menü auf der linken Seite im Bereich „Interaktion“ die Option 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“. Für dieses Codelab verwenden wir die Parameterschlüssel in der Dateires/xml/remote_config_defaults.xml. Weitere Informationen finden Sie in der folgenden Tabelle:
Parameterschlüssel | Standardwert ( | Beschreibung |
loading_phrase | Konfiguration wird abgerufen... | String; wird beim Abrufen von Remote Config-Werten angezeigt. |
welcome_message_caps | falsch | Boolesch; wenn „true“, wird „welcome_message“ in Großbuchstaben geändert. |
welcome_message | Willkommen in 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 in einem Emulator oder auf einem Gerät aus und klicken Sie dieses Mal auf die Schaltfläche „Remote-Willkommensnachricht abrufen“.

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