| Plattform auswählen: | iOS+ Android Web Flutter Unity C++ |
Mit Firebase Remote Config können Sie Parameter in Ihrer App definieren und ihre Werte in der Cloud aktualisieren. So können Sie das Erscheinungsbild und das Verhalten Ihrer App ändern, ohne ein App-Update zu veröffentlichen. In diesem Leitfaden werden die ersten Schritte beschrieben und einige Codebeispiele bereitgestellt.
Schritt 1: Firebase und das Remote Config SDK in Ihre App einbinden
Installieren und initialisieren Sie die Firebase SDKs für Flutter, falls noch nicht geschehen.
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.
Führen Sie im Stammverzeichnis Ihres Flutter-Projekts den folgenden Befehl aus, um das Remote Config-Plug-in zu installieren:
flutter pub add firebase_remote_configIm Rahmen der Einrichtung von Remote Config müssen Sie Ihrer App außerdem das Firebase SDK für Google Analytics hinzufügen:
flutter pub add firebase_analyticsErstellen Sie Ihr Projekt neu:
flutter runWenn Sie Remote Config unter macOS verwenden, aktivieren Sie Keychain Sharing in Xcode.
Schritt 2: Remote Config Singleton-Objekt erstellen
Erstellen Sie eine Remote Config-Objektinstanz und legen Sie das Mindestabrufintervall fest, um häufige Aktualisierungen zu ermöglichen:
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(hours: 1),
));
Das Singleton-Objekt wird verwendet, um In-App-Standardparameterwerte 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.
Schritt 3: In-App-Standardparameterwerte festlegen
Sie können im Remote Config-Objekt Standardparameterwerte für die App festlegen, damit sich die App wie gewünscht verhält, bevor sie eine Verbindung zum Remote Config-Backend herstellt. So sind Standardwerte verfügbar, wenn im Backend keine festgelegt sind.
await remoteConfig.setDefaults(const {
"example_param_1": 42,
"example_param_2": 3.14159,
"example_param_3": true,
"example_param_4": "Hello, world!",
});
Schritt 4: Parameterwerte zur Verwendung in Ihrer App abrufen
Jetzt können Sie Parameterwerte aus dem Remote Config-Objekt abrufen. Wenn Sie Werte im Backend festlegen, sie abrufen und dann aktivieren, sind diese Werte für Ihre App verfügbar. Andernfalls erhalten Sie die In-App-Parameterwerte, die mit setDefaults() konfiguriert wurden.
Wenn Sie diese Werte abrufen möchten, rufen Sie eine der folgenden Methoden auf, die dem von Ihrer App erwarteten Datentyp entsprechen, und geben Sie den Parameterschlüssel als Argument an:
getBool()getDouble()getInt()getString()
Schritt 5: Parameterwerte im Remote Config-Backend festlegen
Über die Firebase Console oder die Remote Config-Back-End-APIs können Sie neue serverseitige Standardwerte erstellen, die die In-App-Werte gemäß der gewünschten bedingten Logik oder dem Nutzer-Targeting überschreiben. In diesem Abschnitt werden die Schritte in der Firebase Console zum Erstellen dieser Werte beschrieben.
Rufen Sie in der Firebase-Konsole DevOps & Engagement > Remote Config auf.
Definieren Sie Parameter mit denselben Namen wie die Parameter, die Sie in Ihrer App definiert haben. Für jeden Parameter können Sie einen Standardwert festlegen, der schließlich den entsprechenden In-App-Standardwert überschreibt. Außerdem können Sie bedingte Werte festlegen. Weitere Informationen finden Sie unter Remote Config-Parameter und -Bedingungen.
Schritt 6: Werte abrufen und aktivieren
Wenn Sie Parameterwerte aus dem Remote Config-Backend abrufen möchten, rufen Sie die Methode
fetch()auf. Alle Werte, die Sie im Backend festlegen, werden abgerufen und im Remote Config-Objekt gespeichert.Wenn Sie die abgerufenen Parameterwerte für Ihre App verfügbar machen möchten, 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 der App zur Verfügung zu stellen:await remoteConfig.fetchAndActivate();
Da sich diese aktualisierten Parameterwerte auf das Verhalten und das Erscheinungsbild Ihrer App auswirken, sollten Sie die abgerufenen Werte zu einem Zeitpunkt aktivieren, der eine reibungslose Nutzung für den Nutzer ermöglicht, z. B. wenn der Nutzer Ihre App das nächste Mal öffnet. Weitere Informationen und Beispiele finden Sie unter Ladestrategien für Remote Config.
Schritt 7: Echtzeit-Updates erhalten
Nachdem Sie Parameterwerte abgerufen haben, können Sie mit Remote Config in Echtzeit auf Aktualisierungen vom Remote Config-Backend warten. Remote Config in Echtzeit signalisiert verbundenen Geräten, wenn Updates verfügbar sind, und ruft die Änderungen automatisch ab, nachdem Sie eine neue Remote Config-Version veröffentlicht haben.
Remote Config in Echtzeit ist für das Web nicht verfügbar.
Verwenden Sie in Ihrer App
onConfigUpdated, um auf Updates zu warten und automatisch neue Parameterwerte abzurufen.remoteConfig.onConfigUpdated.listen((event) async { await remoteConfig.activate(); // Use the new config values here. });Wenn Sie das nächste Mal eine neue Version Ihrer Remote Config veröffentlichen, wird die neue Konfiguration auf Geräten aktiviert, auf denen Ihre App ausgeführt wird und die auf Änderungen warten.
Drosselung
Wenn eine App innerhalb kurzer Zeit zu viele Abrufe durchführt, werden die Abrufaufrufe gedrosselt und der Wert des Attributs lastFetchStatus von FirebaseRemoteConfig ist RemoteConfigFetchStatus.throttle.
Das standardmäßige Mindestabrufintervall für Remote Config beträgt 12 Stunden. Das bedeutet, dass Konfigurationen innerhalb von 12 Stunden nicht mehr als einmal vom Backend abgerufen werden, unabhängig davon, wie viele Abrufaufrufe tatsächlich erfolgen.
Wenn Sie während der App-Entwicklung nicht die von uns empfohlene Echtzeit-Remote Config verwenden, sollten Sie Konfigurationen sehr häufig abrufen und aktivieren (mehrmals pro Stunde), um während der Entwicklung und des Tests Ihrer App schnell iterieren zu können. Um eine schnelle Iteration in einem Projekt mit bis zu 10 Entwicklern zu ermöglichen, können Sie mit setConfigSettings() vorübergehend ein niedriges Mindestabrufintervall festlegen.
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(minutes: 5),
));