Catch up on highlights from Firebase at Google I/O 2023. Learn more

Zacznij korzystać ze zdalnej konfiguracji Firebase


Możesz użyć Firebase Remote Config do definiowania parametrów w swojej aplikacji i aktualizowania ich wartości w chmurze, co pozwala modyfikować wygląd i zachowanie aplikacji bez dystrybucji aktualizacji aplikacji. Ten przewodnik przeprowadzi Cię przez kroki, aby rozpocząć i zawiera przykładowy kod, z których wszystkie są dostępne do sklonowania lub pobrania z repozytorium GitHub firebase/quickstart-js .

Krok 1: Dodaj i zainicjuj pakiet Remote Config SDK

  1. Jeśli jeszcze tego nie zrobiłeś, zainstaluj Firebase JS SDK i zainicjuj Firebase .

  2. Dodaj Remote Config JS SDK i zainicjuj Remote Config:

Modułowy interfejs API sieci 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);

Internetowy interfejs API z przestrzenią nazw

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();

Ten obiekt służy do przechowywania domyślnych wartości parametrów w aplikacji, pobierania zaktualizowanych wartości parametrów z zaplecza zdalnej konfiguracji i kontrolowania, kiedy pobrane wartości są udostępniane Twojej aplikacji.

Krok 2: Ustaw minimalny interwał pobierania

Podczas programowania zaleca się ustawienie stosunkowo niskiego minimalnego interwału pobierania. Zobacz Ograniczanie , aby uzyskać więcej informacji.

Web modular API

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web namespaced API

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Krok 3: Ustaw domyślne wartości parametrów w aplikacji

Możesz ustawić domyślne wartości parametrów w aplikacji w obiekcie Zdalna konfiguracja, aby Twoja aplikacja zachowywała się zgodnie z przeznaczeniem, zanim połączy się z zapleczem Zdalnej konfiguracji, i aby wartości domyślne były dostępne, jeśli żadne nie zostaną ustawione na zapleczu.

Web modular API

remoteConfig.defaultConfig = {
  "welcome_message": "Welcome"
};

Web namespaced API

remoteConfig.defaultConfig = {
  "welcome_message": "Welcome"
};

Jeśli masz już skonfigurowane wartości parametrów zaplecza Remote Config, możesz pobrać wygenerowany plik JSON zawierający wszystkie wartości domyślne i dołączyć go do swojego pakietu aplikacji:

ODPOCZYNEK

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

Konsola Firebase

  1. W zakładce Parametry otwórz menu i wybierz Pobierz wartości domyślne .
  2. Po wyświetleniu monitu włącz format .json dla sieci Web , a następnie kliknij Pobierz plik .

Poniższe przykłady przedstawiają dwa różne sposoby importowania i ustawiania wartości domyślnych w aplikacji. W pierwszym przykładzie zastosowano fetch , która wyśle ​​żądanie HTTP do pliku ustawień domyślnych zawartego w pakiecie aplikacji:


  const rcDefaultsFile = await fetch('remote_config_defaults.json');
  const rcDefaultsJson = await rcDefaultsFile.json();
  remoteConfig.defaultConfig = rcDefaultsJson;
  

W następnym przykładzie zastosowano require , które kompiluje wartości do Twojej aplikacji w czasie kompilacji:

  let rcDefaults = require('./remote_config_defaults.json');
  remoteConfig.defaultConfig = rcDefaults;

Krok 4: Pobierz wartości parametrów do wykorzystania w aplikacji

Teraz możesz uzyskać wartości parametrów z obiektu Remote Config. Jeśli później ustawisz wartości w zapleczu, pobierzesz je, a następnie aktywujesz, wartości te będą dostępne dla Twojej aplikacji. Aby uzyskać te wartości, wywołaj metodę getValue() , podając klucz parametru jako argument.

Web modular API

import { getValue } from "firebase/remote-config";

const val = getValue(remoteConfig, "welcome_messsage");

Web namespaced API

const val = remoteConfig.getValue("welcome_messsage");

Krok 5: Ustaw wartości parametrów

Korzystając z konsoli Firebase lub interfejsów API zaplecza Remote Config , możesz tworzyć nowe wartości domyślne po stronie serwera, które zastępują wartości w aplikacji zgodnie z wymaganą logiką warunkową lub kierowaniem na użytkownika. Ta sekcja zawiera instrukcje dotyczące tworzenia tych wartości w konsoli Firebase.

  1. W konsoli Firebase otwórz swój projekt.
  2. Wybierz opcję Zdalna konfiguracja z menu, aby wyświetlić pulpit nawigacyjny Zdalnej konfiguracji.
  3. Zdefiniuj parametry o takich samych nazwach jak parametry zdefiniowane w aplikacji. Dla każdego parametru możesz ustawić wartość domyślną (która ostatecznie zastąpi domyślną wartość w aplikacji), a także możesz ustawić wartości warunkowe. Aby dowiedzieć się więcej, zobacz Parametry i warunki zdalnej konfiguracji .

Krok 6: Pobierz i aktywuj wartości

  1. Aby pobrać wartości parametrów z zaplecza Remote Config, wywołaj metodę fetchConfig() . Wszelkie wartości ustawione na zapleczu są pobierane i zapisywane w pamięci podręcznej w obiekcie Zdalna konfiguracja.
  2. Aby udostępnić pobrane wartości parametrów swojej aplikacji, wywołaj metodę activate() .

W przypadkach, w których chcesz pobrać i aktywować wartości w jednym wywołaniu, użyj fetchAndActivate() , jak pokazano w tym przykładzie:

Web modular API

import { fetchAndActivate } from "firebase/remote-config";

fetchAndActivate(remoteConfig)
  .then(() => {
    // ...
  })
  .catch((err) => {
    // ...
  });

Web namespaced API

remoteConfig.fetchAndActivate()
  .then(() => {
    // ...
  })
  .catch((err) => {
    // ...
  });

Ponieważ te zaktualizowane wartości parametrów wpływają na zachowanie i wygląd Twojej aplikacji, należy aktywować pobrane wartości w czasie, który zapewni użytkownikowi bezproblemowe działanie, na przykład przy następnym otwarciu aplikacji przez użytkownika. Zobacz Strategie ładowania zdalnej konfiguracji, aby uzyskać więcej informacji i przykładów.

Ograniczanie

Jeśli aplikacja pobiera zbyt wiele razy w krótkim czasie, wywołania pobierania mogą zostać ograniczone. W takich przypadkach SDK zgłasza błąd FETCH_THROTTLE . Zalecamy wychwycić ten błąd i ponowić próbę w trybie wycofywania wykładniczego, czekając z dłuższymi przerwami między kolejnymi żądaniami pobierania.

Podczas tworzenia aplikacji możesz chcieć bardzo często odświeżać pamięć podręczną (wiele razy na godzinę), aby umożliwić szybkie iteracje podczas opracowywania i testowania aplikacji. Aby dostosować się do szybkiej iteracji projektu z wieloma programistami, możesz tymczasowo dodać właściwość z niskim minimalnym interwałem pobierania ( Settings.minimumFetchIntervalMillis ) w swojej aplikacji.

Domyślny i zalecany interwał pobierania produkcyjnego dla Remote Config to 12 godzin, co oznacza, że ​​konfiguracje nie będą pobierane z backendu więcej niż raz w ciągu 12 godzin, niezależnie od liczby wywołań pobierania faktycznie wykonanych. W szczególności minimalny interwał pobierania jest określany w następującej kolejności:

  1. Parametr w Settings.minimumFetchIntervalMillis .
  2. Wartość domyślna 12 godzin.

Następne kroki

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: