Sie können Firebase Remote Config verwenden, um Parameter in Ihrer App zu definieren und ihre Werte in der Cloud zu aktualisieren, sodass Sie das Aussehen und Verhalten Ihrer App ändern können, ohne ein App-Update verteilen zu müssen. Dieser Leitfaden führt Sie durch die Schritte für den Einstieg und enthält einige Beispielcodes, die alle zum Klonen oder Herunterladen aus dem GitHub-Repository firebase/quickstart-js verfügbar sind.
Schritt 1: Fügen Sie das Remote Config SDK hinzu und initialisieren Sie es
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 version 9
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 version 8
import firebase from "firebase/app"; import "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 firebase.initializeApp(firebaseConfig); // Initialize Remote Config and get a reference to the service const remoteConfig = firebase.remoteConfig();
Dieses Objekt wird verwendet, um In-App-Standardparameterwerte zu speichern, aktualisierte Parameterwerte aus dem Remote Config-Back-End abzurufen und zu steuern, wann abgerufene Werte Ihrer App zur Verfügung gestellt werden.
Schritt 2: Legen Sie das minimale Abrufintervall fest
Während der Entwicklung wird empfohlen, ein relativ niedriges Mindestabrufintervall festzulegen. Weitere Informationen finden Sie unter Drosselung .
Web version 9
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
Web version 8
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
Schritt 3: Legen Sie die Standardparameterwerte in der App fest
Sie können In-App-Standardparameterwerte im Remote Config-Objekt festlegen, sodass sich Ihre App wie beabsichtigt verhält, bevor sie eine Verbindung mit dem Remote Config-Back-End herstellt, und damit Standardwerte verfügbar sind, wenn keine auf dem Back-End festgelegt sind.
Web version 9
remoteConfig.defaultConfig = { "welcome_message": "Welcome" };
Web version 8
remoteConfig.defaultConfig = { "welcome_message": "Welcome" };
Wenn Sie bereits Remote Config-Back-End-Parameterwerte konfiguriert haben, können Sie eine generierte JSON-Datei herunterladen, die alle Standardwerte enthält, und sie in Ihr App-Paket aufnehmen:
AUSRUHEN
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 der Registerkarte Parameter das Menü und wählen Sie Standardwerte herunterladen aus.
- Wenn Sie dazu aufgefordert werden, aktivieren Sie .json für das Web und klicken Sie dann auf Datei herunterladen .
Die folgenden Beispiele zeigen zwei verschiedene Möglichkeiten zum Importieren und Festlegen von Standardwerten in Ihrer App. Das erste Beispiel verwendet fetch
, wodurch eine HTTP-Anforderung an die Standarddatei gesendet wird, die in Ihrem App-Bundle enthalten ist:
const rcDefaultsFile = await fetch('remote_config_defaults.json'); const rcDefaultsJson = await rcDefaultsFile.json(); remoteConfig.defaultConfig = rcDefaultsJson;
Das nächste Beispiel verwendet require
, wodurch die Werte zur Buildzeit in Ihre App kompiliert werden:
let rcDefaults = require('./remote_config_defaults.json'); remoteConfig.defaultConfig = rcDefaults;
Schritt 4: Abrufen von Parameterwerten zur Verwendung in Ihrer App
Jetzt können Sie Parameterwerte aus dem Remote Config-Objekt abrufen. Wenn Sie später Werte im Back-End festlegen, abrufen und dann aktivieren, stehen diese Werte Ihrer App zur Verfügung. Um diese Werte abzurufen, rufen Sie die getValue()
Methode auf und geben Sie den Parameterschlüssel als Argument an.
Web version 9
import { getValue } from "firebase/remote-config"; const val = getValue(remoteConfig, "welcome_messsage");
Web version 8
const val = remoteConfig.getValue("welcome_messsage");
Schritt 5: Parameterwerte einstellen
Mit der Firebase-Konsole oder den Remote Config-Back-End-APIs können Sie neue serverseitige Standardwerte erstellen, die die In-App-Werte gemäß Ihrer gewünschten Bedingungslogik oder Benutzerausrichtung überschreiben. Dieser Abschnitt führt Sie durch die Schritte der Firebase-Konsole zum Erstellen dieser Werte.
- Öffnen Sie in der Firebase-Konsole Ihr Projekt.
- Wählen Sie Remote Config aus dem Menü aus, um das Remote Config-Dashboard anzuzeigen.
- 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 schließlich den In-App-Standardwert überschreibt) und Sie können auch bedingte Werte festlegen. Weitere Informationen finden Sie unter Remote-Konfigurationsparameter und -bedingungen .
Schritt 6: Werte abrufen und aktivieren
- Rufen Sie zum Abrufen von Parameterwerten aus dem Remote Config-Backend die Methode
fetchConfig()
auf. Alle Werte, die Sie im Back-End festlegen, werden abgerufen und im Remote Config-Objekt zwischengespeichert. - Rufen Sie die
activate()
Methode auf, um Ihrer App abgerufene Parameterwerte zur Verfügung zu stellen.
Für Fälle, in denen Sie Werte in einem Aufruf abrufen und aktivieren möchten, verwenden Sie fetchAndActivate()
wie in diesem Beispiel gezeigt:
Web version 9
import { fetchAndActivate } from "firebase/remote-config"; fetchAndActivate(remoteConfig) .then(() => { // ... }) .catch((err) => { // ... });
Web version 8
remoteConfig.fetchAndActivate() .then(() => { // ... }) .catch((err) => { // ... });
Da sich diese aktualisierten Parameterwerte auf das Verhalten und Erscheinungsbild Ihrer App auswirken, sollten Sie die abgerufenen Werte zu einem Zeitpunkt aktivieren, der eine reibungslose Erfahrung für Ihren Benutzer gewährleistet, z. B. wenn der Benutzer Ihre App das nächste Mal öffnet. Weitere Informationen und Beispiele finden Sie unter Strategien zum Laden von Remote-Konfigurationen .
Drosselung
Wenn eine App in kurzer Zeit zu oft abruft, werden Abrufaufrufe möglicherweise gedrosselt. In solchen Fällen gibt das SDK einen FETCH_THROTTLE
Fehler aus. Es wird empfohlen, diesen Fehler abzufangen und es im exponentiellen Backoff-Modus erneut zu versuchen, wobei längere Intervalle zwischen aufeinanderfolgenden Abrufanforderungen gewartet werden.
Während der App-Entwicklung möchten Sie den Cache möglicherweise sehr häufig (mehrmals pro Stunde) aktualisieren, damit Sie beim Entwickeln und Testen Ihrer App schnell iterieren können. Um eine schnelle Iteration eines Projekts mit zahlreichen Entwicklern zu ermöglichen, können Sie Ihrer App vorübergehend eine Eigenschaft mit einem niedrigen Mindestabrufintervall ( Settings.minimumFetchIntervalMillis
) hinzufügen.
Das standardmäßige und empfohlene Produktionsabrufintervall für Remote Config beträgt 12 Stunden, was bedeutet, dass Konfigurationen nicht mehr als einmal in einem 12-Stunden-Fenster vom Back-End abgerufen werden, unabhängig davon, wie viele Abrufaufrufe tatsächlich getätigt werden. Insbesondere wird das minimale Abrufintervall in der folgenden Reihenfolge bestimmt:
- Der Parameter in
Settings.minimumFetchIntervalMillis
. - Der Standardwert von 12 Stunden.
Nächste Schritte
If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: