از Remote Config برای رندر سمت سرور در برنامه های کاربردی وب استفاده کنید

برای ارائه حداکثر انعطاف‌پذیری، Firebase Remote Config از یکپارچه‌سازی SDK سمت کلاینت و سمت سرور برای برنامه‌های وب پشتیبانی می‌کند. این بدان معنی است که برنامه شما می تواند:

  • الگوهای Remote Config را بر روی سرور خود واکشی و ارزیابی کنید: سرور شما می‌تواند الگوی Remote Config را دانلود کرده و شرایط هدف را مستقیماً ارزیابی کند.
  • بهینه سازی عملکرد بارگذاری اولیه صفحه: برای سناریوهای رندر سمت سرور، سرور می تواند پیکربندی ارزیابی شده را در طول بارگذاری صفحه اولیه به مشتری ارائه دهد. این کار را با ارائه داده های پیکربندی لازم از قبل بهبود می بخشد.

این رویکرد به شما این امکان را می دهد که رفتار و پیکربندی برنامه خود را به صورت پویا مدیریت کنید، به ویژه در تنظیمات رندر سمت سرور.

رندر سمت سرور را برای برنامه های خود تنظیم کنید

برای پیکربندی رندر سمت سرور با Remote Config در برنامه وب خود، برنامه های سرویس گیرنده و سرور خود را با استفاده از مراحل زیر به روز کنید.

مرحله 1: برنامه سمت سرور خود را به روز کنید

در برنامه سرور خود، جایی که Firebase Admin Node.js SDK را پیاده‌سازی کرده‌اید، یک کلاس RemoteConfigFetchResponse قرار دهید که ServerConfig موجود را می‌پذیرد. می‌توانید از این برای سریال‌سازی مقادیر پیکربندی که می‌توانند به مشتری شما ارسال شوند، استفاده کنید.


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: برنامه مشتری خود را به روز کنید

در برنامه کلاینت خود، که Firebase Javascript SDK را پیاده‌سازی می‌کند، یک گزینه تنظیمات initialFetchResponse برای پذیرش مقادیر سریال ارسال شده از برنامه سرور خود قرار دهید. این به صورت دستی وضعیت پیکربندی را بدون درخواست واکشی ناهمگام هیدراته می کند.

علاوه بر این، شما باید یک گزینه مقداردهی اولیه قرار دهید که به شما امکان می دهد firebase-server به عنوان templateId در SDK مشتری تنظیم کنید. این SDK را پیکربندی می‌کند تا از الگوی اولیه سمت سرور برای واکشی‌های بعدی استفاده کند، و از پارامترهای ثابت و مقادیر شرطی بین کلاینت و سرور اطمینان حاصل کند.


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