ওয়েব অ্যাপ্লিকেশনে সার্ভার-সাইড রেন্ডারিংয়ের জন্য রিমোট কনফিগ ব্যবহার করুন

সর্বাধিক নমনীয়তা প্রদানের জন্য, Firebase Remote Config ওয়েব অ্যাপ্লিকেশনের জন্য ক্লায়েন্ট-সাইড এবং সার্ভার-সাইড SDK ইন্টিগ্রেশন উভয়কেই সমর্থন করে। এর অর্থ হল আপনার অ্যাপটি:

  • আপনার সার্ভারে Remote Config টেমপ্লেটগুলি আনুন এবং মূল্যায়ন করুন: আপনার সার্ভার Remote Config টেমপ্লেটটি ডাউনলোড করতে পারে এবং সরাসরি টার্গেটিং শর্তগুলি মূল্যায়ন করতে পারে।
  • প্রাথমিক পৃষ্ঠা লোড কর্মক্ষমতা অপ্টিমাইজ করুন: সার্ভার-সাইড রেন্ডারিং পরিস্থিতির জন্য, সার্ভার প্রাথমিক পৃষ্ঠা লোডের সময় ক্লায়েন্টকে মূল্যায়ন করা কনফিগারেশন সরবরাহ করতে পারে। এটি প্রয়োজনীয় কনফিগারেশন ডেটা আগে থেকেই সরবরাহ করে কর্মক্ষমতা উন্নত করে।

এই পদ্ধতিটি আপনাকে আপনার অ্যাপের আচরণ এবং কনফিগারেশন গতিশীলভাবে পরিচালনা করার ক্ষমতা দেয়, বিশেষ করে সার্ভার-সাইড রেন্ডারিং সেটআপগুলিতে।

আপনার অ্যাপের জন্য সার্ভার-সাইড রেন্ডারিং সেট আপ করুন

আপনার ওয়েব অ্যাপে Remote Config ব্যবহার করে সার্ভার-সাইড রেন্ডারিং কনফিগার করতে, নিম্নলিখিত ধাপগুলি ব্যবহার করে আপনার ক্লায়েন্ট এবং সার্ভার অ্যাপগুলি আপডেট করুন।

ধাপ ১: আপনার সার্ভার-সাইড অ্যাপ্লিকেশন আপডেট করুন

আপনার সার্ভার অ্যাপে, যেখানে আপনি 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>
  );
}

ধাপ ২: আপনার ক্লায়েন্ট অ্যাপ আপডেট করুন

আপনার ক্লায়েন্ট অ্যাপে, যা Firebase Javascript SDK প্রয়োগ করে, আপনার সার্ভার অ্যাপ থেকে পাস করা সিরিয়ালাইজড মানগুলি গ্রহণ করার জন্য একটি initialFetchResponse কনফিগারেশন বিকল্প অন্তর্ভুক্ত করুন। এটি একটি অ্যাসিঙ্ক ফেচ অনুরোধ না করেই ম্যানুয়ালি কনফিগারেশন অবস্থা হাইড্রেট করে।

অতিরিক্তভাবে, আপনাকে একটি ইনিশিয়ালাইজেশন বিকল্প অন্তর্ভুক্ত করতে হবে যা আপনাকে ক্লায়েন্ট SDK-তে firebase-server templateId হিসেবে সেট করতে দেয়। এটি 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>
  );
}