দূরবর্তী কনফিগার পরামিতি এবং শর্তাবলী


আপনি ক্লায়েন্ট এবং সার্ভার উভয় ব্যবহারের ক্ষেত্রেই টেমপ্লেট কনফিগার করতে পারেন। ক্লায়েন্ট টেমপ্লেটগুলি এমন যেকোনো অ্যাপ ইনস্ট্যান্সে পরিবেশন করা হয় যা Remote Config জন্য Firebase ক্লায়েন্ট SDK বাস্তবায়ন করে, যার মধ্যে রয়েছে Android, Apple, Web, Unity, Flutter এবং C++ অ্যাপ। সার্ভার-নির্দিষ্ট টেমপ্লেট থেকে Remote Config প্যারামিটার এবং মানগুলি Remote Config বাস্তবায়নে (ক্লাউড রান এবং ক্লাউড ফাংশন সহ) পরিবেশিত হয় যা নিম্নলিখিত সার্ভার পরিবেশ ব্যবহার করে:

  • ফায়ারবেস অ্যাডমিন নোড.জেএস এসডিকে v12.1.0+
  • ফায়ারবেস অ্যাডমিন পাইথন SDK v6.7.0+
  • Firebase Admin Go SDK v4.17.0+ সম্পর্কে
  • ফায়ারবেস অ্যাডমিন জাভা এসডিকে v9.7.0+

Firebase কনসোল বা Remote Config ব্যাকএন্ড API ব্যবহার করার সময়, আপনি এক বা একাধিক প্যারামিটার (কী-মান জোড়া) সংজ্ঞায়িত করেন এবং সেই প্যারামিটারগুলির জন্য ইন-অ্যাপ ডিফল্ট মান প্রদান করেন। আপনি প্যারামিটার মান নির্ধারণ করে ইন-অ্যাপ ডিফল্ট মানগুলিকে ওভাররাইড করতে পারেন। প্যারামিটার কী এবং প্যারামিটার মানগুলি স্ট্রিং, কিন্তু আপনার অ্যাপে এই মানগুলি ব্যবহার করার সময় প্যারামিটার মানগুলি অন্যান্য ডেটা টাইপ হিসাবে কাস্ট করা যেতে পারে।

Firebase কনসোল, Admin SDK অথবা Remote Config REST API ব্যবহার করে, আপনি আপনার প্যারামিটারের জন্য নতুন ডিফল্ট মান তৈরি করতে পারেন, সেইসাথে শর্তাধীন মানগুলিও তৈরি করতে পারেন যা অ্যাপের ইনস্ট্যান্সের গ্রুপগুলিকে লক্ষ্য করতে ব্যবহৃত হয়। প্রতিবার যখন আপনি Firebase কনসোলে আপনার কনফিগারেশন আপডেট করেন, Firebase আপনার Remote Config টেমপ্লেটের একটি নতুন সংস্করণ তৈরি করে এবং প্রকাশ করে। পূর্ববর্তী সংস্করণটি সংরক্ষণ করা হয়, যা আপনাকে প্রয়োজন অনুসারে পুনরুদ্ধার বা রোলব্যাক করার অনুমতি দেয়। এই ক্রিয়াকলাপগুলি Firebase কনসোল, Firebase Admin SDK এবং REST API-তে আপনার জন্য উপলব্ধ এবং Manage Remote Config টেমপ্লেট সংস্করণগুলিতে আরও বিস্তৃতভাবে বর্ণনা করা হয়েছে।

এই নির্দেশিকাটি Remote Config ব্যাকএন্ডে এবং আপনার অ্যাপে প্যারামিটার, শর্ত, নিয়ম, শর্তসাপেক্ষ মান এবং বিভিন্ন প্যারামিটার মানকে কীভাবে অগ্রাধিকার দেওয়া হয় তা ব্যাখ্যা করে। এটি শর্ত তৈরি করতে ব্যবহৃত নিয়মের প্রকারের বিশদও প্রদান করে।

শর্ত, নিয়ম এবং শর্তাধীন মান

একটি শর্ত অ্যাপ ইনস্ট্যান্সের একটি গ্রুপকে লক্ষ্য করার জন্য ব্যবহৃত হয়। শর্তগুলি এক বা একাধিক নিয়ম দিয়ে তৈরি, যেগুলির সবগুলিকে true হিসাবে মূল্যায়ন করতে হবে যাতে একটি নির্দিষ্ট অ্যাপ ইনস্ট্যান্সের জন্য শর্তটি true হিসাবে মূল্যায়ন করা যায়। যদি কোনও নিয়মের মান অনির্ধারিত থাকে (উদাহরণস্বরূপ, যখন কোনও মান উপলব্ধ না থাকে), তাহলে সেই নিয়মটি false হিসাবে মূল্যায়ন করবে।

উদাহরণস্বরূপ, আপনি এমন একটি প্যারামিটার তৈরি করতে পারেন যা একটি বৃহৎ ভাষা মডেল (LLM) মডেলের নাম এবং সংস্করণ স্ট্রিং সংজ্ঞায়িত করে এবং কাস্টম সংকেত নিয়মের উপর ভিত্তি করে বিভিন্ন মডেল থেকে প্রতিক্রিয়া পরিবেশন করে। এই ব্যবহারের ক্ষেত্রে, আপনি বেশিরভাগ অনুরোধ পরিবেশন করার জন্য ডিফল্ট মান হিসাবে একটি স্থিতিশীল মডেল সংস্করণ ব্যবহার করতে পারেন এবং পরীক্ষার ক্লায়েন্ট অনুরোধগুলিতে প্রতিক্রিয়া জানাতে একটি পরীক্ষামূলক মডেল ব্যবহার করতে কাস্টম সংকেত ব্যবহার করতে পারেন।

একটি প্যারামিটারে একাধিক শর্তসাপেক্ষ মান থাকতে পারে যা বিভিন্ন শর্ত ব্যবহার করে এবং প্যারামিটারগুলি একটি প্রকল্পের মধ্যে শর্তগুলি ভাগ করে নিতে পারে। Firebase কনসোলের প্যারামিটার ট্যাবে , আপনি প্রতিটি প্যারামিটারের শর্তসাপেক্ষ মানের জন্য আনার শতাংশ দেখতে পারেন। এই মেট্রিকটি গত 24 ঘন্টায় প্রতিটি মান প্রাপ্ত অনুরোধের শতাংশ নির্দেশ করে।

প্যারামিটার মান অগ্রাধিকার

যখন আপনি Firebase Admin SDK ব্যবহার করে সার্ভার অ্যাপগুলিতে Remote Config ব্যবহার করেন, তখন প্রতিটি ক্লায়েন্ট অনুরোধের জন্য চাহিদা অনুযায়ী উপযুক্ত প্যারামিটার মান বের করার জন্য আপনি সম্পূর্ণ টেমপ্লেটটি আনেন এবং লোড করেন। একটি প্যারামিটারের সাথে বেশ কয়েকটি শর্তসাপেক্ষ মান যুক্ত থাকতে পারে।

নিম্নলিখিত নিয়মগুলি নির্ধারণ করে যে একটি নির্দিষ্ট সময়ে টেমপ্লেট মূল্যায়নের সময় কোন মান নির্ধারণ করা হবে:

  1. প্রথমত, কোনও নির্দিষ্ট ক্লায়েন্ট অনুরোধের জন্য true হিসাবে মূল্যায়ন করা যেকোনো শর্তের জন্য শর্তাধীন মান প্রয়োগ করা হয়। যদি একাধিক শর্ত true হিসাবে মূল্যায়ন করা হয়, তাহলে Firebase কনসোল UI-তে দেখানো প্রথম (শীর্ষ) মানটি প্রাধান্য পায় এবং টেমপ্লেটটি মূল্যায়ন করার সময় সেই শর্তের সাথে সম্পর্কিত শর্তাধীন মানগুলি প্রদান করা হয়। আপনি শর্তাবলী ট্যাবে শর্তগুলি টেনে এনে এবং ফেলে দিয়ে শর্তগুলির অগ্রাধিকার পরিবর্তন করতে পারেন।

  2. যদি কোনও শর্তসাপেক্ষ মান না থাকে এবং শর্তাবলী true হিসাবে মূল্যায়ন করা হয়, তাহলে টেমপ্লেট মূল্যায়নের সময় Remote Config ডিফল্ট মান প্রদান করা হয়। যদি টেমপ্লেটে কোনও প্যারামিটার বিদ্যমান না থাকে, অথবা যদি ডিফল্ট মানটি Use in-app default এ সেট করা থাকে, তাহলে টেমপ্লেট মূল্যায়নের সময় সেই প্যারামিটারের জন্য কোনও মান প্রদান করা হয় না।

সার্ভার অ্যাপে Remote Config টেমপ্লেট লোড এবং মূল্যায়ন সম্পর্কে আরও তথ্যের জন্য, সার্ভার পরিবেশে Remote Config ব্যবহার করুন দেখুন।

প্যারামিটার মান ডেটা টাইপ

Remote Config আপনাকে প্রতিটি প্যারামিটারের জন্য একটি ডেটা টাইপ নির্বাচন করতে দেয় এবং টেমপ্লেট আপডেটের আগে সেই টাইপের সাথে সমস্ত Remote Config মান যাচাই করে। ডেটা টাইপটি সংরক্ষণ করা হয় এবং একটি getRemoteConfig অনুরোধে ফেরত পাঠানো হয়।

সমর্থিত ডেটা প্রকারগুলি হল:

  • String
  • Boolean
  • Number
  • JSON

Firebase কনসোল UI-তে, প্যারামিটার কী-এর পাশের ড্রপ-ডাউন থেকে ডেটা টাইপ নির্বাচন করা যেতে পারে। REST API-তে, প্যারামিটার অবজেক্টের মধ্যে value_type ফিল্ড ব্যবহার করে টাইপ সেট করা যেতে পারে।

প্যারামিটার গ্রুপ

Remote Config আপনাকে আরও সুসংগঠিত UI এর জন্য প্যারামিটারগুলিকে একত্রিত করতে এবং ব্যবহারযোগ্যতা বাড়াতে দেয়।

উদাহরণস্বরূপ, ধরুন, একটি নতুন লগইন বৈশিষ্ট্য চালু করার সময় আপনাকে তিনটি ভিন্ন প্রমাণীকরণ প্রকার সক্রিয় বা নিষ্ক্রিয় করতে হবে। Remote Config ব্যবহার করে, আপনি আপনার পছন্দের প্রকারগুলি সক্ষম করার জন্য তিনটি প্যারামিটার তৈরি করতে পারেন এবং তারপরে "নতুন লগইন" নামে একটি গোষ্ঠীতে সেগুলিকে সংগঠিত করতে পারেন, কোনও উপসর্গ বা বিশেষ বাছাইয়ের প্রয়োজন ছাড়াই।

আপনি Firebase কনসোল অথবা Remote Config REST API ব্যবহার করে প্যারামিটার গ্রুপ তৈরি করতে পারেন। আপনার তৈরি প্রতিটি প্যারামিটার গ্রুপের আপনার Remote Config টেমপ্লেটে একটি অনন্য নাম থাকে। প্যারামিটার গ্রুপ তৈরি করার সময়, মনে রাখবেন:

  • প্যারামিটারগুলি যেকোনো সময় শুধুমাত্র একটি গ্রুপে অন্তর্ভুক্ত করা যেতে পারে, এবং একটি প্যারামিটার কী অবশ্যই সমস্ত প্যারামিটার জুড়ে অনন্য হতে হবে।
  • প্যারামিটার গ্রুপের নাম ২৫৬টি অক্ষরের মধ্যে সীমাবদ্ধ।
  • যদি আপনি REST API এবং Firebase কনসোল উভয়ই ব্যবহার করেন, তাহলে নিশ্চিত করুন যে প্রকাশের সময় প্যারামিটার গ্রুপগুলি পরিচালনা করার জন্য যেকোনো REST API লজিক আপডেট করা আছে।

Firebase কনসোল ব্যবহার করে প্যারামিটার গ্রুপ তৈরি বা পরিবর্তন করুন

আপনি Firebase কনসোলের প্যারামিটার ট্যাবে প্যারামিটারগুলিকে গ্রুপ করতে পারেন। একটি গ্রুপ তৈরি বা পরিবর্তন করতে:

  1. গ্রুপ পরিচালনা করুন নির্বাচন করুন।
  2. আপনি যে প্যারামিটারগুলি যোগ করতে চান তার জন্য চেকবক্স নির্বাচন করুন এবং Move to group নির্বাচন করুন।
  3. একটি বিদ্যমান গ্রুপ নির্বাচন করুন, অথবা একটি নাম এবং বিবরণ লিখে একটি নতুন গ্রুপ তৈরি করুন, এবং নতুন গ্রুপ তৈরি করুন নির্বাচন করুন। একটি গ্রুপ সংরক্ষণ করার পরে, এটি পরিবর্তন প্রকাশ করুন বোতাম ব্যবহার করে প্রকাশ করার জন্য উপলব্ধ।

শর্ত নিয়মের ধরণ

সার্ভার অ্যাপ্লিকেশনের জন্য Remote Config টেমপ্লেটগুলি নিম্নলিখিত শর্তের ধরণগুলিকে সমর্থন করে:

ব্যবহারকারীর সংখ্যা এলোমেলো শতাংশে

স্লাইডার উইজেট ব্যবহার করে এলোমেলোভাবে শাফেল করা ব্যবহারকারীদের (অ্যাপ ইনস্ট্যান্স) গ্রুপে ভাগ করার জন্য, অ্যাপ ইনস্ট্যান্সের (.0001% এর মতো ছোট নমুনা সহ) একটি র‍্যান্ডম নমুনায় পরিবর্তন প্রয়োগ করতে এই ক্ষেত্রটি ব্যবহার করুন।

প্রতিটি অ্যাপের উদাহরণ ধারাবাহিকভাবে একটি এলোমেলো পূর্ণ বা ভগ্নাংশ সংখ্যার সাথে ম্যাপ করা হয়, সেই প্রকল্পে সংজ্ঞায়িত একটি বীজ অনুসারে।

আপনি যদি বীজের মান পরিবর্তন না করেন, তাহলে একটি নিয়ম ডিফল্ট কী ( Firebase কনসোলে Edit seed হিসাবে দেখানো হয়েছে) ব্যবহার করবে। আপনি বীজ ক্ষেত্রটি সাফ করে একটি নিয়মকে ডিফল্ট কী ব্যবহারে ফিরিয়ে আনতে পারেন।

প্রদত্ত শতাংশের সীমার মধ্যে একই অ্যাপের উদাহরণগুলিকে ধারাবাহিকভাবে সম্বোধন করতে, বিভিন্ন শর্তে একই বীজ মান ব্যবহার করুন। অথবা, একটি নতুন বীজ নির্দিষ্ট করে প্রদত্ত শতাংশের সীমার জন্য এলোমেলোভাবে নির্ধারিত অ্যাপ উদাহরণগুলির একটি নতুন গ্রুপ নির্বাচন করুন।

উদাহরণস্বরূপ, একটি অ্যাপের ৫% ব্যবহারকারীর ক্ষেত্রে প্রযোজ্য দুটি সম্পর্কিত শর্ত তৈরি করতে, আপনি একটি শর্তকে ০% থেকে ৫% এর মধ্যে শতাংশের সাথে মেলাতে এবং আরেকটি শর্তকে ৫% থেকে ১০% এর মধ্যে পরিসরের সাথে মেলাতে কনফিগার করতে পারেন। কিছু ব্যবহারকারীকে উভয় গ্রুপে এলোমেলোভাবে উপস্থিত হতে দেওয়ার জন্য, প্রতিটি শর্তের মধ্যে নিয়মের জন্য আলাদা আলাদা সীড মান ব্যবহার করুন।

আপনার অ্যাপ্লিকেশনে র‍্যান্ডম শতাংশ শর্ত কীভাবে যোগ করবেন তা জানতে, আপনার সার্ভার অ্যাপ্লিকেশন কনফিগার করুন দেখুন।

কাস্টম সিগন্যাল শর্তাবলী

