Firebase is back at Google I/O on May 10! Register now

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

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

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

একটি দূরবর্তী কনফিগার ফাংশন ট্রিগার করুন

একটি রিমোট কনফিগার ফাংশন ট্রিগার করতে, functions.remoteConfig দ্বারা প্রদত্ত onUpdate হ্যান্ডলার ব্যবহার করুন। onUpdate দ্বারা প্রত্যাবর্তিত TemplateVersion অবজেক্টটিতে একটি টেমপ্লেট আপডেটের জন্য মূল মেটাডেটা ক্ষেত্র রয়েছে যেমন আপডেটের সংস্করণ নম্বর এবং সময়। আপনি যে ব্যবহারকারীর জন্য আপডেট করেছেন তার ইমেলটি পুনরুদ্ধার করতে পারেন, যদি উপলব্ধ থাকে তবে নাম এবং একটি চিত্র সহ।

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