সর্বাধিক নমনীয়তা প্রদানের জন্য, 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>
);
}
ধাপ ২: আপনার ক্লায়েন্ট অ্যাপ আপডেট করুন
আপনার ক্লায়েন্ট অ্যাপে, যেটি ফায়ারবেস জাভাস্ক্রিপ্ট এসডিকে প্রয়োগ করে, সেখানে আপনার সার্ভার অ্যাপ থেকে পাঠানো সিরিয়ালাইজড ভ্যালুগুলো গ্রহণ করার জন্য একটি 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>
);
}