Zacznij korzystać ze zdalnej konfiguracji Firebase

+

Można użyć Firebase Remote Config zdefiniować parametry w aplikacji i aktualizować swoje wartości w chmurze, co pozwala na modyfikację wyglądu i zachowania aplikacji bez dystrybucją aktualizacji aplikacji. Ten poradnik przeprowadzi Cię przez kolejne etapy zacząć i zapewnia pewne przykładowy kod, z których wszystkie są dostępne dla klonu lub pobrać z Firebase / szybkiego startu-js GitHub repozytorium.

Dodaj i zainicjować Remote Config SDK

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

  2. Dodaj Remote Config JS SDK i zainicjować 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 przedmiot jest używany do przechowywania wartości domyślne parametrów w aplikacji, przynieś aktualizowane wartości parametrów ze zdalnego Config backend i kontrolę podczas Wartości sprowadzone są udostępnione do swojej aplikacji.

Zestaw minimum sprowadzić przedział

W trakcie rozwoju, zaleca się ustawić stosunkowo niskie minimum sprowadzić przedział. Zobacz dławienia , aby uzyskać więcej informacji.

Web version 9

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

Web version 8

remoteConfig.settings.minimumFetchIntervalMillis = 3600000;

domyślne wartości parametrów w ramach aplikacji

Można ustawić domyślne wartości parametrów w aplikacji do zdalnego obiektu Config, tak, że zachowuje się jak aplikacja przeznaczone zanim połączy się z Remote Config backend, i tak, że wartości domyślne są dostępne jeśli nie jest ustawiona na backend.

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 backend Remote Config można pobrać wygenerowany plik JSON, który zawiera wszystkie wartości domyślne i umieścić go w swojej aplikacji pakietu:

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

Firebase konsola

  1. W Parametry karcie otwórz Menu i wybierz domyślne wartości pobrania .
  2. Gdy pojawi się monit, włącz .json do sieci , a następnie kliknij przycisk Pobierz plik .

Poniższe przykłady pokazują dwa różne sposoby można importować i ustawić domyślne wartości w aplikacji. Pierwszym przykładem zastosowania fetch , który sprawi, że żądania HTTP do pliku defaults zawartych w aplikacji pakietu:


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

Kolejnym przykładem zastosowania require , który kompiluje wartości do aplikacji w czasie kompilacji:

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

Uzyskaj wartości parametrów do wykorzystania w aplikacji

Teraz można uzyskać wartości parametrów ze zdalnego obiektu Config. Jeśli później ustawić wartości w backend, przynieś je, a następnie je aktywować, wartości te są dostępne do app.To dostać te wartości, zadzwoń getValue() metodę, zapewniając Kluczowym parametrem 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");

Zestaw wartości parametrów

Korzystanie z konsoli Firebase lub do zdalnego API backend Config , można tworzyć nowe wartości domyślnych po stronie serwera, które zastępują wartości w aplikacji według żądanego logika lub użytkownik warunkowy kierowania. Ten rozdział poprowadzi Cię przez Firebase krokach konsoli do tworzenia tych wartości.

  1. W konsoli Firebase otwórz projekt.
  2. Wybierz Remote Config z menu, aby zobaczyć pulpit zdalnego Config.
  3. Zdefiniować parametry o tych samych nazwach jak parametry, które zostały zdefiniowane w aplikacji. Dla każdego parametru można ustawić wartość domyślną (który ostatecznie zastąpić domyślny w aplikacji), można także ustawić wartości warunkowych. Aby dowiedzieć się więcej, zobacz Remote Config parametrów i warunków .

Pobrać i aktywować wartości

  1. Aby sprowadzić wartości parametrów ze zdalnego konf backend wywołać fetchConfig() sposobu. Wszelkie wartości, które ustawione na backend są pobierane i zapisywane w zdalnej obiektu Config.
  2. Aby sprowadzone wartości parametrów dostępnych aplikacji, należy wywołać activate() metody.

W przypadkach, w których chcemy się pobrać i aktywować wartości w jednej rozmowy, użyj fetchAndActivate() , jak pokazano w poniższym 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ływa na zachowanie i wygląd aplikacji, należy aktywować pobranego wartości w czasie, który zapewnia płynne doświadczenie dla użytkownika, takie jak po raz kolejny, że użytkownik otwiera aplikację. Zobacz Remote Config strategie ładowania Więcej informacji i przykładów.

dławienie

Jeśli aplikacja pobiera zbyt wiele razy w krótkim okresie czasu, sprowadzić rozmowy mogą być zdławiony. W takich przypadkach SDK rzuca FETCH_THROTTLE błąd. Zaleca się nadrobić ten błąd i ponowić ograniczania mocy w trybie wykładniczym, czekając dłuższe odstępy między kolejnymi pobrać wnioski.

Podczas opracowywania aplikacji, możesz chcieć, aby odświeżyć pamięć podręczną bardzo często (wiele razy na godzinę), aby pozwolić Ci szybko powtórzyć, jak rozwijać i testować swoją aplikację. Aby pomieścić szybki iteracji nad projektem z wieloma deweloperami, można tymczasowo dodać obiekt z niskim minimum sprowadzić przedziale ( Settings.minimumFetchIntervalMillis ) w swojej aplikacji.

Domyślna i produkcja zalecany interwał pobierania Remote Config wynosi 12 godzin, co oznacza, że configs nie będą pobierane od backend więcej niż jeden raz w oknie 12 godziny, niezależnie od tego, ile sprowadzić rozmowy są faktycznie wykonane. W szczególności, minimalna pobieraniu przedział określa się w następujący sposób:

  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: