podczas instalowania pakietu SDK możesz dodać zależność dla Analytics . Analytics jest wymagany do kierowania warunkowego instancji aplikacji Remote Config na właściwości użytkownika i odbiorców.
zainstaluj pakiet SDK Firebase JS i zainicjuj Firebase .
Dodaj pakiet JS SDK Remote Config i zainicjuj Remote Config :
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);
Web
.
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 Remote Config oraz kontrolowania, kiedy pobrane wartości są udostępniane aplikacji.
Krok 2. Ustaw minimalny interwał pobierania
Podczas programowania zalecamy ustawienie stosunkowo niskiej minimalnej wartości pobierania
interwału. Więcej informacji znajdziesz w sekcji Ograniczanie .
Web
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
Web
remoteConfig.settings.minimumFetchIntervalMillis = 3600000;
Krok 3. Ustaw domyślne wartości parametrów w aplikacji
Domyślne wartości parametrów w aplikacji możesz ustawić w Remote Config
dzięki czemu aplikacja działa zgodnie z oczekiwaniami, jeszcze zanim nawiąże połączenie
backendu Remote Config , dzięki czemu wartości domyślne będą dostępne, jeśli
w backendzie nie są ustawione żadne ustawienia.
Ważne: nie przechowuj poufnych danych w kluczach parametrów Remote Config ani
. Dane usługi Remote Config są zaszyfrowane podczas przesyłania, ale użytkownicy mają do nich dostęp
każdy domyślny lub pobrany parametr Remote Config , który jest dostępny dla klienta
i instancję aplikacji klienckiej.
Web
remoteConfig.defaultConfig = {
"welcome_message": "Welcome"
};
Web
remoteConfig.defaultConfig = {
"welcome_message": "Welcome"
};
Jeśli masz już skonfigurowane wartości parametrów backendu Remote Config , możesz pobrać wygenerowany plik JSON zawierający wszystkie wartości domyślne i umieścić 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 more_vert Menu i wybierz Pobierz wartości domyślne .
Gdy pojawi się prośba, włącz .json w internecie , a potem kliknij Pobierz plik .
Poniższe przykłady pokazują 2 sposoby importowania i ustawiania wartości domyślnych w aplikacji. Pierwszy przykład używa fetch
, co powoduje wysłanie żądania HTTP do pliku domyślnych zawartego w pakiecie aplikacji:
const rcDefaultsFile = await fetch('remote_config_defaults.json');
const rcDefaultsJson = await rcDefaultsFile.json();
remoteConfig.defaultConfig = rcDefaultsJson;
Następny przykład używa funkcji require
, która kompiluje wartości w aplikacji w momencie kompilacji:
let rcDefaults = require('./remote_config_defaults.json');
remoteConfig.defaultConfig = rcDefaults;
Krok 4. Uzyskaj wartości parametrów, które będą używane w Twojej aplikacji
Teraz możesz pobierać wartości parametrów z obiektu Remote Config . Jeśli później
ustawiają wartości w backendzie, pobierają je, a następnie aktywują,
dla Twojej aplikacji.Aby je uzyskać, wywołaj metodę
getValue()
, zapewniając
jako argumentu.
Web
Dowiedz się więcej o modułowym interfejsie internetowym z możliwością usuwania elementów z drzewa i zaktualizuj interfejs API z nazwą przestrzeni nazw.
import { getValue } from "firebase/remote-config";
const val = getValue(remoteConfig, "welcome_messsage");
Web
const val = remoteConfig.getValue("welcome_messsage");
Krok 5. Ustaw wartości parametrów
Za pomocą konsoli Firebase lub
Remote Config interfejsów API backendu ,
możesz utworzyć nowe domyślne wartości po stronie serwera, które zastąpią wartości w aplikacji
zgodnie z logiką warunkową lub kierowaniem na użytkowników. Ta sekcja
przeprowadzi Cię przez proces tworzenia tych wartości w konsoli Firebase .
Otwórz projekt w konsoli Firebase .
Wybierz Remote Config z menu, aby wyświetlić Remote Config
panelu.
Zdefiniuj parametry o tych samych nazwach co parametry zdefiniowane w aplikacji. Dla każdego parametru możesz ustawić wartość domyślną (która ostatecznie zastąpi wartość domyślną w aplikacji), a także wartości warunkowe. Więcej informacji:
Remote Config Parametry i warunki .
Krok 6. Pobierz i aktywuj wartości
Aby pobrać wartości parametrów z backendu Remote Config , wywołaj metodę
fetchConfig()
.
. Wszystkie wartości ustawione na zapleczu są pobierane i przechowywane w obiekcie Remote Config .
Aby udostępnić aplikacji pobrane wartości parametrów, wywołaj metodę
activate()
.
Jeśli chcesz pobrać i aktywować wartości w jednym wywołaniu, użyj parametru fetchAndActivate()
, jak w tym przykładzie:
Web
import { fetchAndActivate } from "firebase/remote-config";
fetchAndActivate(remoteConfig)
.then(() => {
// ...
})
.catch((err) => {
// ...
});
Web
remoteConfig.fetchAndActivate()
.then(() => {
// ...
})
.catch((err) => {
// ...
});
Te zaktualizowane wartości parametrów wpływają na działanie i wygląd
Twojej aplikacji, musisz aktywować pobrane wartości w takim czasie, aby zapewnić
dla użytkownika, np. gdy następnym razem otworzy
. Zapoznaj się ze strategiami wczytywania Zdalnej konfiguracji .
.
Ograniczenia
Jeśli aplikacja pobierze zbyt wiele razy w krótkim czasie, wywołania pobierania mogą być
przyspieszona. W takich przypadkach SDK zwraca błąd FETCH_THROTTLE
.
Zalecamy wychwycenie tego błędu i ponowne przesłanie żądania w trybie ujemnego wykładniczego wygaszania, z dłuższymi przerwami między kolejnymi żądaniami pobierania.
Podczas tworzenia aplikacji możesz często odświeżać pamięć podręczną (wielokrotnie na godzinę), aby umożliwić szybkie iterowanie podczas tworzenia i testowania aplikacji. Aby umożliwić szybkie iterowanie w projekcie z licznymi deweloperami, możesz tymczasowo dodać w aplikacji właściwość z minimalnym odstępem czasowym na pobieranie (Settings.minimumFetchIntervalMillis
).
Domyślny i zalecany interwał pobierania w środowisku produkcyjnym w: Remote Config
to 12 godzin, co
oznacza, że konfiguracje są pobierane z backendu nie częściej niż raz w ciągu 12 godzin
niezależnie od tego, ile zostało w rzeczywistości wywołań pobierania. Mówiąc konkretnie,
minimalny odstęp czasu pobierania jest określany w następującej kolejności:
Parametr w polu Settings.minimumFetchIntervalMillis
.
domyślna wartość 12 godzin;
Pamiętaj, że tego ustawienia należy używać tylko do celów programistycznych, a nie do celów produkcyjnych. Jeśli
tylko testujesz aplikację
w niewielkim, 10-osobowym zespole
prawdopodobnie nie zostanie osiągnięty godzinowy limit po stronie usługi.
Jeśli jednak opublikujesz aplikację dla tysięcy użytkowników testowych z bardzo krótkim minimalnym interwałem pobierania, prawdopodobnie przekroczy ona ten limit.
Dalsze kroki
Jeśli jeszcze tego nie zrobisz, zapoznaj się z Remote Config
przypadkami użycia i pojęciami kluczowymi oraz dokumentacją dotyczącą zaawansowanych strategii, w tym: