Erste Schritte mit Firebase Remote Config


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 verteilen. In dieser Anleitung werden die ersten Schritte beschrieben und es wird Beispielcode bereitgestellt.

Schritt 1: Firebase und das Remote Config SDK in die App einfügen

  1. Installieren und initialisieren Sie die Firebase SDKs für Flutter, falls noch nicht geschehen.

  2. 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.

  3. 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 im Rahmen der Einrichtung von Remote Config das Firebase SDK für Google Analytics in Ihre App einfügen:

    flutter pub add firebase_analytics
    
  4. Erstellen Sie Ihr Projekt neu:

    flutter run
    
  5. Wenn 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 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 Mindestintervall für den Abruf festzulegen. Weitere Informationen finden Sie unter Drosselung.

Schritt 3: 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, und damit Standardwerte verfügbar sind, 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 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 erhalten Sie die In-App-Parameterwerte, die mit setDefaults() konfiguriert wurden.

Rufen Sie die unten aufgeführte Methode auf, die dem von Ihrer App erwarteten Datentyp entspricht, und geben Sie den Parameterschlüssel als Argument an, um diese Werte abzurufen:

  • getBool()
  • getDouble()
  • getInt()
  • getString()

Schritt 5: Parameterwerte im Remote Config-Backend festlegen

Ü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.

  1. Öffnen Sie Ihr Projekt in der Firebase Console.
  2. Wählen Sie im Menü Remote Config aus, um das Remote Config-Dashboard aufzurufen.
  3. 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 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

  1. 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.

  2. 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:

    await remoteConfig.fetchAndActivate();
    

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 der App durch den Nutzer. Weitere Informationen und Beispiele finden Sie unter Remote Config-Ladestrategien.

Schritt 7: Echtzeit-Updates anhören

Nachdem Sie Parameterwerte abgerufen haben, können Sie mit der Echtzeit-Remote Config auf Aktualisierungen des Remote Config-Backends warten. Realtime Remote Config benachrichtigt verbundene Geräte, wenn Updates verfügbar sind, und ruft die Änderungen automatisch ab, nachdem Sie eine neue Remote Config-Version veröffentlicht haben.

Hinweis: Die Echtzeit-Remote-Konfiguration ist für das Web nicht verfügbar.

  1. Verwenden Sie in Ihrer App onConfigUpdated, um mit dem Abrufen von Aktualisierungen zu beginnen und automatisch alle neuen Parameterwerte abzurufen.

     remoteConfig.onConfigUpdated.listen((event) async {
       await remoteConfig.activate();
    
       // Use the new config values here.
     });
    
  2. 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 zu oft in kurzer Zeit Daten abruft, werden die Abrufe gedrosselt und der Wert der FirebaseRemoteConfig-Eigenschaft lastFetchStatus ist RemoteConfigFetchStatus.throttle.

Das standardmäßige Mindestabrufintervall für Remote Config 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.

Wenn Sie während der App-Entwicklung keine Echtzeit-Remote Config verwenden (was wir empfehlen), möchten Sie möglicherweise Konfigurationen sehr häufig (mehrmals pro Stunde) abrufen und aktivieren, um schnell Iterationen durchführen zu können, während Sie Ihre App entwickeln und testen. Um schnelle Iterationen 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),
));

Nächste Schritte

Falls Sie das noch nicht getan haben, sehen Sie sich die Remote Config Anwendungsfälle an und lesen Sie die Dokumentation zu einigen der wichtigsten Konzepte und erweiterten Strategien, darunter: