Mit Firebase Remote Config können Sie Parameter in Ihrer App definieren und aktualisieren ihre Werte in der Cloud, sodass Sie das Erscheinungsbild deiner App, ohne ein App-Update zu veröffentlichen. 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
Falls noch nicht geschehen, Installieren Sie das Firebase JS SDK und initialisieren Sie Firebase.
Fügen Sie das Remote Config JS SDK hinzu und initialisieren Sie 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();
Dieses Objekt wird zum Speichern von In-App-Standardparameterwerten verwendet. Aktualisierte Werte werden abgerufen. Parameterwerte aus dem Remote Config-Back-End steuern und steuern, wann sie abgerufen werden werden für Ihre App zur Verfügung gestellt.
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: Standardparameterwerte in der App 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 Remote Config-Backend-Parameterwerte bereits konfiguriert haben, können Sie eine generierte JSON-Datei herunterladen, die alle Standardwerte und Ihrem App Bundle hinzufügen:
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 Console
- Gehen Sie auf dem Tab Parameter so vor: öffnen Sie das Menü und wählen Sie Standardwerte herunterladen
- 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
Jetzt können Sie Parameterwerte aus dem Remote Config-Objekt abrufen. Wenn Sie später
Werte im Back-End festlegen, sie abrufen und dann aktivieren, werden diese Werte
die für Ihre App verfügbar sind.Um diese Werte zu erhalten, rufen Sie die Methode
getValue()
-Methode unter Angabe der
Parameterschlüssel als Argument.
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-Konsole 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-Konsole erstellen.
- Öffnen Sie in der Firebase Console Ihr Projekt.
- Wähle Remote Config aus dem Menü aus, um die Remote Config aufzurufen Dashboard.
- Definieren Sie Parameter mit denselben Namen wie die Parameter, die Sie in für Ihre App. Für jeden Parameter können Sie einen Standardwert festlegen, der In-App-Standardwert überschreiben) und Sie können auch bedingten Werten. 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 Back-End festlegen, werden abgerufen und im Remote Config-Objekt zwischengespeichert. - Um abgerufene Parameterwerte für Ihre App verfügbar zu machen, rufen Sie die Methode
activate()
.
Wenn Sie Werte in einem einzigen 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
aus.
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.
Bei der App-Entwicklung kann es sinnvoll sein, den Cache sehr häufig zu aktualisieren.
(viele Male pro Stunde), damit Sie bei der Entwicklung und beim Testen Ihrer
Um eine schnelle Iteration eines Projekts mit zahlreichen Entwickelnden zu ermöglichen,
kann vorübergehend eine Property mit einem niedrigen Mindestabrufintervall hinzufügen
(Settings.minimumFetchIntervalMillis
) in Ihrer App.
Das Standard- 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 an, falls Sie dies noch nicht getan haben Anwendungsfälle und sehen uns einige der Schlüsselkonzepte und Dokumentation zu erweiterten Strategien, einschließlich: