Pour offrir 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érez et évaluez 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.
- Optimisez les performances de chargement initial de la page:pour 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 de manière dynamique le comportement et la configuration de votre application, en particulier dans les configurations de rendu côté serveur.
Configurer l'affichage 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 procédant comme suit.
Étape 1: Mettez à jour votre application côté serveur
Dans votre application serveur, où vous avez implémenté le SDK Firebase Admin Node.js, incluez une classe RemoteConfigFetchResponse
qui accepte l'ServerConfig
existante. Vous pouvez l'utiliser pour sérialiser les valeurs de configuration pouvant ê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 JavaScript Firebase, incluez une option de configuration initialFetchResponse
pour accepter les valeurs sérialisées transmises depuis votre application serveur. Cela hydrate manuellement l'état de la configuration sans effectuer de requête d'extraction asynchrone.
En outre, vous devez 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>
);
}