Za pomocą Zdalnej konfiguracji Firebase możesz definiować parametry w aplikacji i aktualizować ich wartości w chmurze, co pozwala zmieniać wygląd i działanie aplikacji bez jej aktualizacji. Ten przewodnik przedstawia krok po kroku, jak zacząć, oraz zawiera przykładowy kod, który możesz sklonować lub pobrać z repozytorium firebase/quickstart-js GitHub.
Krok 1. Dodaj i zainicjuj pakiet SDK Zdalnej konfiguracji.
Zainstaluj pakiet SDK Firebase JS i zainicjuj Firebase, jeśli jeszcze go nie masz.
Dodaj pakiet SDK Zdalnej konfiguracji JS i zainicjuj Zdalną konfigurację:
Web modular API
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);
Interfejs API Web Namespaced
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 backendu Zdalnej konfiguracji oraz kontrolowania, kiedy pobierane wartości mają być dostępne dla aplikacji.
Krok 2. Ustaw minimalny interwał pobierania
W trakcie programowania zalecane jest ustawienie stosunkowo niskiego minimalnego okresu pobierania. Więcej informacji znajdziesz w sekcji Ograniczanie.
Web modular API
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
Interfejs API Web Namespaced
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
Krok 3. Ustaw domyślne wartości parametrów w aplikacji
W obiekcie Zdalnej konfiguracji możesz ustawić domyślne wartości parametrów aplikacji, dzięki czemu aplikacja będzie zachowywać się zgodnie z oczekiwaniami przed nawiązaniem połączenia z backendem Zdalnej konfiguracji, a jeśli w backendzie nie zostanie ustawiona żadna wartość domyślna, będą dostępne wartości domyślne.
Web modular API
remoteConfig.defaultConfig = { "welcome_message": "Welcome" };
Interfejs API Web Namespaced
remoteConfig.defaultConfig = { "welcome_message": "Welcome" };
Jeśli masz już skonfigurowane wartości parametrów backendu Zdalnej konfiguracji, możesz pobrać wygenerowany plik JSON zawierający wszystkie wartości domyślne i uwzględnić go w pakiecie aplikacji:
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
Konsola Firebase
- Na karcie Parametry otwórz menu i kliknij Pobierz wartości domyślne.
- Gdy pojawi się prośba, włącz format .json dla stron internetowych, a potem kliknij Pobierz plik.
Poniższe przykłady pokazują 2 różne sposoby importowania i ustawiania wartości domyślnych w aplikacji. Pierwszy przykład używa metody fetch
, która wysyła żądanie HTTP do pliku domyślnego uwzględnionego w pakiecie aplikacji:
const rcDefaultsFile = await fetch('remote_config_defaults.json'); const rcDefaultsJson = await rcDefaultsFile.json(); remoteConfig.defaultConfig = rcDefaultsJson;
W następnym przykładzie użyto narzędzia require
, które kompiluje wartości do 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 pobierać wartości parametrów z obiektu Zdalnej konfiguracji. Jeśli później ustawisz wartości w backendzie, pobierze je i aktywujesz, będą one 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");
Interfejs API Web Namespaced
const val = remoteConfig.getValue("welcome_messsage");
Krok 5. Ustaw wartości parametrów
Za pomocą konsoli Firebase lub interfejsów API backendu Zdalnej konfiguracji możesz tworzyć po stronie serwera nowe wartości domyślne, które zastępują wartości w aplikacji zgodnie z wybraną logiką warunkową lub kierowaniem na użytkowników. Z tej sekcji dowiesz się, jak utworzyć te wartości w konsoli Firebase.
- Otwórz projekt w konsoli Firebase.
- Wybierz z menu Zdalna konfiguracja, aby wyświetlić panel Zdalnej konfiguracji.
- 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 wartość domyślną w aplikacji) lub ustawić wartości warunkowe. Więcej informacji znajdziesz w artykule o parametrach i warunkach Zdalnej konfiguracji.
Krok 6. Pobierz i aktywuj wartości
- Aby pobrać wartości parametrów z backendu Zdalnej konfiguracji, wywołaj metodę
fetchConfig()
. Wszystkie wartości ustawione w backendzie są pobierane i zapisywane w pamięci podręcznej obiektu Zdalnej konfiguracji. - Aby udostępnić aplikacji pobrane wartości parametrów, wywołaj metodę
activate()
.
W przypadkach, w których chcesz pobrać i aktywować wartości w ramach jednego wywołania, użyj fetchAndActivate()
jak w tym przykładzie:
Web modular API
import { fetchAndActivate } from "firebase/remote-config"; fetchAndActivate(remoteConfig) .then(() => { // ... }) .catch((err) => { // ... });
Interfejs API Web Namespaced
remoteConfig.fetchAndActivate() .then(() => { // ... }) .catch((err) => { // ... });
Te zaktualizowane wartości parametrów mają wpływ na działanie i wygląd aplikacji, dlatego należy aktywować pobrane wartości w czasie umożliwiającym bezproblemowe korzystanie z aplikacji, np. przy następnym uruchomieniu przez niego aplikacji. Więcej informacji i przykładów znajdziesz w artykule Strategie ładowania Zdalnej konfiguracji.
Ograniczenia
Jeśli aplikacja pobiera zbyt wiele razy w krótkim czasie, wywołania pobierania mogą zostać ograniczone. W takich przypadkach pakiet SDK zgłasza błąd FETCH_THROTTLE
.
Zalecamy wychwycenie tego błędu i ponowienie próby w trybie wykładniczego ponawiania, oczekując dłuższych odstępów między kolejnymi żądaniami pobrania.
Podczas tworzenia aplikacji możesz często odświeżać pamięć podręczną (wiele razy na godzinę), aby przyspieszyć tworzenie i testowanie aplikacji. Aby umożliwić szybkie iterowanie projektu z wieloma deweloperami, możesz tymczasowo dodać do aplikacji właściwość o niskim minimalnym przedziale czasu pobierania (Settings.minimumFetchIntervalMillis
).
Domyślny i zalecany interwał pobierania produkcyjnego dla Zdalnej konfiguracji to 12 godzin, co oznacza, że konfiguracje będą pobierane z backendu tylko raz w ciągu 12 godzin, niezależnie od tego, ile faktycznie zostało wywołań pobierania. W szczególności minimalny interwał pobierania jest określany w tej kolejności:
- Parametr w argumencie
Settings.minimumFetchIntervalMillis
. - Wartość domyślna to 12 godzin.
Dalsze kroki
Zapoznaj się z przypadkami użycia Zdalnej konfiguracji oraz dokumentacją kluczowych pojęć i zaawansowanych strategii, takich jak: