Untuk memberikan fleksibilitas maksimum, Firebase Remote Config mendukung integrasi SDK sisi klien dan sisi server untuk aplikasi web. Artinya, aplikasi Anda dapat:
- Mengambil dan mengevaluasi template Remote Config di server: Server Anda dapat mendownload template Remote Config dan mengevaluasi kondisi penargetan secara langsung.
- Mengoptimalkan performa pemuatan halaman awal: Untuk skenario rendering sisi server, server dapat memberikan konfigurasi yang dievaluasi kepada klien selama pemuatan halaman awal. Hal ini dapat meningkatkan performa dengan mengirimkan data konfigurasi yang diperlukan di awal.
Pendekatan ini memungkinkan Anda mengelola perilaku dan konfigurasi aplikasi secara dinamis, terutama dalam penyiapan rendering sisi server.
Menyiapkan rendering sisi server untuk aplikasi Anda
Untuk mengonfigurasi rendering sisi server dengan Remote Config di aplikasi web, update aplikasi klien dan server menggunakan langkah-langkah berikut.
Langkah 1: Update aplikasi sisi server Anda
Di aplikasi server tempat Anda menerapkan Firebase Admin Node.js
SDK, sertakan class RemoteConfigFetchResponse
yang menerima ServerConfig
yang ada.
Anda dapat menggunakannya untuk melakukan serialisasi nilai konfigurasi yang dapat diteruskan ke klien.
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>
);
}
Langkah 2: Update aplikasi klien Anda
Di aplikasi klien, yang menerapkan Firebase JavaScript SDK, sertakan
opsi konfigurasi initialFetchResponse
untuk menerima nilai serialisasi
yang diteruskan dari aplikasi server Anda. Tindakan ini akan menghidrasi status konfigurasi secara manual tanpa
membuat permintaan pengambilan asinkron.
Selain itu, Anda harus menyertakan opsi inisialisasi yang memungkinkan Anda menetapkan
firebase-server
sebagai templateId
di SDK klien. Tindakan ini akan mengonfigurasi SDK
untuk menggunakan template sisi server awal pada pengambilan berikutnya, sehingga memastikan
parameter dan nilai kondisional yang konsisten antara klien dan server.
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>
);
}