আপনি ক্লায়েন্ট এবং সার্ভার উভয় ব্যবহারের জন্যই টেমপ্লেট কনফিগার করতে পারেন। ক্লায়েন্ট টেমপ্লেটগুলো এমন যেকোনো অ্যাপ ইনস্ট্যান্সে পরিবেশন করা হয়, যেগুলো Remote Config জন্য ফায়ারবেস ক্লায়েন্ট এসডিকে (SDK) প্রয়োগ করে; এর মধ্যে রয়েছে অ্যান্ড্রয়েড, অ্যাপল, ওয়েব, ইউনিটি, ফ্লাটার এবং সি++ অ্যাপ। সার্ভার-নির্দিষ্ট টেমপ্লেট থেকে Remote Config প্যারামিটার এবং ভ্যালুগুলো সেইসব Remote Config ইমপ্লিমেন্টেশনে (ক্লাউড রান এবং ক্লাউড ফাংশন সহ) পরিবেশন করা হয়, যেগুলো নিম্নলিখিত সার্ভার এনভায়রনমেন্টগুলো ব্যবহার করে:
- ফায়ারবেস অ্যাডমিন নোড.জেএস এসডিকে ভি১২.১.০+
- ফায়ারবেস অ্যাডমিন পাইথন SDK v6.7.0+
- ফায়ারবেস অ্যাডমিন গো এসডিকে ভি৪.১৭.০+
- ফায়ারবেস অ্যাডমিন জাভা এসডিকে ভি৯.৭.০+
Firebase কনসোল বা Remote Config ব্যাকএন্ড API ব্যবহার করার সময়, আপনি এক বা একাধিক প্যারামিটার (কী-ভ্যালু পেয়ার) নির্ধারণ করেন এবং সেই প্যারামিটারগুলোর জন্য অ্যাপের মধ্যে ডিফল্ট ভ্যালু প্রদান করেন। প্যারামিটার ভ্যালু নির্ধারণ করার মাধ্যমে আপনি অ্যাপের ভেতরের ডিফল্ট ভ্যালুগুলোকে ওভাররাইড করতে পারেন। প্যারামিটারের কী এবং ভ্যালু স্ট্রিং হয়, কিন্তু আপনার অ্যাপে এই ভ্যালুগুলো ব্যবহার করার সময় সেগুলোকে অন্য ডেটা টাইপে কাস্ট করা যেতে পারে।
Firebase কনসোল, Admin SDK বা Remote Config REST API ব্যবহার করে, আপনি আপনার প্যারামিটারগুলির জন্য নতুন ডিফল্ট মান তৈরি করতে পারেন, সেইসাথে শর্তসাপেক্ষ মানও তৈরি করতে পারেন যা অ্যাপ ইনস্ট্যান্সের গ্রুপগুলিকে টার্গেট করতে ব্যবহৃত হয়। প্রতিবার যখন আপনি Firebase কনসোলে আপনার কনফিগারেশন আপডেট করেন, Firebase আপনার Remote Config টেমপ্লেটের একটি নতুন সংস্করণ তৈরি করে এবং প্রকাশ করে। পূর্ববর্তী সংস্করণটি সংরক্ষিত থাকে, যা আপনাকে প্রয়োজন অনুযায়ী তা পুনরুদ্ধার বা রোলব্যাক করার সুযোগ দেয়। এই অপারেশনগুলি আপনার জন্য Firebase কনসোল, Firebase Admin SDK এবং REST API-তে উপলব্ধ এবং Remote Config টেমপ্লেট সংস্করণ পরিচালনা' অংশে এগুলি আরও বিস্তারিতভাবে বর্ণনা করা হয়েছে।
এই নির্দেশিকাটি প্যারামিটার, কন্ডিশন, রুল, কন্ডিশনাল ভ্যালু এবং Remote Config ব্যাকএন্ডে ও আপনার অ্যাপে বিভিন্ন প্যারামিটার ভ্যালুকে কীভাবে অগ্রাধিকার দেওয়া হয়, তা ব্যাখ্যা করে। এটি কন্ডিশন তৈরি করতে ব্যবহৃত বিভিন্ন ধরনের রুল সম্পর্কেও বিস্তারিত তথ্য প্রদান করে।
শর্ত, নিয়ম এবং শর্তাধীন মান
একটি শর্ত অ্যাপ ইনস্ট্যান্সের একটি গ্রুপকে লক্ষ্য করতে ব্যবহৃত হয়। শর্তগুলো এক বা একাধিক নিয়ম দ্বারা গঠিত, এবং একটি নির্দিষ্ট অ্যাপ ইনস্ট্যান্সের জন্য শর্তটি true হতে হলে এই নিয়মগুলোর সবকটিকেই true হতে হবে। যদি কোনো নিয়মের মান অনির্ধারিত থাকে (উদাহরণস্বরূপ, যখন কোনো মান উপলব্ধ থাকে না), তখন সেই নিয়মটি false বলে গণ্য হবে।
উদাহরণস্বরূপ, একটি অ্যাপের স্প্ল্যাশ পেজ নির্ধারণকারী একটি প্যারামিটার if device_os = Android নিয়মটি ব্যবহার করে OS-এর ধরনের উপর ভিত্তি করে ভিন্ন ভিন্ন ছবি প্রদর্শন করতে পারে।

