Firebase Remote Config আপনাকে ব্যবহারকারীদের অ্যাপ আপডেট ডাউনলোড করা বা ব্যাকএন্ড রিডিপ্লয়মেন্টের প্রয়োজন ছাড়াই আপনার অ্যাপ্লিকেশনগুলির আচরণ এবং চেহারা গতিশীলভাবে নিয়ন্ত্রণ করতে দেয়।
আপনার অ্যাপ্লিকেশনগুলি কনফিগার করতে, আপনি Remote Config -এ প্যারামিটার (কী-ভ্যালু পেয়ার) নির্ধারণ করেন এবং আপনার অ্যাপ বা ব্যাকএন্ড কোডে সেগুলি ব্যবহার করেন। এছাড়াও আপনি শর্ত (টার্গেটিং রুল) নির্ধারণ করতে পারেন, যা নির্দিষ্ট অডিয়েন্স, এনভায়রনমেন্ট বা কাস্টম ক্রাইটেরিয়ার জন্য ডিফল্ট ভ্যালুকে ওভাররাইড করে শর্তসাপেক্ষ ভ্যালু অ্যাসাইন করে।
Remote Config প্যারামিটার এবং শর্তাবলীকে টেমপ্লেটে সাজিয়ে রাখে। আপনার আর্কিটেকচারের ওপর নির্ভর করে, আপনি ক্লায়েন্ট টেমপ্লেট, সার্ভার টেমপ্লেট, অথবা উভয়ই ব্যবহার করতে পারেন।
ক্লায়েন্ট টেমপ্লেটে প্যারামিটার এবং শর্তাবলী : Apple, Android, Web, Flutter, Unity, এবং C++ প্ল্যাটফর্ম জুড়ে ক্লায়েন্ট অ্যাপ ইনস্ট্যান্সগুলিতে কনফিগারেশন সরবরাহ করুন। Google Analytics অডিয়েন্স, অ্যাপ সংস্করণ, প্ল্যাটফর্ম, ডিভাইসের ভাষা, দেশ, ব্যবহারকারীর পার্সেন্টাইল এবং ক্লায়েন্ট-সাইড কাস্টম সিগন্যাল ব্যবহার করে অ্যাপ ইনস্ট্যান্সগুলিকে টার্গেট করুন।
সার্ভার টেমপ্লেটে প্যারামিটার এবং শর্তাবলী : Node.js, Python, Go, এবং Java-এর জন্য Firebase Admin SDK ব্যবহার করে Cloud Run , Cloud Functions for Firebase , বা কন্টেইনারাইজড সার্ভারের মতো ব্যাকএন্ড এনভায়রনমেন্টে কনফিগারেশন পরিবেশন করুন। সার্ভার কাস্টম সিগন্যাল এবং র্যান্ডম পার্সেন্টেজ রোলআউট ব্যবহার করে প্রায়-শূন্য ল্যাটেন্সিতে সার্ভার-সাইডে প্যারামিটার মূল্যায়ন করুন।
ক্লায়েন্ট এবং সার্ভার টেমপ্লেট তুলনা করুন
ক্লায়েন্ট এবং সার্ভার টেমপ্লেটগুলো ভিন্ন ভিন্ন আর্কিটেকচারের জন্য তৈরি এবং এগুলো স্বতন্ত্র SDK ও টার্গেটিং নিয়ম সমর্থন করে। আপনার ব্যবহারের ক্ষেত্রে কোন ধরনের টেমপ্লেট উপযুক্ত, তা বোঝার জন্য নিচের সারণিটি ব্যবহার করুন:
| বৈশিষ্ট্য | ক্লায়েন্ট টেমপ্লেট | সার্ভার টেমপ্লেট |
|---|---|---|
| লক্ষ্য পরিবেশ | ক্লায়েন্ট অ্যাপস (অ্যাপল, অ্যান্ড্রয়েড, ওয়েব, ফ্লাটার, ইউনিটি, সি++) | সার্ভার পরিবেশ ( Cloud Run , Cloud Functions for Firebase , GKE , ব্যাকএন্ড পরিষেবা) |
| সমর্থিত SDK-গুলি | ফায়ারবেস ক্লায়েন্ট এসডিকে | Firebase Admin SDK (নোড.জেএস, পাইথন, গো, জাভা) |
| মূল্যায়ন মডেল | ক্লায়েন্ট ডিভাইসে ফেচ ও ক্যাশ করা হয়; অ্যাপ কোড দ্বারা সক্রিয় করা হয়। | সার্ভার মেমরিতে লোড করা হয়; প্রায়-শূন্য ল্যাটেন্সিতে প্রতিটি অনুরোধ অনুযায়ী মূল্যায়ন করা হয়। |
| শর্তের নিয়ম | অ্যাপ সংস্করণ, ওএস/প্ল্যাটফর্ম, ডিভাইসের ভাষা, দেশ/অঞ্চল, Analytics অডিয়েন্স এবং ব্যবহারকারীর বৈশিষ্ট্য, র্যান্ডম পার্সেন্টাইলে থাকা ব্যবহারকারী, প্রথমবার অ্যাপ খোলা, ক্লায়েন্টের কাস্টম সিগন্যাল | ব্যবহারকারী এলোমেলো শতাংশে, সার্ভারের কাস্টম সংকেত |
| সাধারণ ব্যবহারের ক্ষেত্রগুলি | ফিচার রোলআউট, সিজনাল প্রোমোশন, UI থিম, A/B Testing , পার্সোনালাইজেশন | এআই প্রম্পট এবং মডেল নির্বাচন, সার্ভার-সাইড ফিচার ফ্ল্যাগ, ব্যাকএন্ড রেট-লিমিটিং, ডায়নামিক রাউটিং |
| বিস্তারিত নির্দেশিকা | ক্লায়েন্ট টেমপ্লেটে প্যারামিটার | সার্ভার টেমপ্লেটে প্যারামিটার |
মূল ধারণা
আপনি ক্লায়েন্ট টেমপ্লেট বা সার্ভার টেমপ্লেট, যা নিয়েই কাজ করুন না কেন, Remote Config কিছু মৌলিক ধারণা একই থাকে:
প্যারামিটার
প্যারামিটার হলো কী-ভ্যালু পেয়ার, যা আপনি Firebase কনসোলে অথবা Remote Config ব্যাকএন্ড এপিআই ব্যবহার করে নির্ধারণ করেন।
- প্যারামিটার কী : আপনার প্যারামিটারগুলোর জন্য স্ট্রিং আইডেন্টিফায়ার। কী-গুলো সর্বোচ্চ ২৫৬ অক্ষর পর্যন্ত দীর্ঘ হতে পারে, অবশ্যই একটি আন্ডারস্কোর বা ইংরেজি অক্ষর (AZ, az) দিয়ে শুরু হতে হবে এবং এতে সংখ্যাও অন্তর্ভুক্ত থাকতে পারে।
- প্যারামিটার মান : আপনার প্যারামিটারগুলিতে নির্ধারিত মান। মানগুলি স্ট্রিং হিসাবে সংরক্ষিত হয়, কিন্তু আপনি কনসোল থেকে ডেটা টাইপ নির্বাচন করে
String,Boolean,NumberবাJSONএর মতো ফরম্যাটের সাথে মানগুলি যাচাই করতে পারেন। - ডিফল্ট মান : যখন কোনো শর্ত প্রযোজ্য হয় না, তখন নির্ধারিত ভিত্তি মান। আপনি আপনার কোডে ইন-অ্যাপ ডিফল্ট মান, সেইসাথে Remote Config ব্যাকএন্ডে টেমপ্লেট ডিফল্ট মানও নির্ধারণ করতে পারেন।
শর্ত, নিয়ম এবং শর্তাধীন মান
শর্তাবলীর মাধ্যমে আপনি কাস্টমাইজড প্যারামিটার মান ব্যবহার করে অ্যাপ ব্যবহারকারী বা সার্ভার অনুরোধের নির্দিষ্ট অংশকে টার্গেট করতে পারেন:
- নিয়মাবলী : ক্লায়েন্টের মেটাডেটা বা অনুরোধের প্রেক্ষাপটের (যেমন সংস্করণ নম্বর, দেশ বা কাস্টম সিগন্যাল) ভিত্তিতে স্বতন্ত্র মানদণ্ড মূল্যায়ন করা হয়।
- শর্তাবলী : এক বা একাধিক নিয়মের নামযুক্ত সেট। একটি শর্ত
trueহওয়ার জন্য, সেই শর্তের অন্তর্ভুক্ত সমস্ত নিয়মকেওtrueহতে হবে। - শর্তাধীন মান : কোনো শর্ত
trueবলে প্রমাণিত হলে একটি প্যারামিটারকে যে বিকল্প মানগুলো দেওয়া হয়। যদি একাধিক শর্তtrueবলে প্রমাণিত হয়, তাহলে Firebase কনসোলে সর্বোচ্চ অগ্রাধিকারপ্রাপ্ত শর্তটি প্রাধান্য পায়।
প্যারামিটার গ্রুপ
কয়েক ডজন বা শত শত প্যারামিটার সহ কনফিগারেশনগুলি সংগঠিত করতে, আপনি প্যারামিটার গ্রুপ ব্যবহার করতে পারেন। গ্রুপগুলি Firebase কনসোলে ভিজ্যুয়াল সংগঠন এবং REST API-তে যৌক্তিক গ্রুপিং প্রদান করে।
- একটি প্যারামিটার একই সময়ে কেবল একটি গ্রুপের অন্তর্ভুক্ত হতে পারে।
- গ্রুপিং নির্বিশেষে আপনার প্রোজেক্ট জুড়ে প্যারামিটার কীগুলো বিশ্বব্যাপী অনন্য থাকে।
- গ্রুপিং আপনার SDK কোডে প্যারামিটার মানগুলির রেফারেন্সিং-এর পদ্ধতিতে কোনো পরিবর্তন আনে না।
গ্রুপ তৈরি ও পরিচালনা সংক্রান্ত নির্দেশাবলীর জন্য, বিস্তারিত ক্লায়েন্ট বা সার্ভার প্যারামিটার গাইড দেখুন।
টেমপ্লেট সংস্করণ এবং রোলব্যাক
প্রতিবার আপনি Remote Config এ প্যারামিটার বা শর্তাবলী আপডেট ও প্রকাশ করলে, ফায়ারবেস আপনার টেমপ্লেটের একটি নতুন সংস্করণ তৈরি করে এবং সংরক্ষণ করে। আপনি সংস্করণের ইতিহাস দেখতে পারেন, বিভিন্ন সংস্করণের মধ্যে পরিবর্তন তুলনা করতে পারেন এবং প্রয়োজনে পূর্ববর্তী সংস্করণে ফিরে যেতে পারেন।
টেমপ্লেট ভার্সন ম্যানেজমেন্ট সম্পর্কে আরও জানতে, “Manage Remote Config template versions” দেখুন।
কোটা এবং সীমা
একটি Firebase প্রোজেক্টের মধ্যে, Remote Config নিম্নলিখিত সীমাগুলো প্রয়োগ করে:
- প্যারামিটার : প্রতি প্রকল্পে সর্বোচ্চ ৩,০০০টি প্যারামিটার।
- শর্তাবলী : প্রতি প্রকল্পে সর্বোচ্চ ২,০০০টি শর্ত।
- প্যারামিটার কী-এর দৈর্ঘ্য : সর্বোচ্চ ২৫৬ অক্ষর।
- একটি প্রোজেক্টের অন্তর্গত সমস্ত প্যারামিটার ভ্যালু জুড়ে মোট ভ্যালু স্ট্রিং-এর দৈর্ঘ্য সর্বোচ্চ ১০,০০,০০০ অক্ষর পর্যন্ত।
সীমাগুলির সম্পূর্ণ তালিকার জন্য, কোটা ও সীমা দেখুন।
পরবর্তী পদক্ষেপ
- ক্লায়েন্ট অ্যাপস : ক্লায়েন্ট টেমপ্লেটের প্যারামিটার এবং শর্তাবলী অংশে প্যারামিটার, টার্গেটিং নিয়ম এবং অগ্রাধিকার কীভাবে কনফিগার করতে হয় তা জানুন।
- সার্ভার অ্যাপস : সার্ভার টেমপ্লেটের প্যারামিটার এবং শর্তাবলী অংশে সার্ভার প্যারামিটার, কাস্টম সিগন্যাল এবং সার্ভার ইভ্যালুয়েশন কীভাবে কনফিগার করতে হয় তা জানুন।
- ক্লায়েন্ট SDK দিয়ে শুরু করুন : 'Get started with Firebase Remote Config ' গাইডটি ব্যবহার করে আপনার ক্লায়েন্ট অ্যাপ্লিকেশন সেট আপ করুন।
- সার্ভার SDK-এর সাথে কাজ শুরু করুন : 'সার্ভার পরিবেশে Remote Config ব্যবহার' গাইডটির সাহায্যে আপনার ব্যাকএন্ড পরিবেশ সেট আপ করুন।
- আপডেট স্বয়ংক্রিয় করুন : 'প্রোগ্রামেটিকভাবে Remote Config পরিবর্তন করুন' অংশে জানুন কীভাবে প্রোগ্রামেটিকভাবে টেমপ্লেট পরিবর্তন করতে হয়।