এই পৃষ্ঠায় Remote Config ব্যাকএন্ড এপিআই অথবা Firebase কনসোল ব্যবহার করে শর্তসাপেক্ষ এক্সপ্রেশন তৈরির জন্য প্রয়োজনীয় তথ্য রয়েছে। ব্যাকএন্ড এপিআই সেট আপ এবং ব্যবহার সম্পর্কে আরও তথ্যের জন্য, “প্রোগ্রাম্যাটিকভাবে রিমোট কনফিগ পরিবর্তন করুন” দেখুন।
শর্ত তৈরি করতে ব্যবহৃত উপাদানসমূহ
Remote Config REST API সেই একই উপাদানগুলো সমর্থন করে, যা আপনি ফায়ারবেস কনসোল ব্যবহার করে Remote Config কনফিগার করার সময় শর্ত তৈরি করতে ব্যবহার করতে পারেন:
| উপাদান | বর্ণনা |
|---|---|
&& | কোনো শর্তের জন্য একাধিক উপাদান ব্যবহার করার ক্ষেত্রে, উপাদানগুলোর একটি যৌক্তিক 'এবং' (and) তৈরি করতে এটি ব্যবহৃত হয়। যদি কোনো উপাদান REST সিনট্যাক্সে দ্রষ্টব্য: অ্যামপারস্যান্ডের আগে ও পরে একটি স্পেস দিতে হবে। উদাহরণস্বরূপ: |
app.build | অ্যাপের বিল্ড নম্বরের মানের উপর ভিত্তি করে দ্রষ্টব্য: শুধুমাত্র অ্যাপল এবং অ্যান্ড্রয়েড ডিভাইসে উপলব্ধ। অ্যাপলের জন্য CFBundleVersion- এর মান এবং অ্যান্ড্রয়েডের জন্য versionCode- এর মান ব্যবহার করুন। |
app.version | অ্যাপের ভার্সন নম্বরের মানের উপর ভিত্তি করে এর মান দ্রষ্টব্য: অ্যান্ড্রয়েড ডিভাইসের জন্য versionName- এর মান এবং অ্যাপল ডিভাইসের জন্য CFBundleShortVersionString- এর মান ব্যবহার করুন। |
app.id | অ্যাপটির ফায়ারবেস অ্যাপ আইডির উপর ভিত্তি করে একটি উপাদান |
app.audiences | এমন একটি উপাদান যা এক বা একাধিক Firebase Analytics অডিয়েন্সে ব্যবহারকারীর উপস্থিতি বা অনুপস্থিতির উপর ভিত্তি করে TRUE বা FALSE হিসেবে নির্ধারিত হয়। |
app.firstOpenTimestamp | ব্যবহারকারীর প্রথমবার অ্যাপ চালু করার সময়ের উপর ভিত্তি করে একটি উপাদান, যা Google Analytics first_open ইভেন্ট থেকে পাওয়া যায়। এটি ISO ডেট ফরম্যাট ব্যবহার করে এবং একটি নির্দিষ্ট টাইম জোন উল্লেখ করার বিকল্প থাকে; উদাহরণস্বরূপ, app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') । যদি কোনো টাইম জোন উল্লেখ না করা হয়, তাহলে GMT ব্যবহৃত হয়। |
app.userProperty | এমন একটি উপাদান যা Google Analytics ইউজার প্রপার্টির সাংখ্যিক বা স্ট্রিং মানের উপর ভিত্তি করে TRUE বা FALSE হিসেবে নির্ধারিত হয়। |
app.operatingSystemAndVersion | অ্যাপটি যে অপারেটিং সিস্টেমে চলছে, তার উপর ভিত্তি করে একটি উপাদান। যখন ওএস এবং ওএস সংস্করণ নির্দিষ্ট লক্ষ্যের সাথে মিলে যায়, তখন এর মান দ্রষ্টব্য: শুধুমাত্র ওয়েব অ্যাপের জন্য উপলব্ধ। |
app.browserAndVersion | যে ব্রাউজারে অ্যাপটি চলছে, তার উপর ভিত্তি করে গঠিত একটি এলিমেন্ট। যখন ব্রাউজার এবং ব্রাউজারের সংস্করণ নির্দিষ্ট টার্গেটের সাথে মিলে যায়, তখন এর মান দ্রষ্টব্য: শুধুমাত্র ওয়েব অ্যাপের জন্য উপলব্ধ। |
app.firebaseInstallationId | নির্দিষ্ট ডিভাইস ইনস্টলেশনগুলোর আইডি-র উপর ভিত্তি করে গঠিত একটি উপাদান। যখন ইনস্টলেশন আইডিটি নির্দিষ্ট ইনস্টলেশন আইডিগুলোর কোনো একটির সাথে মিলে যায়, তখন এর মান TRUE হয়। |
app.customSignal | এমন একটি উপাদান যা কাস্টম সিগন্যাল শর্তগুলির সাংখ্যিক, অর্থগত বা স্ট্রিং মানের উপর ভিত্তি করে TRUE বা FALSE হিসেবে মূল্যায়ন করা হয়। |
device.country | ডিভাইসটি যে অঞ্চল/দেশে অবস্থিত, তার উপর ভিত্তি করে একটি উপাদান, যা ISO 3166-1 alpha-2 স্ট্যান্ডার্ড ব্যবহার করে (উদাহরণস্বরূপ, মার্কিন যুক্তরাষ্ট্র বা যুক্তরাজ্য)। যখন কোনো দেশ প্রত্যাশিত কান্ট্রি কোডের সাথে মিলে যায়, তখন এর মান TRUE । |
device.dateTime | ডিভাইস দ্বারা সম্পাদিত সর্বশেষ ডেটা ফেচের সময়ের উপর ভিত্তি করে একটি এলিমেন্ট। এটি ISO ডেট ফরম্যাট ব্যবহার করে এবং একটি নির্দিষ্ট টাইম জোন উল্লেখ করার অপশন থাকে; উদাহরণস্বরূপ, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') । |
device.language | ডিভাইসে নির্বাচিত ভাষার উপর ভিত্তি করে গঠিত একটি উপাদান। ভাষাটি es-ES, pt-BR, বা en-US-এর মতো একটি IETF ল্যাঙ্গুয়েজ ট্যাগ ব্যবহার করে প্রকাশ করা হয়। যখন কোনো ভাষা প্রত্যাশিত ল্যাঙ্গুয়েজ কোডের সাথে মিলে যায়, তখন এর মান TRUE |
device.os | ডিভাইসে ব্যবহৃত অপারেটিং সিস্টেমের (অ্যাপল বা অ্যান্ড্রয়েড) উপর ভিত্তি করে তৈরি একটি এলিমেন্ট। ডিভাইসের ওএস প্রত্যাশিত ধরনের হলে এর মান TRUE । |
percent | দৈবচয়নের ভিত্তিতে নির্ধারিত একটি ভগ্নাংশ শতাংশে (নমুনার আকার ০.০০০০০১%-এর মতো ক্ষুদ্র হলেও) কোনো ব্যবহারকারীর অন্তর্ভুক্তির ওপর ভিত্তি করে এটি TRUE বিবেচিত হয়। |
একটি একক-উপাদান শর্তে তিনটি ক্ষেত্র থাকে:
- যথেচ্ছভাবে নির্ধারিত একটি
name(সর্বোচ্চ ১০০ অক্ষর) - একটি শর্তাধীন এক্সপ্রেশন যা
TRUEবাFALSEমানে দাঁড়ায় এবং যা উপরে দেখানো উপাদানগুলো দিয়ে গঠিত। - (ঐচ্ছিক)
tagColor), যা হতে পারে "BLUE", "BROWN", "CYAN", "DEEP_ORANGE", "GREEN", "INDIGO", "LIME", "ORANGE", "PINK", "PURPLE", অথবা "TEAL"। রঙটি কেস-ইনসেনসিটিভ (case-insensitive), এবং এটি শুধুমাত্র Firebase console) কন্ডিশনগুলো কীভাবে প্রদর্শিত হবে তা প্রভাবিত করে।
সমর্থিত অপারেটররা
| উপাদান | সমর্থিত অপারেটররা | বর্ণনা |
|---|---|---|
app.audiences | .inAtLeastOne([...]) | প্রকৃত দর্শকের নাম তালিকার অন্তত একটি দর্শকের নামের সাথে মিলে গেলে app.audiences.inAtLeastOne(['Audience 1', 'Audience 2']) |
app.audiences | .notInAtLeastOne([...]) | প্রকৃত দর্শকের নাম তালিকার অন্তত একটি দর্শকের নামের সাথে না মিললে |
app.audiences | .inAll([...]) | প্রকৃত দর্শক যদি তালিকার প্রতিটি দর্শক নামের সদস্য হন, তাহলে |
app.audiences | .notInAll([...]) | প্রকৃত দর্শক যদি তালিকার কোনো দর্শকগোষ্ঠীর সদস্য না হন, তাহলে |
app.firstOpenTimestamp | <=, > | |
app.userProperty | < , <= , == , != , >= , > | যদি প্রকৃত ইউজার প্রপার্টিটি সংখ্যাগতভাবে নির্দিষ্ট মানের সাথে এমনভাবে তুলনীয় হয় যা অপারেটরের সাথে মেলে, তাহলে |
app.userProperty | .contains([...]) | যদি টার্গেট মানগুলোর কোনোটি প্রকৃত ব্যবহারকারী প্রপার্টির একটি সাবস্ট্রিং হয়, তাহলে |
app.userProperty | .notContains([...]) | যদি টার্গেট ভ্যালুগুলোর কোনোটিই প্রকৃত ইউজার প্রপার্টির সাবস্ট্রিং না হয়, তাহলে |
app.userProperty | .exactlyMatches([...]) | যদি প্রকৃত ব্যবহারকারী প্রপার্টিটি তালিকার যেকোনো টার্গেট ভ্যালুর সাথে হুবহু (কেস-সেনসিটিভ) মিলে যায়, তাহলে |
app.userProperty | .matches([...]) | তালিকার কোনো টার্গেট রেগুলার এক্সপ্রেশন যদি আসল মানের কোনো উপ-স্ট্রিং বা সম্পূর্ণ মানের সাথে মিলে যায়, তাহলে |
app.id | == | নির্দিষ্ট মানটি অ্যাপের অ্যাপ আইডির সাথে মিলে গেলে |
app.build | < , <= , == , != , >= , > | প্রকৃত অ্যাপ বিল্ডটি যদি সংখ্যাগতভাবে নির্দিষ্ট মানের সাথে এমনভাবে তুলনা করা হয় যা অপারেটরের সাথে মেলে, তাহলে |
app.build | .contains([...]) | যদি টার্গেট ভ্যালুগুলোর কোনোটি প্রকৃত অ্যাপ বিল্ডের একটি সাবস্ট্রিং হয়, তাহলে |
app.build | .notContains([...]) | যদি টার্গেট ভ্যালুগুলোর কোনোটিই প্রকৃত অ্যাপ বিল্ডের সাবস্ট্রিং না হয়, তাহলে | উদাহরণস্বরূপ, app.build | .exactlyMatches([...]) | প্রকৃত অ্যাপ বিল্ডটি তালিকার যেকোনো টার্গেট মানের সাথে হুবহু মিলে গেলে |
app.build | .matches([...]) | তালিকার কোনো টার্গেট রেগুলার এক্সপ্রেশন যদি আসল মানের কোনো উপ-স্ট্রিং বা সম্পূর্ণ মানের সাথে মিলে যায়, তাহলে |
app.version | < , <= , == , != , >= , > | প্রকৃত অ্যাপ সংস্করণটি যদি সংখ্যাগতভাবে নির্দিষ্ট মানের সাথে এমনভাবে মেলে যা অপারেটরের সাথে সামঞ্জস্যপূর্ণ, তাহলে |
app.version | .contains([...]) | যদি টার্গেট ভ্যালুগুলোর কোনোটি অ্যাপের আসল ভার্সনের সাবস্ট্রিং হয়, তাহলে |
app.version | .notContains([...]) | যদি টার্গেট ভ্যালুগুলোর কোনোটিই প্রকৃত অ্যাপ ভার্সনের সাবস্ট্রিং না হয়, তাহলে | উদাহরণস্বরূপ,
app.version | .exactlyMatches([...]) | অ্যাপের প্রকৃত সংস্করণটি তালিকার যেকোনো লক্ষ্য মানের সাথে হুবহু মিলে গেলে |
app.version | .matches([...]) | তালিকার কোনো টার্গেট রেগুলার এক্সপ্রেশন যদি আসল মানের কোনো উপ-স্ট্রিং বা সম্পূর্ণ মানের সাথে মিলে যায়, তাহলে |
app.operatingSystemAndVersion | .inOne([...]) | যদি OS এবং ভার্সন তালিকার যেকোনো টার্গেট মানের সাথে মিলে যায়, তাহলে
app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh')
.version.==('10.15')])
|
app.browserAndVersion | .inOne([...]) | যদি ব্রাউজার এবং ভার্সন তালিকার যেকোনো টার্গেট মানের সাথে মিলে যায়, তাহলে
app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
|
app.firebaseInstallationId | in [...] | ইনস্টলেশন আইডি তালিকার নির্দিষ্ট কোনোটির সাথে মিলে গেলে |
app.customSignal | < , <= , == , != , >= , > | কাস্টম সিগন্যাল শর্তটি যদি নির্দিষ্ট মানের সাথে সংখ্যাগতভাবে এমনভাবে তুলনা করা হয় যা অপারেটরের সাথে মেলে, তাহলে |
app.customSignal | .contains([...]) | যদি টার্গেট মানগুলোর কোনোটি প্রকৃত কাস্টম সিগন্যাল শর্তের একটি সাবস্ট্রিং হয়, তাহলে |
app.customSignal | .notContains([...]) | যদি টার্গেট মানগুলোর কোনোটি প্রকৃত কাস্টম সিগন্যাল শর্তের একটি সাবস্ট্রিং হয়, তাহলে |
app.customSignal | .exactlyMatches([...]) | যদি প্রকৃত কাস্টম সিগন্যাল শর্তটি তালিকার যেকোনো টার্গেট মানগুলির সাথে হুবহু (কেস-সেনসিটিভ) মিলে যায়, তাহলে |
app.customSignal | .matches([...]) | তালিকার কোনো টার্গেট রেগুলার এক্সপ্রেশন যদি প্রকৃত কাস্টম সিগন্যাল কন্ডিশনের কোনো উপ-স্ট্রিং বা সম্পূর্ণটির সাথে মিলে যায়, তাহলে |
version(app.customSignal) | < , <= , == , != , >= , > | কাস্টম সিগন্যাল শর্তটি যদি শব্দার্থগতভাবে নির্দিষ্ট মানের সাথে এমনভাবে তুলনা করা হয় যা অপারেটরের সাথে মেলে, তাহলে | device.country | in [...] | ডিভাইসের দেশ তালিকায় উল্লেখিত কোনো দেশের সাথে মিলে গেলে |
device.dateTime | <= , > | বর্তমান সময়কে শর্তের লক্ষ্য সময়ের সাথে তুলনা করে এবং অপারেটরের উপর ভিত্তি করে |
device.language | in [...] | অ্যাপের কোনো ভাষা তালিকার কোনো ভাষার সাথে মিলে গেলে |
device.os | == , != | ডিভাইসের অপারেটিং সিস্টেমের সাথে ওই ফিল্ডের মান অপারেটরের সাথে মিলে গেলে TRUE রিটার্ন করে। |
percent | <= , > , between | যদি কন্ডিশন রুল টাইপস -এ বর্ণিত একটি নির্দিষ্ট শতাংশ পরিসরের জন্য অ্যাপ ইনস্ট্যান্সের একটি নতুন এলোমেলোভাবে নির্ধারিত গ্রুপ নির্বাচন করতে আপনি একটি সিড নির্দিষ্ট করতে পারেন। এটি করার জন্য, অপারেটরের আগে সিডের নামটি দিন, যেমনটি নিচের উদাহরণে দেখানো হয়েছে: percent('keyName') <= 10 একটি নির্দিষ্ট রেঞ্জ কনফিগার করতে, আপনি percent between 20 and 60 কাস্টম সিড ব্যবহার করে ৬০ থেকে ৮০ জনের একটি ব্যবহারকারী পরিসর কনফিগার করতে: percent('seedName') between 60 and 80 |