Korzystanie z Zdalnej konfiguracji do renderowania po stronie serwera w aplikacji internetowej

Aby zapewnić maksymalną elastyczność, usługa Firebase Remote Config obsługuje integrację pakietów SDK po stronie klienta i serwera w przypadku aplikacji internetowych. Oznacza to, że Twoja aplikacja może:

  • pobierać i oceniać szablony Remote Config na serwerze: serwer może pobrać szablon Remote Config i bezpośrednio ocenić warunki kierowania ;
  • optymalizować wydajność wstępnego wczytywania strony: w przypadku renderowania po stronie serwera serwer może przekazać klientowi ocenioną konfigurację podczas wstępnego wczytywania strony. Zwiększa to wydajność, ponieważ niezbędne dane konfiguracyjne są dostarczane z wyprzedzeniem.

Dzięki temu podejściu możesz dynamicznie zarządzać zachowaniem i konfiguracją aplikacji, szczególnie w przypadku konfiguracji renderowania po stronie serwera.

Konfigurowanie renderowania po stronie serwera w aplikacjach

Aby skonfigurować renderowanie po stronie serwera za pomocą Remote Config w aplikacji internetowej, zaktualizuj aplikacje po stronie klienta i serwera, wykonując te czynności.

Krok 1. Zaktualizuj aplikację po stronie serwera

W aplikacji po stronie serwera, w której został zaimplementowany pakiet Firebase Admin Node.js SDK, dodaj klasę RemoteConfigFetchResponse akceptującą istniejącą ServerConfig . Możesz jej użyć do serializacji wartości konfiguracji, które można przekazać do klienta.


export default async function MyServerComponent() {
  const serverApp = initializeApp();
  const serverSideConfig = getRemoteConfig(serverApp);
  const template = await serverSideConfig.getServerTemplate();
  const config = template.evaluate({randomizationId: 'some-uuid'});
  const fetchResponse = new RemoteConfigFetchResponse(serverApp, config);

  return (
    <div>
      <MyClientComponent initialFetchResponse={fetchResponse}></MyClientComponent>
    </div>
  );
}

Krok 2. Zaktualizuj aplikację po stronie klienta

W aplikacji po stronie klienta, która implementuje pakiet Firebase Javascript SDK, dodaj opcję konfiguracji initialFetchResponse, aby akceptować serializowane wartości przekazywane z aplikacji po stronie serwera. Ręcznie uzupełnia ona stan konfiguracji bez wysyłania asynchronicznego żądania pobrania.

Dodatkowo musisz dodać opcję inicjowania, która umożliwia ustawienie firebase-server jako templateId w pakiecie SDK klienta. Konfiguruje to pakiet SDK tak, aby używał początkowego szablonu po stronie serwera do kolejnych pobrań, co zapewnia spójność parametrów i wartości warunkowych między klientem a serwerem.


export default function MyClientComponent({initialFetchResponse= ''} = {}) {
  const app = initializeApp(firebaseConfig);
  const config = getRemoteConfig(app, {
        templateId: 'firebase-server',
        initialFetchResponse
  });
  const paramValue = getString(config, 'my_rc_parameter_key');

  return (
    <div>{paramValue}</div>
  );
}