Pour une flexibilité maximale, Firebase Remote Config est compatible avec les intégrations de SDK côté client et côté serveur pour les applications Web. Cela signifie que votre application peut :
- Récupérer et évaluer les modèles Remote Config sur votre serveur : votre serveur peut télécharger le modèle Remote Config et évaluer directement les conditions de ciblage.
- Optimiser les performances de chargement initial de la page : dans les scénarios de rendu côté serveur, le serveur peut fournir la configuration évaluée au client lors du chargement initial de la page. Cela améliore les performances en fournissant les données de configuration nécessaires à l'avance.
Cette approche vous permet de gérer le comportement et la configuration de votre application de manière dynamique, en particulier dans les configurations de rendu côté serveur.
Configurer le rendu côté serveur pour vos applications
Pour configurer le rendu côté serveur avec Remote Config dans votre application Web, mettez à jour vos applications client et serveur en suivant les étapes ci-dessous.
Étape 1 : Mettez à jour votre application côté serveur
Dans votre application serveur, où vous avez implémenté le SDK Admin Firebase Node.js, incluez une classe RemoteConfigFetchResponse
qui accepte le ServerConfig
existant. Vous pouvez l'utiliser pour sérialiser les valeurs de configuration qui peuvent être transmises à votre client.
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>
);
}
Étape 2 : Mettez à jour votre application cliente
Dans votre application cliente, qui implémente le SDK Firebase JavaScript, incluez une option de configuration initialFetchResponse
pour accepter les valeurs sérialisées transmises par votre application serveur. Cela hydrate manuellement l'état de la configuration sans effectuer de requête d'extraction asynchrone.
Vous devez également inclure une option d'initialisation qui vous permet de définir firebase-server
comme templateId
sur le SDK client. Cela configure le SDK pour qu'il utilise le modèle côté serveur initial pour les récupérations ultérieures, ce qui garantit des paramètres et des valeurs conditionnelles cohérents entre le client et le serveur.
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>
);
}