আপনি Firebase Remote Config ইভেন্টের উত্তরে একটি ফাংশন ট্রিগার করতে পারেন, যার মধ্যে একটি নতুন কনফিগারেশন ভার্সন প্রকাশ করা বা পুরনো ভার্সনে ফিরে যাওয়া অন্তর্ভুক্ত। এই নির্দেশিকায়, কীভাবে একটি Remote Config ব্যাকগ্রাউন্ড ফাংশন তৈরি করতে হয় তা বর্ণনা করা হয়েছে যা দুটি টেমপ্লেট ভার্সনের মধ্যে পার্থক্য করে।
রিমোট কনফিগ ফাংশন ট্রিগার করা
Remote Config ইভেন্টের জন্য হ্যান্ডলার নির্ধারণ করতে, functions.remoteConfig
মডিউলের onUpdate() ফাংশন ব্যবহার করুন।
onUpdate-এর মাধ্যমে রিটার্ন করা TemplateVersion অবজেক্টে
টেমপ্লেট আপডেটের জন্য মূল মেটাডেটা ফিল্ড থাকে,
যেমন ভার্সন নম্বর এবং আপডেটের সময়।
এছাড়াও, আপনি সেই ব্যবহারকারীর ইমেল আইডি, নাম এবং ছবি (যদি উপলভ্য থাকে)
পেতে পারেন যিনি আপডেট করেছেন।
এখানে Remote Config ফাংশনের একটি উদাহরণ দেওয়া হল যা
প্রতিটি আপডেট করা ভার্সন এবং এটি যে ভার্সনটি পরিবর্তন করেছে তার মধ্যে পার্থক্য দেখায়। ফাংশনটি
টেমপ্লেট অবজেক্টের versionNumber ফিল্ড পরীক্ষা করে এবং বর্তমান (নতুন আপডেট করা) ভার্সন এবং তার থেকে এক নম্বর কম ভার্সন
একসাথে ফিরিয়ে আনে:
exports.showConfigDiff = functions.remoteConfig.onUpdate(versionMetadata => { return 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 মডিউল ব্যবহার করে
ডিফ তৈরি করে এবং টেমপ্লেট অবজেক্ট পাওয়ার জন্য অনুরোধ তৈরি করে। Remote Config ক্লায়েন্ট লজিক ও Firebase Cloud Messaging
অন্তর্ভুক্ত করে এমন স্যাম্পেলের জন্য,
রিয়েল টাইমে রিমোট কনফিগ আপডেট প্রোপাগেট করুন দেখুন।