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 Verhalten Ihrer App ändern, ohne ein App-Update bereitzustellen. In diesem Leitfaden werden die ersten Schritte erläutert und Beispielcode bereitgestellt.
Schritt 1: Firebase und das Remote Config SDK in die 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. Aktivieren Sie Google Analytics in Ihrem Projekt.
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_config
Außerdem müssen Sie bei der Einrichtung von Remote Config das Firebase SDK für Google Analytics in Ihre App einbinden:
flutter pub add firebase_analytics
Projekt neu erstellen:
flutter run
Wenn Sie Remote Config unter macOS verwenden, aktivieren Sie in Xcode die Schlüsselbundfreigabe.
Schritt 2: Remote Config-Singleton-Objekt abrufen
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 sie sich wie vorgesehen verhält, bevor eine Verbindung zum Remote Config-Backend hergestellt wird. Außerdem sind dann Standardwerte verfügbar, falls 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 für die 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 werden die In-App-Parameterwerte zurückgegeben, die mit setDefaults()
konfiguriert wurden.
Rufen Sie dazu die unten aufgeführte Methode auf, die dem von Ihrer App erwarteten Datentyp zugeordnet ist, und geben Sie den Parameterschlüssel als Argument an:
getBool()
getDouble()
getInt()
getString()
Schritt 5: Parameterwerte im Remote Config-Backend festlegen
Mit der Firebase Console oder den 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 wird beschrieben, wie Sie diese Werte in der Firebase Console erstellen.
- Öffnen Sie in der Firebase Console Ihr Projekt.
- Wählen Sie im Menü Remote Config aus, um das Remote Config-Dashboard aufzurufen.
- Definieren Sie Parameter mit denselben Namen wie die Parameter, die Sie in Ihrer App definiert haben. Sie können für jeden Parameter einen Standardwert festlegen, der 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
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.Rufen Sie die Methode
activate()
auf, um abgerufene Parameterwerte für Ihre App verfügbar zu machen.Wenn Sie Werte in einem einzigen 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: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 Ihre Nutzer gewährleistet, 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: In Echtzeit nach Updates suchen
Nachdem Sie Parameterwerte abgerufen haben, können Sie mit Remote Config in Echtzeit auf Aktualisierungen des Remote Config-Backends warten. Die Echtzeit-Remote-Konfiguration signalisiert verbundenen Geräten, wenn Updates verfügbar sind, und ruft die Änderungen automatisch ab, nachdem Sie eine neue Remote-Konfigurationsversion veröffentlicht haben.
Die Echtzeit-Remote-Konfiguration ist für das Web nicht verfügbar.
Verwenden Sie in Ihrer App
onConfigUpdated
, um nach Updates zu suchen und neue Parameterwerte automatisch 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 oft abgerufen wird, werden Abrufaufrufe gedrosselt und der Wert der lastFetchStatus
-Eigenschaft von FirebaseRemoteConfig
ist RemoteConfigFetchStatus.throttle
.
Das standardmäßige Mindestabrufintervall für Remote Config beträgt 12 Stunden. Das bedeutet, dass Konfigurationen innerhalb eines Zeitraums von 12 Stunden nicht mehr als einmal aus dem Backend abgerufen werden, unabhängig davon, wie viele Abrufaufrufe tatsächlich ausgeführt werden.
Wenn Sie während der App-Entwicklung keine Remote Config in Echtzeit verwenden (was wir empfehlen), sollten Sie Konfigurationen sehr häufig (mehrmals pro Stunde) abrufen und aktivieren, damit Sie beim Entwickeln und Testen Ihrer App schnell durchlaufen können. Um die schnelle Iteration in einem Projekt mit bis zu 10 Entwicklern zu ermöglichen, können Sie vorübergehend ein niedriges Mindestabrufintervall mit setConfigSettings()
festlegen.
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(minutes: 5),
));
Nächste Schritte
Sehen Sie sich die Remote Config Anwendungsfälle an und lesen Sie die Dokumentation zu wichtigen Konzepten und erweiterten Strategien, darunter: