আপনি Firebase Remote Config ইভেন্টের প্রতিক্রিয়ায় একটি ফাংশন ট্রিগার করতে পারেন, যার মধ্যে একটি নতুন কনফিগ সংস্করণ প্রকাশ করা বা একটি পুরানো সংস্করণে রোলব্যাক করা অন্তর্ভুক্ত। এই নির্দেশিকাটি বর্ণনা করে যে কীভাবে একটি Remote Config ব্যাকগ্রাউন্ড ফাংশন তৈরি করতে হয় যা দুটি টেমপ্লেট সংস্করণের পার্থক্য সম্পাদন করে।
একটি রিমোট কনফিগ ফাংশন ট্রিগার করুন
Remote Config ইভেন্টের জন্য একটি হ্যান্ডলার সংজ্ঞায়িত করতে, functions.remoteConfig
মডিউলের onUpdate()
ফাংশনটি ব্যবহার করুন। onUpdate
দ্বারা ফেরত পাঠানো TemplateVersion
অবজেক্টে টেমপ্লেট আপডেটের জন্য গুরুত্বপূর্ণ মেটাডেটা ক্ষেত্র থাকে যেমন আপডেটের সংস্করণ নম্বর এবং সময়। আপনি আপডেটটি করেছেন এমন ব্যবহারকারীর ইমেল ঠিকানাও পুনরুদ্ধার করতে পারেন, নাম এবং যদি উপলব্ধ থাকে তবে একটি ছবি সহ।
এখানে একটি Remote Config ফাংশনের উদাহরণ দেওয়া হল যা প্রতিটি আপডেটেড ভার্সন এবং প্রতিস্থাপিত ভার্সনের একটি পার্থক্য প্রদান করে। ফাংশনটি টেমপ্লেট অবজেক্টের versionNumber
ফিল্ড পরীক্ষা করে এবং বর্তমান (নতুন আপডেটেড) ভার্সনটি এক নম্বর নিচের ভার্সনের সাথে একসাথে উদ্ধার করে:
exports.showConfigDiff = functions.remoteConfig.onUpdate(versionMetadata => { return admin.credential.applicationDefault().getAccessToken() .then(accessTokenObj => { return accessTokenObj.access_token; }) .then(accessToken => { const currentVersion = versionMetadata.versionNumber; const templatePromises = []; templatePromises.push(getTemplate(currentVersion, accessToken)); templatePromises.push(getTemplate(currentVersion - 1, accessToken)); return Promise.all(templatePromises); }) .then(results => { const currentTemplate = results[0]; const previousTemplate = results[1]; const diff = jsonDiff.diffString(previousTemplate, currentTemplate); functions.logger.log(diff); return null; }).catch(error => { functions.logger.error(error); return null; }); });
এই নমুনাটি json-diff
এবং request-promise
মডিউল ব্যবহার করে diff তৈরি করে এবং টেমপ্লেট অবজেক্ট পাওয়ার জন্য অনুরোধ তৈরি করে। Remote Config ক্লায়েন্ট লজিকের পাশাপাশি Firebase Cloud Messaging অন্তর্ভুক্ত করে এমন একটি নমুনার জন্য, রিয়েল টাইমে প্রোপাগেট রিমোট কনফিগ আপডেট দেখুন।