আপনার অ্যাপ্লিকেশনে সংজ্ঞায়িত ইচ্ছামত শর্তের সাথে মিল করার জন্য আপনি কাস্টম সিগন্যাল শর্তসাপেক্ষ মান ব্যবহার করতে পারেন। এটি আপনাকে প্রতিটি ক্লায়েন্ট অনুরোধের জন্য সার্ভার প্রতিক্রিয়া তৈরি করতে দেয়। সার্ভার পরিবেশের নিম্নলিখিত সংস্করণগুলি থেকে কাস্টম সিগন্যাল শর্তগুলি সমর্থিত:

  • ফায়ারবেস অ্যাডমিন নোড.জেএস এসডিকে v12.1.0+
  • ফায়ারবেস অ্যাডমিন পাইথন SDK v6.7.0+
  • Firebase Admin Go SDK v4.17.0+ সম্পর্কে
  • ফায়ারবেস অ্যাডমিন জাভা এসডিকে v9.7.0+

উদাহরণস্বরূপ, যদি আপনি এমন একটি সার্ভার অ্যাপে কাজ করেন যা নির্দিষ্ট প্ল্যাটফর্মের জন্য টিউন করা বিভিন্ন মডেলের সাথে প্রতিক্রিয়া তৈরি করতে জেনারেটিভ এআই ব্যবহার করে, তাহলে আপনি নিম্নলিখিতগুলি করতে পারেন:

  1. আপনার Remote Config সার্ভার টেমপ্লেটে prompt এবং model_name প্যারামিটার যোগ করুন।
  2. আপনি যে প্রতিটি প্ল্যাটফর্মকে লক্ষ্য করতে চান তার জন্য platform মান সহ কাস্টম সিগন্যাল শর্ত যুক্ত করুন।
  3. আপনার সার্ভার-নির্দিষ্ট Remote Config টেমপ্লেটে ডিফল্ট মান এবং আপনার সংজ্ঞায়িত প্রতিটি প্ল্যাটফর্ম অবস্থার জন্য শর্তাধীন মান যোগ করুন।
  4. platform কাস্টম সিগন্যাল সেট এবং ব্যবহার করতে আপনার অ্যাপ্লিকেশন কোড আপডেট করুন।

এখন, আপনার অ্যাপ টেমপ্লেট মূল্যায়নের সময় উপযুক্ত প্রম্পট এবং মডেল বের করতে পারে এবং প্রতিটি ক্লায়েন্টকে কাস্টমাইজড প্রতিক্রিয়া ফেরত দিতে সেগুলি ব্যবহার করতে পারে।

Firebase কনসোলে কাস্টম সিগন্যাল শর্ত তৈরি করতে আপনি নিম্নলিখিত নিয়মের ধরণগুলি ব্যবহার করতে পারেন।

অপারেটর বিভাগ অপারেটর(গুলি) মূল্য দ্রষ্টব্য
টেক্সট ঠিক মিলে যায়, ধারণ করে, ধারণ করে না, রেজেক্স ধারণ করে

এই নিয়মের জন্য স্ট্রিং তুলনাগুলি কেস-সংবেদনশীল। ঠিক মিলে যায় , থাকে , থাকে না, থাকে , অথবা থাকে regex অপারেটর ব্যবহার করার সময়, আপনি একাধিক মান নির্বাচন করতে পারেন।

contains regex অপারেটর ব্যবহার করার সময়, আপনি RE2 ফর্ম্যাটে রেগুলার এক্সপ্রেশন তৈরি করতে পারেন। আপনার রেগুলার এক্সপ্রেশনটি টার্গেট ভার্সন স্ট্রিংয়ের সম্পূর্ণ বা আংশিক মিলাতে পারে। আপনি ^ এবং $ অ্যাঙ্কর ব্যবহার করে একটি টার্গেট স্ট্রিংয়ের শুরু, শেষ বা সম্পূর্ণতা মেলাতে পারেন।

সংখ্যা <, <=, =, !=, >, >= দশমিক বিন্দুর প্রতিটি পাশে দশটির বেশি সংখ্যাবিহীন সংখ্যা।
সংস্করণ <, <=, =, !=, >, >= সংখ্যা যা মিলানোর জন্য সংস্করণ নম্বর(গুলি) প্রতিনিধিত্ব করে (উদাহরণস্বরূপ, 2.1.0)।

আপনার অ্যাপ্লিকেশনে কাস্টম সিগন্যাল কীভাবে যোগ করবেন তা জানতে, আপনার সার্ভার অ্যাপ্লিকেশন কনফিগার করুন দেখুন।

প্যারামিটার এবং শর্তাবলী অনুসন্ধান করুন

আপনি Remote Config প্যারামিটার ট্যাবের উপরে থাকা অনুসন্ধান বাক্স ব্যবহার করে Firebase কনসোল থেকে আপনার প্রকল্পের প্যারামিটার কী, প্যারামিটার মান এবং শর্তাবলী অনুসন্ধান করতে পারেন।

পরামিতি এবং শর্তাবলীর সীমা

একটি Firebase প্রকল্পের মধ্যে, আপনার সর্বোচ্চ 3000টি প্যারামিটার এবং সর্বোচ্চ 2000টি শর্ত থাকতে পারে। প্যারামিটার কীগুলি 256টি অক্ষর পর্যন্ত দীর্ঘ হতে পারে, একটি আন্ডারস্কোর বা ইংরেজি অক্ষর (AZ, az) দিয়ে শুরু হতে হবে এবং সংখ্যাও অন্তর্ভুক্ত থাকতে পারে। একটি প্রকল্পের মধ্যে প্যারামিটার মানের স্ট্রিংগুলির মোট দৈর্ঘ্য 1,000,000 অক্ষরের বেশি হতে পারে না।

প্যারামিটার এবং শর্তাবলীর পরিবর্তনগুলি দেখুন

আপনি Firebase কনসোল থেকে আপনার Remote Config টেমপ্লেটের সর্বশেষ পরিবর্তনগুলি দেখতে পারেন। প্রতিটি পৃথক প্যারামিটার এবং অবস্থার জন্য, আপনি যা করতে পারেন:

  • যে ব্যবহারকারী সর্বশেষ প্যারামিটার বা শর্ত পরিবর্তন করেছিলেন তার নাম দেখুন।

  • যদি পরিবর্তনটি একই দিনের মধ্যে ঘটে থাকে, তাহলে সক্রিয় Remote Config টেমপ্লেটে পরিবর্তনটি প্রকাশিত হওয়ার পর থেকে কত মিনিট বা ঘন্টা অতিবাহিত হয়েছে তা দেখুন।

  • যদি পরিবর্তনটি এক বা একাধিক দিন আগে ঘটে থাকে, তাহলে সক্রিয় Remote Config টেমপ্লেটে পরিবর্তনটি প্রকাশিত হওয়ার তারিখটি দেখুন।

প্যারামিটারের ইতিহাস পরিবর্তন করুন

Remote Config প্যারামিটার পৃষ্ঠায়, সর্বশেষ প্রকাশিত কলামটি প্রতিটি প্যারামিটার পরিবর্তনকারী সর্বশেষ ব্যবহারকারী এবং পরিবর্তনের শেষ প্রকাশের তারিখ দেখায়:

  • গ্রুপ করা প্যারামিটারের পরিবর্তন মেটাডেটা দেখতে, প্যারামিটার গ্রুপটি প্রসারিত করুন।

  • প্রকাশের তারিখ অনুসারে ঊর্ধ্বমুখী বা অবরোহী ক্রমে সাজানোর জন্য, সর্বশেষ প্রকাশিত কলাম লেবেলে ক্লিক করুন।

অবস্থার জন্য ইতিহাস পরিবর্তন করুন

Remote Config কন্ডিশন পৃষ্ঠায়, আপনি প্রতিটি কন্ডিশনের অধীনে সর্বশেষ পরিবর্তন করা হয়েছে এর পাশে সর্বশেষ ব্যবহারকারী যিনি শর্তটি পরিবর্তন করেছেন এবং তারা যে তারিখে এটি পরিবর্তন করেছেন তা দেখতে পাবেন।

পরবর্তী পদক্ষেপ

আপনার ফায়ারবেস প্রজেক্ট এবং সার্ভার অ্যাপকে Remote Config ব্যবহার করার জন্য কনফিগার করতে, সার্ভার পরিবেশে Remote Config ব্যবহার করুন দেখুন।