Web uygulamalarında sunucu tarafı oluşturma için Remote Config'i kullanma

Firebase, maksimum esneklik sağlamak için web uygulamalarında hem istemci tarafı hem de sunucu tarafı SDK entegrasyonlarını Remote Config destekler. Bu, uygulamanızın şunları yapabileceği anlamına gelir:

  • Sunucunuzdaki Remote Config şablonları getirme ve değerlendirme: Sunucunuz Remote Config şablonunu indirebilir ve hedefleme koşullarını doğrudan değerlendirebilir.
  • İlk sayfa yükleme performansını optimize edin: Sunucu tarafı oluşturma senaryolarında, sunucu ilk sayfa yüklemesi sırasında değerlendirilen yapılandırmayı istemciye sağlayabilir. Bu, gerekli yapılandırma verilerini önceden sağlayarak performansı artırır.

Bu yaklaşım, özellikle sunucu tarafı oluşturma kurulumlarında uygulamanızın davranışını ve yapılandırmasını dinamik olarak yönetmenizi sağlar.

Uygulamalarınız için sunucu taraflı oluşturmayı ayarlama

Web uygulamanızda Remote Config ile sunucu tarafı oluşturmayı yapılandırmak için aşağıdaki adımları uygulayarak istemci ve sunucu uygulamalarınızı güncelleyin.

1. adım: Sunucu tarafı uygulamanızı güncelleyin

Firebase Admin Node.js SDK'sını uyguladığınız sunucu uygulamanızda, mevcut ServerConfig'ı kabul eden bir RemoteConfigFetchResponse sınıfı ekleyin. Bu işlevi, istemcinize iletilebilecek yapılandırma değerlerini serileştirmek için kullanabilirsiniz.


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

2. adım: İstemci uygulamanızı güncelleyin

Firebase JavaScript SDK'sını uygulayan istemci uygulamanızda, sunucu uygulamanızdan iletilen serileştirilmiş değerleri kabul etmek için bir initialFetchResponse yapılandırma seçeneği ekleyin. Bu seçenek, eşzamansız bir getirme isteği göndermeden yapılandırma durumunu manuel olarak doldurur.

Ayrıca, istemci SDK'sında firebase-server öğesini templateId olarak ayarlamanıza olanak tanıyan bir başlatma seçeneği eklemeniz gerekir. Bu işlem, SDK'yı sonraki getirme işlemleri için ilk sunucu tarafı şablonunu kullanacak şekilde yapılandırarak istemci ve sunucu arasında tutarlı parametreler ve koşullu değerler sağlar.


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