Mit Firebase Remote Config können Sie Parameter in Ihrer App definieren und aktualisieren in der Cloud gespeichert werden, sodass Sie Darstellung und Verhalten von ohne ein App-Update zu verteilen. Dieser Leitfaden führt Sie durch die ersten Schritte und enthält einige Beispielcode.
Schritt 1: Der App Firebase und das Remote Config SDK hinzufügen
Installieren und initialisieren Sie die Firebase SDKs für Flutter, wenn Sie noch nicht getan haben.
Für Remote Config ist Google Analytics für den bedingtes Targeting von App-Instanzen Nutzereigenschaften und Zielgruppen. Aktivieren Sie Google Analytics in Ihrem Projekt.
Führen Sie im Stammverzeichnis Ihres Flutter-Projekts folgenden Befehl aus: Befehl zum Installieren des Remote Config-Plug-ins:
flutter pub add firebase_remote_config
Bei der Einrichtung von Remote Config müssen Sie außerdem das Firebase SDK hinzufügen, für Google Analytics zu Ihrer App:
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
Rufen Sie eine Remote Config-Objektinstanz ab und legen Sie die minimales Abrufintervall, 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 zum Speichern von In-App-Standardparameterwerten, zum Abrufen aktualisierte Parameterwerte aus dem Backend und steuern, wann abgerufene Werte die für Ihre App verfügbar sind.
Während der Entwicklung empfiehlt es sich, einen relativ niedrigen Mindestabrufbereich festzulegen Intervall. 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 zur Verwendung in Ihrer App abrufen
Sie können jetzt Parameterwerte aus dem Remote Config-Objekt abrufen. Wenn Sie
im Back-End, rufen Sie sie ab
und aktivieren Sie sie.
sind diese Werte für Ihre App verfügbar. Andernfalls erhalten Sie die In-App-
Parameterwerte, 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 der Remote Config-Back-End APIs können Sie neue serverseitige Standardwerte erstellen, die die In-App-Werte überschreiben, gemäß der gewünschten bedingten Logik oder dem Nutzer-Targeting aus. In diesem Abschnitt wird beschrieben, wie Sie diese Werte in der Firebase Console erstellen.
- Öffnen Sie Ihr Projekt in der Firebase Console.
- Wählen Sie im Menü Remote Config aus, um das Remote Config-Dashboard aufzurufen.
- Definieren Sie Parameter mit denselben Namen wie die Parameter in Ihrer App. 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 zum Abrufen von Parameterwerten aus dem Remote Config-Backend die Methode
fetch()
-Methode. 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 Aufruf abrufen und aktivieren möchten, können mit einer
fetchAndActivate()
-Anfrage Werte aus der Remote Config-Backend und stellen Sie sie der App zur Verfügung:await remoteConfig.fetchAndActivate();
Weil sich diese aktualisierten Parameterwerte auf das Verhalten und die Darstellung auswirken. Ihrer App verwenden, sollten Sie die abgerufenen Werte zu einem Zeitpunkt aktivieren, wie z. B. wenn sie Ihre Website das nächste Mal öffnen, Siehe Remote Config-Ladestrategien finden Sie weitere Informationen und Beispiele.
Schritt 7: In Echtzeit auf Updates warten
Nachdem Sie Parameterwerte abgerufen haben, können Sie Remote Config in Echtzeit zum Überwachen verwenden für Updates vom Remote Config-Backend. Echtzeit-Remote Config-Signale für verbundenen Geräten, wenn Updates verfügbar sind, und ruft automatisch die ändert sich nach der Veröffentlichung einer neuen Remote Config-Version.
Die Echtzeit-Remote-Konfiguration ist für das Web nicht verfügbar.
Verwenden Sie
onConfigUpdated
, um in Ihrer App auf Updates zu warten und ruft automatisch alle neuen Parameterwerte ab.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, werden Geräte, die Ihre App wird ausgeführt und durch das Warten auf Änderungen wird die neue Konfiguration aktiviert.
Drosselung
Wenn eine App innerhalb eines kurzen Zeitraums zu oft Daten abruft, werden Abrufaufrufe
gedrosselt und der lastFetchStatus
-Wert von FirebaseRemoteConfig
Property RemoteConfigFetchStatus.throttle
.
Das standardmäßige Mindestabrufintervall für Remote Config beträgt 12 Stunden. Das bedeutet, dass Konfigurationen nicht öfter als einmal innerhalb von zwölf Stunden vom Back-End abgerufen werden. unabhängig davon, wie viele Abrufaufrufe erfolgen.
Wenn Sie bei der App-Entwicklung kein Echtzeit-Remote Config-Tool verwenden, das wir
empfehlen), kann es sinnvoll sein, Konfigurationen sehr häufig abzurufen und zu aktivieren.
(viele Male pro Stunde), damit Sie bei der Entwicklung und beim Testen Ihrer
Um eine schnelle Iteration bei einem Projekt mit bis zu 10 Entwickelnden zu ermöglichen,
kann mit setConfigSettings()
vorübergehend ein niedriges minimales Abrufintervall 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 an, falls Sie dies noch nicht getan haben Anwendungsfälle und sehen uns einige der Schlüsselkonzepte und Dokumentation zu erweiterten Strategien, einschließlich: