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