রিমোট কনফিগ ট্রিগার (ফার্স্ট জেনারেশন)

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

রিমোট কনফিগ ফাংশন ট্রিগার করা

Remote Config ইভেন্টের জন্য হ্যান্ডলারকে সংজ্ঞায়িত করতে, functions.remoteConfig মডিউলের onUpdate() ফাংশন ব্যবহার করুন। TemplateVersion অবজেক্টটি onUpdate থেকে পাওয়া যায়। এতে টেমপ্লেট আপডেটের জন্য মূল মেটাডেটা ফিল্ড থাকে, যেমন ভার্সন নম্বর ও আপডেটের সময়। এছাড়াও, আপডেট করেছেন এমন ব্যবহারকারীর ইমেল আইডি, নাম ও উপলভ্য থাকলে ছবি সহ ফিরিয়ে আনতে পারবেন।

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 অন্তর্ভুক্ত নমুনা দেখতে, রিয়েল টাইমে রিমোট কনফিগারেশন আপডেট প্রোপাগেট করা দেখুন।