অথবা, আপনার অ্যাপ কখন বিশেষ প্রচারমূলক আইটেম প্রদর্শন করবে তা নিয়ন্ত্রণ করতে একটি সময় শর্ত ব্যবহার করা যেতে পারে।
একটি প্যারামিটারের একাধিক শর্তাধীন মান থাকতে পারে, যেগুলো ভিন্ন ভিন্ন শর্ত ব্যবহার করে, এবং একটি প্রোজেক্টের মধ্যে প্যারামিটারগুলো একই শর্ত ব্যবহার করতে পারে। Firebase কনসোলের প্যারামিটারস ট্যাবে , আপনি প্রতিটি প্যারামিটারের শর্তাধীন মানগুলোর জন্য ফেচ পার্সেন্টেজ দেখতে পারেন। এই মেট্রিকটি নির্দেশ করে যে, গত ২৪ ঘণ্টায় প্রতিটি মান গ্রহণকারী রিকোয়েস্টের শতাংশ কত ছিল।
আইপি-ভিত্তিক অ্যাক্সেস কন্ট্রোলের সাথে IPv6 এর সীমাবদ্ধতা
আইপি-ভিত্তিক অ্যাক্সেস পলিসির সাথে ব্যবহার করা হলে Remote Config IPv6-এর জন্য সীমিত সমর্থন রয়েছে। যদি আপনার সংস্থা নির্দিষ্ট পাবলিক আইপি রেঞ্জে অ্যাক্সেস সীমাবদ্ধ করে, তাহলে একটি IPv6 নেটওয়ার্কের মাধ্যমে সংযোগ করলে নিম্নলিখিত সমস্যাগুলি দেখা দিতে পারে:
- কনসোল অ্যাক্সেস: আপনি Firebase কনসোলে কিছু নির্দিষ্ট Remote Config ফিচার ব্যবহার করতে সক্ষম নাও হতে পারেন, যেমন ডেটা লোড করা বা টার্গেটিং সেট আপ করা।
- ক্লায়েন্ট অ্যাক্সেস: ক্লায়েন্ট অ্যাপগুলো PERMISSION_DENIED ত্রুটির সম্মুখীন হতে পারে।
এই সমস্যাগুলো এড়ানোর জন্য, আমরা আপনার নেটওয়ার্ককে IPv4 ব্যবহার করার জন্য কনফিগার করতে অথবা আপনার প্রতিষ্ঠানের অনুমোদিত তালিকায় (allowlist) প্রয়োজনীয় Firebase IP রেঞ্জগুলো যোগ করার পরামর্শ দিই।
প্যারামিটার মানের অগ্রাধিকার
একটি প্যারামিটারের সাথে একাধিক শর্তসাপেক্ষ মান যুক্ত থাকতে পারে। নিম্নলিখিত নিয়মগুলো নির্ধারণ করে যে, Remote Config টেমপ্লেট থেকে কোন মানটি আনা হবে এবং একটি নির্দিষ্ট অ্যাপ ইনস্ট্যান্সে একটি বিশেষ সময়ে কোন মানটি ব্যবহৃত হবে:
প্রথমে, কোনো নির্দিষ্ট ক্লায়েন্ট অনুরোধের জন্য যে শর্তগুলো
trueবলে প্রমাণিত হয়, সেগুলোর উপর শর্তাধীন মান প্রয়োগ করা হয়। যদি একাধিক শর্তtrueবলে প্রমাণিত হয়, তাহলে Firebase কনসোল UI-তে দেখানো প্রথম (শীর্ষ) শর্তটি অগ্রাধিকার পায়, এবং যখন কোনো অ্যাপ ব্যাকএন্ড থেকে মান সংগ্রহ করে, তখন সেই শর্তের সাথে যুক্ত শর্তাধীন মানগুলো সরবরাহ করা হয়। আপনি 'Conditions' ট্যাবে শর্তগুলোকে ড্র্যাগ এবং ড্রপ করে তাদের অগ্রাধিকার পরিবর্তন করতে পারেন।যদি এমন কোনো শর্তাধীন মান না থাকে যার শর্তগুলো
trueবলে প্রমাণিত হয়, তাহলে কোনো অ্যাপ যখন ব্যাকএন্ড থেকে মান সংগ্রহ করে, তখন Remote Config -এর ডিফল্ট মান প্রদান করা হয়। যদি কোনো প্যারামিটার ব্যাকএন্ডে বিদ্যমান না থাকে, অথবা যদি ডিফল্ট মান ‘Use in-app default’ হিসেবে সেট করা থাকে, তাহলে কোনো অ্যাপ যখন মান সংগ্রহ করে, তখন সেই প্যারামিটারের জন্য কোনো মান প্রদান করা হয় না।
আপনার অ্যাপে, get মেথডগুলো নিম্নলিখিত অগ্রাধিকার তালিকা অনুসারে প্যারামিটার মানগুলো ফেরত দেয়।
- যদি ব্যাকএন্ড থেকে কোনো মান আনা হয় এবং তারপর তা সক্রিয় করা হয়, তাহলে অ্যাপটি সেই আনা মানটিই ব্যবহার করে। সক্রিয় করা প্যারামিটারের মানগুলো স্থায়ী হয়।
যদি ব্যাকএন্ড থেকে কোনো ভ্যালু আনা না হয়, অথবা Remote Config ব্যাকএন্ড থেকে আনা ভ্যালুগুলো অ্যাক্টিভেট করা না থাকে, তাহলে অ্যাপটি তার নিজস্ব ডিফল্ট ভ্যালু ব্যবহার করে।
ডিফল্ট মান সংগ্রহ ও সেট করার বিষয়ে আরও তথ্যের জন্য, Remote Config টেমপ্লেট ডিফল্ট ডাউনলোড করুন’ দেখুন।
যদি অ্যাপের মধ্যে কোনো ডিফল্ট মান সেট করা না থাকে, তাহলে অ্যাপটি একটি স্ট্যাটিক টাইপের মান ব্যবহার করে (যেমন
intএর জন্য0এবংbooleanজন্যfalse)।
এই গ্রাফিকটি সংক্ষেপে তুলে ধরেছে যে Remote Config ব্যাকএন্ডে এবং আপনার অ্যাপে প্যারামিটার মানগুলোকে কীভাবে অগ্রাধিকার দেওয়া হয়:

প্যারামিটার মানের ডেটা প্রকার
Remote Config আপনাকে প্রতিটি প্যারামিটারের জন্য একটি ডেটা টাইপ নির্বাচন করার সুযোগ দেয় এবং টেমপ্লেট আপডেটের আগে সেই টাইপের সাথে মিলিয়ে সমস্ত Remote Config ভ্যালু যাচাই করে। ডেটা টাইপটি সংরক্ষণ করা হয় এবং একটি getRemoteConfig রিকোয়েস্টের মাধ্যমে তা ফেরত দেওয়া হয়।
সমর্থিত ডেটা টাইপগুলো হলো:
-
String -
Boolean -
Number -
JSON
Firebase কনসোল UI-তে, প্যারামিটার কী-এর পাশে থাকা একটি ড্রপ-ডাউন থেকে ডেটা টাইপ নির্বাচন করা যায়। REST API-তে, প্যারামিটার অবজেক্টের মধ্যে থাকা value_type ফিল্ড ব্যবহার করে টাইপ সেট করা যায়।
প্যারামিটার গ্রুপ
Remote Config আপনাকে আরও সুসংগঠিত UI এবং উন্নত ব্যবহারযোগ্যতা পাওয়ার জন্য প্যারামিটারগুলোকে একসাথে গ্রুপ করার সুযোগ দেয়।
For example, say you need to enable or disable three different auth types while rolling out a new login feature. With Remote Config , you can create the three parameters to enable the types you want, and then organize them in a group named "New login," with no need to add prefixes or special sorting.
আপনি Firebase কনসোল অথবা Remote Config REST API ব্যবহার করে প্যারামিটার গ্রুপ তৈরি করতে পারেন। আপনার তৈরি করা প্রতিটি প্যারামিটার গ্রুপের Remote Config টেমপ্লেটে একটি অনন্য নাম থাকে। প্যারামিটার গ্রুপ তৈরি করার সময়, নিম্নলিখিত বিষয়গুলো মনে রাখবেন:
- যেকোনো সময়ে প্যারামিটারগুলো কেবল একটি গ্রুপেই অন্তর্ভুক্ত করা যাবে, এবং একটি প্যারামিটার কী অবশ্যই সকল প্যারামিটারের মধ্যে অনন্য হতে হবে।
- প্যারামিটার গ্রুপের নাম ২৫৬ অক্ষরের মধ্যে সীমাবদ্ধ।
- আপনি যদি REST API এবং Firebase কনসোল উভয়ই ব্যবহার করেন, তাহলে নিশ্চিত করুন যে পাবলিশ করার সময় প্যারামিটার গ্রুপগুলি পরিচালনা করার জন্য REST API লজিক আপডেট করা হয়েছে।
Firebase কনসোল ব্যবহার করে প্যারামিটার গ্রুপ তৈরি বা পরিবর্তন করুন
আপনি Firebase কনসোলের প্যারামিটার ট্যাবে প্যারামিটারগুলোকে গ্রুপ করতে পারেন। একটি গ্রুপ তৈরি বা পরিবর্তন করতে:
- গ্রুপ পরিচালনা নির্বাচন করুন।
- আপনি যে প্যারামিটারগুলো যোগ করতে চান সেগুলোর জন্য চেকবক্স নির্বাচন করুন এবং ‘গ্রুপে সরান’ নির্বাচন করুন।
- বিদ্যমান কোনো গ্রুপ নির্বাচন করুন, অথবা একটি নাম ও বিবরণ লিখে এবং 'নতুন গ্রুপ তৈরি করুন ' নির্বাচন করে একটি নতুন গ্রুপ তৈরি করুন। গ্রুপটি সংরক্ষণ করার পর, 'পরিবর্তন প্রকাশ করুন ' বোতামটি ব্যবহার করে এটি প্রকাশ করা যাবে।
প্রোগ্রাম্যাটিকভাবে গ্রুপ তৈরি করুন
রিমোট কনফিগ REST API প্যারামিটার গ্রুপ তৈরি এবং প্রকাশ করার একটি স্বয়ংক্রিয় উপায় প্রদান করে। যদি আপনি REST সম্পর্কে পরিচিত হন এবং API-তে অনুরোধ অনুমোদনের জন্য প্রস্তুত থাকেন, তাহলে আপনি প্রোগ্রাম্যাটিকভাবে গ্রুপগুলি পরিচালনা করতে এই পদক্ষেপগুলি অনুসরণ করতে পারেন:
- বর্তমান টেমপ্লেটটি পুনরুদ্ধার করুন
- আপনার প্যারামিটার গ্রুপগুলিকে উপস্থাপন করতে JSON অবজেক্ট যোগ করুন
- একটি HTTP PUT অনুরোধ ব্যবহার করে প্যারামিটার গ্রুপগুলো প্রকাশ করুন।
parameterGroups অবজেক্টটিতে গ্রুপ কী, একটি নেস্টেড বিবরণ এবং গ্রুপ করা প্যারামিটারগুলোর তালিকা থাকে। উল্লেখ্য যে, প্রতিটি গ্রুপ কী অবশ্যই বিশ্বব্যাপী অনন্য হতে হবে।
উদাহরণস্বরূপ, এখানে একটি টেমপ্লেট সংশোধনের অংশবিশেষ দেওয়া হলো, যেখানে 'new menu' নামক প্যারামিটার গ্রুপটি pumpkin_spice_season নামক একটি প্যারামিটারসহ যোগ করা হয়েছে:
{
"parameters": {},
"version": {
"versionNumber": "1",
…
},
"parameterGroups": {
"new menu": {
"description": "New Menu",
"parameters": {
"pumpkin_spice_season": {
"defaultValue": {
"value": "true"
},
"description": "Whether it's pumpkin spice season."
}
}
}
}
}কাস্টম সংকেত শর্তাবলী
কাস্টম সিগন্যাল কন্ডিশনাল ভ্যালু ব্যবহার করে, আপনি আপনার অ্যাপ্লিকেশনে সংজ্ঞায়িত ও প্রেরিত যেকোনো সিগন্যালকে Remote Config -এর সিগন্যালের উপর ভিত্তি করে তৈরি করা শর্তের সাথে মেলাতে পারেন। এটি আপনাকে অ্যাপ বা ক্লায়েন্ট-সাইডের অভিজ্ঞতাকে নিজের মতো করে সাজিয়ে নিতে সাহায্য করে।
নিম্নলিখিত ক্লায়েন্ট পরিবেশগুলির জন্য কাস্টম সিগন্যাল শর্তাবলী উপলব্ধ রয়েছে:
- iOS: v11.8.0 বা তার উচ্চতর সংস্করণ
- অ্যান্ড্রয়েড: v22.1.0 বা উচ্চতর (ফায়ারবেস BoM v33.8.0 বা উচ্চতর)
- ওয়েব: v11.2.0 বা উচ্চতর
- ফ্লাটার: ফ্লাটার BoM সংস্করণ ৩.৬.০ বা তার উচ্চতর
উদাহরণস্বরূপ, ধরুন আপনি একটি টিকেটিং অ্যাপ নিয়ে কাজ করছেন যেখানে আপনি হোম স্ক্রিনে একটি ব্যানার প্রদর্শন করতে চান। ব্যবহারকারীর অবস্থান এবং আগ্রহের উপর ভিত্তি করে এই ব্যানারগুলিকে ব্যক্তিগতকৃত করতে আপনি ক্লায়েন্ট-সাইড কাস্টম সিগন্যাল কন্ডিশন ব্যবহার করতে পারেন। আপনি নিম্নলিখিত কাজগুলো করতে পারেন:
- আপনার Remote Config ক্লায়েন্ট টেমপ্লেটে
banner_image_urlএবংbanner_linkযোগ করুন। এগুলো ব্যানারের ছবি এবং এই ছবির সাথে যুক্ত ইভেন্ট পেজকে নির্দেশ করে। - আপনার অ্যাপ থেকে
cityএবংpreferred_event_categoryভ্যালুগুলো দিয়ে কাস্টম সিগন্যাল সেট করুন। - আপনার ক্লায়েন্ট-নির্দিষ্ট Remote Config টেমপ্লেটে ডিফল্ট মান যোগ করুন এবং পূর্ববর্তী ধাপে সেট করা কাস্টম সিগন্যালগুলোর উপর ভিত্তি করে শর্তসাপেক্ষ মান তৈরি করুন।
- আপনার ক্লায়েন্ট-নির্দিষ্ট Remote Config টেমপ্লেটে ডিফল্ট মান এবং আপনার সংজ্ঞায়িত প্রতিটি শর্তের জন্য শর্তাধীন মান যোগ করুন।
- কাস্টম সিগন্যাল কন্ডিশনগুলো সেট ও ব্যবহার করার জন্য আপনার অ্যাপ্লিকেশন কোড আপডেট করুন।
এখন, আপনার অ্যাপ Remote Config সার্ভার থেকে এই প্যারামিটারগুলো সংগ্রহ করার সময় উপযুক্ত banner_image_url এবং banner_link ডাউনলোড করতে পারবে।
সীমা
কাস্টম সিগন্যাল কন্ডিশন তৈরি করার সময়, আপনাকে অবশ্যই নিম্নলিখিত সীমাগুলো মেনে চলতে হবে:
- কাস্টম সিগন্যালের সংখ্যা: আপনি প্রতিটি অ্যাপ ইনস্ট্যান্সের জন্য সর্বোচ্চ ১০০টি কাস্টম সিগন্যাল তৈরি করতে পারেন। কোনো কাস্টম সিগন্যালের মান null সেট করে আপনি সেটিকে নিষ্ক্রিয় করতে পারেন।
- কাস্টম সিগন্যাল নাম: প্রতিটি কাস্টম সিগন্যাল নামে সর্বোচ্চ ২৫০টি অক্ষর থাকতে পারে।
- কাস্টম সিগন্যাল ভ্যালু: প্রতিটি কাস্টম সিগন্যাল ভ্যালুতে সর্বোচ্চ ৫০০টি অক্ষর থাকতে পারে। রেগুলার এক্সপ্রেশন ব্যবহার করার ক্ষেত্রে এই সীমা ২৫০টি অক্ষর।
শর্ত নিয়মের প্রকারভেদ
Firebase কনসোলে নিম্নলিখিত নিয়মের প্রকারগুলি সমর্থিত। Remote Config REST API-তে সমতুল্য বৈশিষ্ট্যগুলি উপলব্ধ, যেমনটি কন্ডিশনাল এক্সপ্রেশন রেফারেন্সে বিস্তারিতভাবে বর্ণনা করা হয়েছে।
| নিয়মের ধরণ | অপারেটর(গণ) | মান(গুলি) | দ্রষ্টব্য |
| অ্যাপ | == | আপনার ফায়ারবেস প্রজেক্টের সাথে যুক্ত অ্যাপগুলোর অ্যাপ আইডি-র তালিকা থেকে নির্বাচন করুন। | যখন আপনি Firebase-এ কোনো অ্যাপ যোগ করেন, তখন আপনাকে একটি বান্ডেল আইডি বা অ্যান্ড্রয়েড প্যাকেজ নেম লিখতে হয়, যা এমন একটি অ্যাট্রিবিউটকে সংজ্ঞায়িত করে, যা Remote Config রুলসে অ্যাপ আইডি হিসেবে প্রকাশিত হয়। এই অ্যাট্রিবিউটটি নিম্নরূপে ব্যবহার করুন:
|
| অ্যাপ সংস্করণ | স্ট্রিং মানের জন্য: হুবহু মিলে যায়, ধারণ করে, ধারণ করে না, রেজেক্স ধারণ করে সংখ্যাসূচক মানের জন্য: <, <=, =, !=, >, >= | আপনার অ্যাপের যে সংস্করণ(গুলি)কে লক্ষ্য করতে চান, তা নির্দিষ্ট করুন। এই নিয়মটি ব্যবহার করার আগে, আপনাকে অবশ্যই একটি অ্যাপ আইডি নিয়ম ব্যবহার করে আপনার ফায়ারবেস প্রজেক্টের সাথে যুক্ত একটি অ্যান্ড্রয়েড/অ্যাপল অ্যাপ নির্বাচন করতে হবে। | অ্যাপল প্ল্যাটফর্মের জন্য: অ্যাপটির CFBundleShortVersionString ব্যবহার করুন। দ্রষ্টব্য: নিশ্চিত করুন যে আপনার Apple অ্যাপটি Firebase Apple প্ল্যাটফর্ম SDK সংস্করণ 6.24.0 বা তার উচ্চতর সংস্করণ ব্যবহার করছে, কারণ পূর্ববর্তী সংস্করণগুলিতে CFBundleShortVersionString পাঠানো হয় না ( রিলিজ নোট দেখুন)। অ্যান্ড্রয়েডের জন্য: অ্যাপটির versionName ব্যবহার করুন। এই নিয়মের ক্ষেত্রে স্ট্রিং তুলনা কেস-সেনসিটিভ। 'exactly matches' , ' contains ', 'does not contain' , বা 'contains' রেজেক্স অপারেটর ব্যবহার করার সময়, আপনি একাধিক মান নির্বাচন করতে পারেন। `contains` রেজেক্স অপারেটর ব্যবহার করে আপনি RE2 ফরম্যাটে রেগুলার এক্সপ্রেশন তৈরি করতে পারেন। আপনার রেগুলার এক্সপ্রেশনটি টার্গেট ভার্সন স্ট্রিং-এর সম্পূর্ণ বা আংশিক অংশের সাথে মিলতে পারে। এছাড়াও, আপনি টার্গেট স্ট্রিং-এর শুরু, শেষ বা সম্পূর্ণ অংশের সাথে মেলানোর জন্য ` ^` এবং `$` অ্যাঙ্কর ব্যবহার করতে পারেন। |
| বিল্ড নম্বর | স্ট্রিং মানের জন্য: হুবহু মিলে যায়, ধারণ করে, ধারণ করে না, নিয়মিত অভিব্যক্তি সংখ্যাসূচক মানের জন্য: =, ≠, >, ≥, <, ≤ | আপনার অ্যাপের যে বিল্ড(গুলি)কে টার্গেট করতে চান, তা নির্দিষ্ট করুন। এই নিয়মটি ব্যবহার করার আগে, আপনাকে অবশ্যই একটি অ্যাপ আইডি নিয়ম ব্যবহার করে আপনার ফায়ারবেস প্রজেক্টের সাথে যুক্ত একটি অ্যাপল বা অ্যান্ড্রয়েড অ্যাপ নির্বাচন করতে হবে। | এই অপারেটরটি শুধুমাত্র অ্যাপল এবং অ্যান্ড্রয়েড অ্যাপের জন্য উপলব্ধ। এটি অ্যাপলের ক্ষেত্রে অ্যাপের CFBundleVersion এবং অ্যান্ড্রয়েডের ক্ষেত্রে versionCode-এর সাথে সঙ্গতিপূর্ণ। এই নিয়মের জন্য স্ট্রিং তুলনা কেস-সেনসিটিভ। exactly matches , contains , does not contain , বা contains রেজেক্স অপারেটর ব্যবহার করার সময়, আপনি একাধিক মান নির্বাচন করতে পারেন। `contains` রেজেক্স অপারেটর ব্যবহার করে আপনি RE2 ফরম্যাটে রেগুলার এক্সপ্রেশন তৈরি করতে পারেন। আপনার রেগুলার এক্সপ্রেশনটি টার্গেট ভার্সন স্ট্রিং-এর সম্পূর্ণ বা আংশিক অংশের সাথে মিলতে পারে। এছাড়াও, আপনি টার্গেট স্ট্রিং-এর শুরু, শেষ বা সম্পূর্ণ অংশের সাথে মেলানোর জন্য ` ^` এবং `$` অ্যাঙ্কর ব্যবহার করতে পারেন। |
| প্ল্যাটফর্ম | == | আইওএস অ্যান্ড্রয়েড ওয়েব | |
| অপারেটিং সিস্টেম | == | যে অপারেটিং সিস্টেম(গুলি)কে লক্ষ্য করতে চান তা নির্দিষ্ট করুন। এই নিয়মটি ব্যবহার করার আগে, আপনাকে অবশ্যই একটি অ্যাপ আইডি নিয়ম ব্যবহার করে আপনার ফায়ারবেস প্রজেক্টের সাথে যুক্ত একটি ওয়েব অ্যাপ নির্বাচন করতে হবে। | এই নিয়মটি কোনো নির্দিষ্ট ওয়েব অ্যাপ ইনস্ট্যান্সের জন্য true বলে বিবেচিত হবে, যদি অপারেটিং সিস্টেম এবং এর সংস্করণ নির্দিষ্ট তালিকার কোনো লক্ষ্য মানের সাথে মিলে যায়। |
| ব্রাউজার | == | যে ব্রাউজার(গুলি)কে লক্ষ্য করতে চান তা নির্দিষ্ট করুন। এই নিয়মটি ব্যবহার করার আগে, আপনাকে অবশ্যই একটি অ্যাপ আইডি নিয়ম ব্যবহার করে আপনার ফায়ারবেস প্রজেক্টের সাথে যুক্ত একটি ওয়েব অ্যাপ নির্বাচন করতে হবে। | কোনো নির্দিষ্ট ওয়েব অ্যাপ ইনস্ট্যান্সের ক্ষেত্রে এই নিয়মটি true বলে গণ্য হবে, যদি ব্রাউজার এবং তার সংস্করণ নির্দিষ্ট তালিকার কোনো লক্ষ্য মানের সাথে মিলে যায়। |
| ডিভাইসের বিভাগ | আছে, নেই | মোবাইল | এই নিয়মটি মূল্যায়ন করে যে আপনার ওয়েব অ্যাপ অ্যাক্সেসকারী ডিভাইসটি মোবাইল নাকি নন-মোবাইল (ডেস্কটপ বা কনসোল)। এই ধরনের নিয়ম শুধুমাত্র ওয়েব অ্যাপের জন্য উপলব্ধ। |
| ভাষা | ভিতরে আছে | এক বা একাধিক ভাষা নির্বাচন করুন। | এই নিয়মটি কোনো নির্দিষ্ট অ্যাপ ইনস্ট্যান্সের জন্য true বলে বিবেচিত হবে, যদি সেই অ্যাপ ইনস্ট্যান্সটি তালিকাভুক্ত ভাষাগুলোর মধ্যে কোনো একটি ব্যবহারকারী ডিভাইসে ইনস্টল করা থাকে। |
| দেশ/অঞ্চল | ভিতরে আছে | এক বা একাধিক অঞ্চল বা দেশ নির্বাচন করুন। | এই নিয়মটি একটি নির্দিষ্ট অ্যাপ ইনস্ট্যান্সের জন্য true বলে বিবেচিত হবে, যদি ইনস্ট্যান্সটি তালিকাভুক্ত কোনো অঞ্চল বা দেশে থাকে। ডিভাইসের কান্ট্রি কোডটি অনুরোধে থাকা ডিভাইসের আইপি অ্যাড্রেস ব্যবহার করে অথবা ফায়ারবেস অ্যানালিটিক্স দ্বারা নির্ধারিত কান্ট্রি কোড ব্যবহার করে নির্ণয় করা হয় (যদি অ্যানালিটিক্স ডেটা ফায়ারবেসের সাথে শেয়ার করা হয়)। |
| ব্যবহারকারী দর্শক(গণ) | অন্তত একটি অন্তর্ভুক্ত | আপনার প্রোজেক্টের জন্য সেট আপ করা Google Analytics অডিয়েন্সের তালিকা থেকে এক বা একাধিক নির্বাচন করুন। | এই নিয়মটি আপনার ফায়ারবেস প্রজেক্টের সাথে যুক্ত একটি অ্যাপ নির্বাচন করার জন্য একটি অ্যাপ আইডি নিয়মের প্রয়োজন। দ্রষ্টব্য: যেহেতু অনেক Analytics অডিয়েন্স ইভেন্ট বা ব্যবহারকারীর বৈশিষ্ট্যের উপর ভিত্তি করে সংজ্ঞায়িত করা হয়, যা অ্যাপ ব্যবহারকারীদের কার্যকলাপের উপর নির্ভর করতে পারে, তাই একটি নির্দিষ্ট অ্যাপ ইনস্ট্যান্সের জন্য অডিয়েন্স নিয়মে থাকা কোনো ব্যবহারকারীর কার্যকর হতে কিছুটা সময় লাগতে পারে। |
| ব্যবহারকারীর সম্পত্তি | স্ট্রিং মানের জন্য: ধারণ করে, ধারণ করে না, হুবহু মিলে যায়, রেজেক্স ধারণ করে সংখ্যাসূচক মানের জন্য: =, ≠, >, ≥, <, ≤ দ্রষ্টব্য: ক্লায়েন্টে, আপনি ইউজার প্রপার্টির জন্য শুধুমাত্র স্ট্রিং ভ্যালু সেট করতে পারবেন। যেসব কন্ডিশনে নিউমেরিক অপারেটর ব্যবহৃত হয়, Remote Config সংশ্লিষ্ট ইউজার প্রপার্টির ভ্যালুকে একটি ইন্টিজার/ফ্লোটে রূপান্তর করে। | উপলব্ধ Google Analytics ব্যবহারকারী বৈশিষ্ট্যগুলির তালিকা থেকে নির্বাচন করুন। | আপনার ব্যবহারকারী গোষ্ঠীর খুব নির্দিষ্ট অংশের জন্য কীভাবে ইউজার প্রোপার্টি ব্যবহার করে আপনার অ্যাপকে কাস্টমাইজ করতে পারেন, তা জানতে Remote Config এবং ইউজার প্রোপার্টি দেখুন। ব্যবহারকারীর বৈশিষ্ট্য সম্পর্কে আরও জানতে, নিম্নলিখিত নির্দেশিকাগুলি দেখুন: 'exactly matches ', ' contains ', ' does not contain ' বা 'contains' রেজেক্স অপারেটর ব্যবহার করার সময়, আপনি একাধিক মান নির্বাচন করতে পারেন। `contains` রেজেক্স অপারেটর ব্যবহার করে আপনি RE2 ফরম্যাটে রেগুলার এক্সপ্রেশন তৈরি করতে পারেন। আপনার রেগুলার এক্সপ্রেশনটি টার্গেট ভার্সন স্ট্রিং-এর সম্পূর্ণ বা আংশিক অংশের সাথে মিলতে পারে। এছাড়াও, আপনি টার্গেট স্ট্রিং-এর শুরু, শেষ বা সম্পূর্ণ অংশের সাথে মেলানোর জন্য ` ^` এবং `$` অ্যাঙ্কর ব্যবহার করতে পারেন। দ্রষ্টব্য: Remote Config শর্ত তৈরি করার সময় স্বয়ংক্রিয়ভাবে সংগৃহীত ব্যবহারকারী বৈশিষ্ট্যগুলি উপলব্ধ থাকে না। |
| ব্যবহারকারী এলোমেলো শতাংশে | স্লাইডার (ফায়ারবেস কনসোলে। REST API-তে <= , > , এবং between অপারেটরগুলো ব্যবহৃত হয়)। | ০-১০০ | এই ফিল্ডটি ব্যবহার করে অ্যাপ ইনস্ট্যান্সের একটি র্যান্ডম স্যাম্পলে (স্যাম্পলের আকার .০০০১% এর মতো ছোট হলেও) কোনো পরিবর্তন প্রয়োগ করুন এবং স্লাইডার উইজেট ব্যবহার করে এলোমেলোভাবে সাজানো ব্যবহারকারীদের (অ্যাপ ইনস্ট্যান্স) বিভিন্ন গ্রুপে বিভক্ত করুন। প্রতিটি অ্যাপ ইনস্ট্যান্সকে সেই প্রজেক্টে সংজ্ঞায়িত একটি সিড অনুসারে একটি র্যান্ডম পূর্ণ বা ভগ্নাংশ সংখ্যার সাথে স্থায়ীভাবে ম্যাপ করা হয়। আপনি সিড ভ্যালুটি পরিবর্তন না করলে, একটি রুল ডিফল্ট কী ব্যবহার করবে (যা Firebase কনসোলে ' এডিট সিড ' হিসেবে দেখানো হয়)। 'সিড' ফিল্ডটি খালি করে আপনি রুলটিকে আবার ডিফল্ট কী ব্যবহারে ফিরিয়ে আনতে পারেন। প্রদত্ত শতাংশ পরিসরের মধ্যে ধারাবাহিকভাবে একই অ্যাপ ইনস্ট্যান্সগুলিকে সম্বোধন করতে, সমস্ত শর্ত জুড়ে একই সীড মান ব্যবহার করুন। অথবা, একটি নতুন সীড নির্দিষ্ট করে একটি প্রদত্ত শতাংশ পরিসরের জন্য অ্যাপ ইনস্ট্যান্সগুলির একটি নতুন এলোমেলোভাবে নির্ধারিত গোষ্ঠী নির্বাচন করুন। উদাহরণস্বরূপ, দুটি সম্পর্কিত শর্ত তৈরি করতে, যেগুলোর প্রতিটি একটি অ্যাপের ব্যবহারকারীদের এমন ৫% অংশের উপর প্রযোজ্য হবে যারা একে অপরের সাথে ওভারল্যাপ করবে না, আপনি একটি শর্তকে ০% থেকে ৫% এর মধ্যে একটি শতাংশের সাথে মেলানোর জন্য এবং অন্য শর্তটিকে ৫% থেকে ১০% এর মধ্যে একটি পরিসরের সাথে মেলানোর জন্য কনফিগার করতে পারেন। কিছু ব্যবহারকারীকে এলোমেলোভাবে উভয় গ্রুপে অন্তর্ভুক্ত করার সুযোগ দিতে, প্রতিটি শর্তের ভেতরের নিয়মগুলোর জন্য ভিন্ন ভিন্ন সিড ভ্যালু ব্যবহার করুন। |
| আমদানিকৃত অংশ | ভিতরে আছে | এক বা একাধিক আমদানিকৃত সেগমেন্ট নির্বাচন করুন। | এই নিয়মটির জন্য কাস্টম ইম্পোর্টেড সেগমেন্ট সেট আপ করা প্রয়োজন। |
| তারিখ/সময় | আগে, পরে | একটি নির্দিষ্ট তারিখ ও সময়, যা ডিভাইসের টাইমজোনে অথবা কোনো নির্দিষ্ট টাইমজোনে হতে পারে, যেমন "(GMT+11) সিডনি টাইম"। | বর্তমান সময়ের সাথে ডিভাইস থেকে ডেটা আনার সময়ের তুলনা করা হয়। |
| প্রথম খোলা | আগে, পরে | একটি নির্দিষ্ট তারিখ ও সময়, নির্দিষ্ট টাইমজোনে। | নির্দিষ্ট সময়সীমার মধ্যে যারা প্রথমবার নির্দিষ্ট অ্যাপটি খোলে, তাদের খুঁজে বের করে। নিম্নলিখিত SDK-গুলো প্রয়োজন:
|
| ইনস্টলেশন আইডি | ভিতরে আছে | লক্ষ্য করার জন্য এক বা একাধিক (সর্বোচ্চ ৫০টি) ইনস্টলেশন আইডি নির্দিষ্ট করুন। | এই নিয়মটি কোনো নির্দিষ্ট ইনস্টলেশনের জন্য true বলে বিবেচিত হবে, যদি সেই ইনস্টলেশনের আইডিটি কমা দ্বারা পৃথক করা মানগুলির তালিকায় থাকে।কীভাবে ইনস্টলেশন আইডি পেতে পারেন তা জানতে, ‘ক্লায়েন্ট শনাক্তকারী পুনরুদ্ধার করুন’ দেখুন। |
| ব্যবহারকারী বিদ্যমান | (কোন অপারেটর নেই) | বর্তমান প্রকল্পের অন্তর্গত সমস্ত অ্যাপের সকল ব্যবহারকারীকে লক্ষ্য করে। | অ্যাপ বা প্ল্যাটফর্ম নির্বিশেষে, প্রোজেক্টের অন্তর্গত সকল ব্যবহারকারীকে মেলানোর জন্য এই শর্ত নিয়মটি ব্যবহার করুন। |
| কাস্টম সংকেত | স্ট্রিং মানের জন্য: ধারণ করে, ধারণ করে না, হুবহু মিলে যায়, রেজেক্স ধারণ করে সংখ্যাসূচক মানের জন্য: =, ≠, >, ≥, <, ≤ সংস্করণ মানগুলির জন্য: =, ≠, >, ≥, <, ≤ | এই নিয়মের জন্য স্ট্রিং তুলনা কেস-সেনসিটিভ। এক্স্যাক্টলি ম্যাচ, কন্টেইন, ডাজ নট কন্টেইন, বা কন্টেইন রেজেক্স অপারেটর ব্যবহার করার সময়, আপনি একাধিক মান নির্বাচন করতে পারেন। কন্টেইন রেজেক্স অপারেটর ব্যবহার করার সময়, আপনি RE2 ফরম্যাটে রেগুলার এক্সপ্রেশন তৈরি করতে পারেন। আপনার রেগুলার এক্সপ্রেশন টার্গেট ভার্সন স্ট্রিং-এর সম্পূর্ণ বা আংশিক অংশের সাথে মিলতে পারে। এছাড়াও আপনি একটি টার্গেট স্ট্রিং-এর শুরু, শেষ বা সম্পূর্ণ অংশের সাথে মিলানোর জন্য ^ এবং $ অ্যাঙ্কর ব্যবহার করতে পারেন। ক্লায়েন্ট পরিবেশের জন্য নিম্নলিখিত ডেটা টাইপগুলি সমর্থিত:
যে সংখ্যাটি মেলাতে হবে এমন সংস্করণ নম্বর(গুলি) নির্দেশ করে (উদাহরণস্বরূপ, ২.১.০)। | কাস্টম সিগন্যাল কন্ডিশন এবং ব্যবহারযোগ্য কন্ডিশনাল এক্সপ্রেশন সম্পর্কে আরও তথ্যের জন্য, কাস্টম সিগন্যাল কন্ডিশন এবং কন্ডিশন তৈরিতে ব্যবহৃত উপাদানসমূহ দেখুন। |
অনুসন্ধানের পরামিতি এবং শর্তাবলী
আপনি Firebase কনসোলের Remote Config প্যারামিটারস' ট্যাবের উপরের সার্চ বক্সটি ব্যবহার করে আপনার প্রোজেক্টের প্যারামিটার কী, প্যারামিটার ভ্যালু এবং কন্ডিশনগুলো সার্চ করতে পারেন।
প্যারামিটার এবং শর্তাবলীর উপর সীমাবদ্ধতা
একটি Firebase প্রোজেক্টের মধ্যে আপনি সর্বোচ্চ ৩০০০টি প্যারামিটার এবং সর্বোচ্চ ২০০০টি কন্ডিশন রাখতে পারেন। প্যারামিটার কী (key) সর্বোচ্চ ২৫৬ অক্ষর পর্যন্ত দীর্ঘ হতে পারে, অবশ্যই একটি আন্ডারস্কোর বা ইংরেজি অক্ষর (AZ, az) দিয়ে শুরু হতে হবে এবং এতে সংখ্যাও অন্তর্ভুক্ত থাকতে পারে। একটি প্রোজেক্টের মধ্যে প্যারামিটার ভ্যালু স্ট্রিংগুলোর মোট দৈর্ঘ্য ১০,০০,০০০ অক্ষরের বেশি হতে পারবে না।
প্যারামিটার এবং শর্তাবলীর পরিবর্তনগুলি দেখুন
আপনি Firebase কনসোল থেকে আপনার Remote Config টেমপ্লেটগুলির সর্বশেষ পরিবর্তনগুলি দেখতে পারেন। প্রতিটি স্বতন্ত্র প্যারামিটার এবং শর্তের জন্য, আপনি যা করতে পারেন:
যে ব্যবহারকারী সর্বশেষ প্যারামিটার বা শর্তটি পরিবর্তন করেছেন, তার নাম দেখুন।
যদি পরিবর্তনটি একই দিনের মধ্যে ঘটে থাকে, তাহলে সক্রিয় Remote Config টেমপ্লেটে পরিবর্তনটি প্রকাশিত হওয়ার পর থেকে কত মিনিট বা ঘন্টা অতিবাহিত হয়েছে তা দেখুন।
যদি পরিবর্তনটি এক বা একাধিক দিন আগে ঘটে থাকে, তাহলে সক্রিয় Remote Config টেমপ্লেটে পরিবর্তনটি প্রকাশিত হওয়ার তারিখটি দেখুন।
প্যারামিটারগুলির পরিবর্তনের ইতিহাস
Remote Config প্যারামিটারস পেইজে, 'লাস্ট পাবলিশড' কলামটি প্রতিটি প্যারামিটার পরিবর্তনকারী সর্বশেষ ব্যবহারকারী এবং পরিবর্তনটির সর্বশেষ প্রকাশের তারিখ দেখায়:
গ্রুপভুক্ত প্যারামিটারগুলোর পরিবর্তন মেটাডেটা দেখতে, প্যারামিটার গ্রুপটি প্রসারিত করুন।
প্রকাশের তারিখ অনুসারে আরোহী বা অবরোহী ক্রমে সাজাতে, 'সর্বশেষ প্রকাশিত ' কলাম লেবেলটিতে ক্লিক করুন।
শর্তাবলীর জন্য ইতিহাস পরিবর্তন করুন
Remote Config কন্ডিশনস পেজে, প্রতিটি কন্ডিশনের নিচে 'লাস্ট মডিফায়েড'- এর পাশে আপনি দেখতে পাবেন কোন ব্যবহারকারী সর্বশেষ কন্ডিশনটি পরিবর্তন করেছেন এবং পরিবর্তনের তারিখ।