Za pomocą Firebase Remote Config możesz definiować parametry w swojej aplikacji i aktualizować ich wartości w chmurze, co pozwala modyfikować wygląd i zachowanie aplikacji bez rozpowszechniania aktualizacji aplikacji. Ten przewodnik przeprowadzi Cię przez kolejne kroki i zawiera przykładowy kod, który można sklonować lub pobrać z repozytorium Firebase/quickstart-js na GitHubie.
Krok 1: Dodaj i zainicjuj zestaw SDK zdalnej konfiguracji
Jeśli jeszcze tego nie zrobiłeś, zainstaluj pakiet SDK Firebase JS i zainicjuj Firebase .
Dodaj pakiet Remote Config JS SDK i zainicjuj usługę Remote Config:
Modułowe API sieciowe
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 opracowywania zaleca się ustawienie stosunkowo niskiego minimalnego interwału pobierania. Aby uzyskać więcej informacji, zobacz Ograniczanie .
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 Remote Config, tak aby aplikacja zachowywała się zgodnie z oczekiwaniami przed połączeniem się z backendem Remote Config, a także aby były dostępne wartości domyślne, jeśli w backendie nie ustawiono żadnych wartości.
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 usługi Remote Config, możesz pobrać wygenerowany plik JSON zawierający wszystkie wartości domyślne i dołączyć go do 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
- Na karcie Parametry otwórz menu i wybierz opcję Pobierz wartości domyślne .
- Po wyświetleniu monitu włącz plik .json dla Internetu , a następnie kliknij opcję Pobierz plik .
Poniższe przykłady pokazują dwa różne sposoby importowania i ustawiania wartości domyślnych w aplikacji. W pierwszym przykładzie zastosowano fetch
, który 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 użyto require
, które kompiluje wartości do aplikacji w czasie kompilacji:
let rcDefaults = require('./remote_config_defaults.json'); remoteConfig.defaultConfig = rcDefaults;
Krok 4: Uzyskaj wartości parametrów do wykorzystania w swojej aplikacji
Teraz możesz uzyskać wartości parametrów z obiektu Remote Config. Jeśli później ustawisz wartości w backendie, pobierzesz je, a następnie aktywujesz, te wartości 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 utworzyć nowe wartości domyślne po stronie serwera, które zastępują wartości w aplikacji zgodnie z żądaną logiką warunkową lub kierowaniem na użytkownika. Ta sekcja przeprowadzi Cię przez kroki konsoli Firebase, aby utworzyć te wartości.
- W konsoli Firebase otwórz swój projekt.
- Wybierz opcję Zdalna konfiguracja z menu, aby wyświetlić pulpit nawigacyjny 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), możesz także ustawić wartości warunkowe. Aby dowiedzieć się więcej, zobacz Parametry i warunki zdalnej konfiguracji .
Krok 6: Pobierz i aktywuj wartości
- Aby pobrać wartości parametrów z zaplecza Remote Config, wywołaj metodę
fetchConfig()
. Wszelkie wartości ustawione w backendie są pobierane i buforowane w obiekcie Remote Config. - Aby udostępnić aplikacji pobrane wartości parametrów, wywołaj metodę
activate()
.
W przypadkach, gdy 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 aplikacji, należy aktywować pobrane wartości w czasie zapewniającym użytkownikowi bezproblemową obsługę, na przykład przy następnym otwarciu aplikacji. Więcej informacji i przykładów można znaleźć w artykule Strategie ładowania zdalnej konfiguracji .
Dławienie
Jeśli aplikacja zostanie pobrana zbyt wiele razy w krótkim czasie, wywołania pobierania mogą zostać ograniczone. W takich przypadkach zestaw SDK zgłasza błąd FETCH_THROTTLE
. Zaleca się wyłapanie tego błędu i ponowienie próby w trybie wykładniczego wycofywania, czekając dłuższych odstępów czasu między kolejnymi żądaniami pobrania.
Podczas tworzenia aplikacji warto często odświeżać pamięć podręczną (wiele razy na godzinę), aby móc szybko wykonywać iteracje podczas tworzenia i testowania aplikacji. Aby umożliwić szybką iterację projektu z udziałem wielu programistów, możesz tymczasowo dodać do swojej aplikacji właściwość z niskim minimalnym interwałem pobierania ( Settings.minimumFetchIntervalMillis
).
Domyślny i zalecany interwał pobierania produkcyjnego dla zdalnej konfiguracji wynosi 12 godzin, co oznacza, że konfiguracje nie będą pobierane z zaplecza częściej niż raz w ciągu 12 godzin, niezależnie od liczby faktycznie wykonanych wywołań pobierania. W szczególności minimalny interwał pobierania jest określany w następującej kolejności:
- Parametr w
Settings.minimumFetchIntervalMillis
. - Wartość domyślna to 12 godzin.
Następne kroki
Jeśli jeszcze tego nie zrobiłeś, zbadaj zdalne przypadki użycia konfiguracji i spójrz na niektóre z kluczowych koncepcji i zaawansowanych dokumentacji strategii, w tym: