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

সর্বাধিক নমনীয়তা প্রদান করতে, ফায়ারবেস 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: আপনার ক্লায়েন্ট অ্যাপ আপডেট করুন

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

উপরন্তু, আপনাকে অবশ্যই একটি প্রারম্ভিক বিকল্প অন্তর্ভুক্ত করতে হবে যা আপনাকে ক্লায়েন্ট SDK-এ templateId হিসাবে firebase-server সেট করতে দেয়। ক্লায়েন্ট এবং সার্ভারের মধ্যে সামঞ্জস্যপূর্ণ পরামিতি এবং শর্তসাপেক্ষ মান নিশ্চিত করে, পরবর্তী আনার জন্য প্রাথমিক সার্ভার-সাইড টেমপ্লেট ব্যবহার করার জন্য এটি 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>
  );
}