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

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

  • Pobieranie i ocenianie szablonów Remote Config na serwerze: serwer może pobrać szablon Remote Config i bezpośrednio ocenić warunki kierowania.
  • Optymalizacja wydajności wstępnego wczytywania strony: w przypadku scenariuszy renderowania po stronie serwera serwer może przekazać zweryfikowaną konfigurację klientowi podczas wstępnego wczytywania strony. Dzięki temu wydajność się poprawi, ponieważ niezbędne dane konfiguracyjne zostaną przekazane z wyprzedzeniem.

Dzięki temu możesz dynamicznie zarządzać działaniem i konfiguracją aplikacji, zwłaszcza w przypadku konfiguracji renderowania po stronie serwera.

Konfigurowanie renderowania po stronie serwera w przypadku aplikacji

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

Krok 1. Zaktualizuj aplikację po stronie serwera

W aplikacji serwera, w której zaimplementowano pakiet SDK Firebase Admin Node.js, dodaj klasę RemoteConfigFetchResponse, która przyjmuje istniejący obiekt ServerConfig. Możesz go użyć do serializacji wartości konfiguracji, które można przekazać klientowi.


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ę klienta

W aplikacji klienta, która implementuje pakiet SDK JavaScript Firebase, dodaj opcję konfiguracji initialFetchResponse, aby akceptować serializowane wartości przekazywane z aplikacji serwera. Pozwoli to ręcznie nasycać stan konfiguracji bez wysyłania żądania pobierania asynchronicznego.

Dodatkowo musisz uwzględnić opcję inicjowania, która umożliwia ustawienie wartości firebase-server jako templateId w pakiecie SDK klienta. Spowoduje to skonfigurowanie pakietu SDK do używania początkowego szablonu po stronie serwera do kolejnych pobierania, co zapewni spójne parametry i wartości warunkowe po stronie klienta i serwera.


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>
  );
}