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 bereitzustellen. In dieser Anleitung werden die ersten Schritte erläutert und es wird Beispielcode bereitgestellt, der aus dem GitHub-Repository firebase/quickstart-js geklont oder heruntergeladen werden kann.
Schritt 1: Remote Config SDK hinzufügen und initialisieren
Installieren und initialisieren Sie das Firebase JS SDK, falls noch nicht geschehen.
Füge das Remote Config JS SDK hinzu und initialisiere Remote Config:
Web
import { initializeApp } from "firebase/app"; import { getRemoteConfig } from "firebase/remote-config"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Remote Config and get a reference to the service const remoteConfig = getRemoteConfig(app);
Web
import firebase from "firebase/compat/app"; import "firebase/compat/remote-config"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Remote Config and get a reference to the service const remoteConfig = firebase.remoteConfig();
Mit diesem Objekt werden In-App-Standardparameterwerte gespeichert, aktualisierte Parameterwerte aus dem Remote Config-Backend abgerufen und gesteuert, wann abgerufene Werte für Ihre App verfügbar gemacht werden.
Schritt 2: Mindestabrufintervall festlegen
Während der Entwicklung wird empfohlen, ein relativ niedriges Mindestabrufintervall festzulegen. Weitere Informationen finden Sie unter Drosselung.
Web
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
Web
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
Schritt 3: In-App-Standardparameterwerte festlegen
Sie können im Remote Config-Objekt In-App-Standardparameterwerte festlegen, damit sich Ihre App 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.
Web
remoteConfig.defaultConfig = { "welcome_message": "Welcome" };
Web
remoteConfig.defaultConfig = { "welcome_message": "Welcome" };
Wenn Sie bereits Remote Config-Backendparameterwerte konfiguriert haben, können Sie eine generierte JSON-Datei mit allen Standardwerten herunterladen und in Ihr App-Bundle aufnehmen:
REST
curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=JSON -o remote_config_defaults.json
Firebase-Konsole
- Öffnen Sie auf dem Tab Parameter das Menü und wählen Sie Standardwerte herunterladen aus.
- Aktivieren Sie auf Aufforderung .json für das Web und klicken Sie dann auf Datei herunterladen.
Die folgenden Beispiele zeigen zwei verschiedene Möglichkeiten, wie Sie Standardwerte in Ihre App importieren und festlegen können. Im ersten Beispiel wird fetch
verwendet, wodurch eine HTTP-Anfrage an die Standarddatei im App-Bundle gesendet wird:
const rcDefaultsFile = await fetch('remote_config_defaults.json'); const rcDefaultsJson = await rcDefaultsFile.json(); remoteConfig.defaultConfig = rcDefaultsJson;
Im nächsten Beispiel wird require
verwendet, wodurch die Werte zum Zeitpunkt des Builds in Ihre App kompiliert werden:
let rcDefaults = require('./remote_config_defaults.json'); remoteConfig.defaultConfig = rcDefaults;
Schritt 4: Parameterwerte für die Verwendung in Ihrer App abrufen
Sie können jetzt Parameterwerte aus dem Remote Config-Objekt abrufen. Wenn Sie später Werte im Backend festlegen, abrufen und dann aktivieren, sind diese Werte für Ihre App verfügbar.Rufen Sie dazu die Methode getValue()
auf und geben Sie den Parameterschlüssel als Argument an.
Web
import { getValue } from "firebase/remote-config"; const val = getValue(remoteConfig, "welcome_messsage");
Web
const val = remoteConfig.getValue("welcome_messsage");
Schritt 5: Parameterwerte festlegen
Mit der Firebase Console oder den Remote Config Backend-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-Konsole 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 in Ihrer App. Sie können für jeden Parameter einen Standardwert festlegen, der den In-App-Standardwert überschreibt, und auch bedingte Werte festlegen. Weitere Informationen finden Sie unter Remote Config Parameter und Bedingungen.
Schritt 6: Werte abrufen und aktivieren
- Wenn du Parameterwerte aus dem Remote Config-Backend abrufen möchtest, rufe die Methode
fetchConfig()
auf. Alle Werte, die Sie im Backend festlegen, werden abgerufen und im Remote Config-Objekt im Cache gespeichert. - Wenn Sie abgerufene 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, verwenden Sie fetchAndActivate()
, wie in diesem Beispiel gezeigt:
Web
import { fetchAndActivate } from "firebase/remote-config"; fetchAndActivate(remoteConfig) .then(() => { // ... }) .catch((err) => { // ... });
Web
remoteConfig.fetchAndActivate() .then(() => { // ... }) .catch((err) => { // ... });
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.
Drosselung
Wenn eine App zu oft in kurzer Zeit abgerufen wird, werden Abrufaufrufe möglicherweise gedrosselt. In solchen Fällen gibt das SDK den Fehler FETCH_THROTTLE
zurück.
Wir empfehlen, diesen Fehler zu erfassen und im Modus „Exponentieller Backoff“ noch einmal zu versuchen, wobei zwischen den nachfolgenden Abrufanfragen längere Intervalle eingehalten werden sollten.
Während der App-Entwicklung möchten Sie möglicherweise den Cache sehr häufig (oft pro Stunde) aktualisieren, damit Sie beim Entwickeln und Testen Ihrer App schnell durchlaufen können. Um die schnelle Wiederholung eines Projekts mit zahlreichen Entwicklern zu ermöglichen, können Sie der App vorübergehend eine Property mit einem niedrigen Mindestabrufintervall (Settings.minimumFetchIntervalMillis
) hinzufügen.
Das standardmäßige und empfohlene Abrufintervall für die Produktion von Remote Config beträgt 12 Stunden. Das bedeutet, dass Konfigurationen innerhalb eines 12-Stunden-Zeitraums nicht mehr als einmal aus dem Backend abgerufen werden, unabhängig davon, wie viele Abrufaufrufe tatsächlich ausgeführt werden. Das Mindestabrufintervall wird in der folgenden Reihenfolge ermittelt:
- Der Parameter in
Settings.minimumFetchIntervalMillis
. - Der Standardwert ist 12 Stunden.
Nächste Schritte
Sehen Sie sich die Remote Config Anwendungsfälle an und lesen Sie die Dokumentation zu wichtigen Konzepten und erweiterten Strategien, darunter: