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