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

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

  • Sunucunuzda Remote Config şablonlarını 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ükleme 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önetmenize olanak tanır.

Uygulamalarınız için sunucu tarafı 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ıza, mevcut ServerConfig sınıfını kabul eden bir RemoteConfigFetchResponse sınıfı ekleyin. İstemcinize iletilebilecek yapılandırma değerlerini serileştirmek için bunu 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ıza, sunucu uygulamanızdan iletilen serileştirilmiş değerleri kabul etmek için bir initialFetchResponse yapılandırma seçeneği ekleyin. Bu, eşzamansız getirme isteği göndermeden yapılandırma durumunu manuel olarak besler.

Ayrıca, istemci SDK'sında firebase-server öğesini templateId olarak ayarlamanıza olanak tanıyan bir ilk 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ırır. Böylece istemci ile sunucu arasında tutarlı parametreler ve koşullu değerler sağlanır.


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