ক্লাউড ফাংশন সহ রিমোট কনফিগ প্রসারিত করুন


আপনি Remote Config ইভেন্টগুলির প্রতিক্রিয়া হিসাবে একটি ফাংশন ট্রিগার করতে পারেন, যার মধ্যে একটি নতুন কনফিগার সংস্করণ প্রকাশ বা একটি পুরানো সংস্করণে রোলব্যাক রয়েছে৷ এই নির্দেশিকাটি বর্ণনা করে যে কীভাবে একটি 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 মডিউল ব্যবহার করে। Remote Config ক্লায়েন্ট লজিক এবং Firebase Cloud Messaging অন্তর্ভুক্ত করে এমন একটি নমুনার জন্য, রিয়েল টাইমে রিমোট কনফিগ আপডেটগুলি প্রচার করুন