Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Zacznij korzystać ze zdalnej konfiguracji Firebase

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.


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:

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

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 version 9

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web version 8

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 version 9

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

Web version 8

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:

RESZTA

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 metodę 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 version 9

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

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

Web version 8

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 version 9

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

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

Web version 8

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.

Next steps

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: