রিমোট কনফিগারেশন শর্তাধীন এক্সপ্রেশন রেফারেন্স

এই পৃষ্ঠায় Remote Config ব্যাকএন্ড API অথবা Firebase কনসোল ব্যবহার করে কন্ডিশনাল এক্সপ্রেশন তৈরির জন্য রেফারেন্স তথ্য রয়েছে। ব্যাকএন্ড API সেট আপ এবং ব্যবহার সম্পর্কে আরও তথ্যের জন্য, Modify Remote Config programmatically দেখুন।

পরিস্থিতি তৈরিতে ব্যবহৃত উপাদানগুলি

Remote Config REST API একই উপাদানগুলিকে সমর্থন করে যা আপনি Firebase কনসোল ব্যবহার করে Remote Config কনফিগার করার সময় শর্ত তৈরি করতে ব্যবহার করতে পারেন:

উপাদান বিবরণ
&&

একটি শর্তের জন্য একাধিক উপাদান ব্যবহার করলে উপাদানগুলির একটি লজিক্যাল "and" তৈরি করতে ব্যবহৃত হয়। যদি কোনও উপাদান REST সিনট্যাক্সে && ছাড়া ব্যবহার করা হয়, তবে সেই উপাদানটিকে একটি শর্ত হিসাবে বিবেচনা করা হয়।

দ্রষ্টব্য: অ্যাম্পারস্যান্ডের আগে এবং পরে একটি স্থান প্রয়োজন। উদাহরণস্বরূপ: element1 && element2

app.build

একটি অ্যাপের বিল্ড নম্বরের মানের উপর ভিত্তি করে TRUE বা FALSE মূল্যায়ন করা হয়।

দ্রষ্টব্য: শুধুমাত্র অ্যাপল এবং অ্যান্ড্রয়েড ডিভাইসে উপলব্ধ। অ্যাপলের জন্য, CFBundleVersion এবং অ্যান্ড্রয়েডের জন্য, versionCode এর মান ব্যবহার করুন।

app.version

একটি অ্যাপের সংস্করণ নম্বরের মানের উপর ভিত্তি করে TRUE বা FALSE মূল্যায়ন করা হয়।

দ্রষ্টব্য: অ্যান্ড্রয়েড ডিভাইসের জন্য versionName এর মান ব্যবহার করুন, এবং অ্যাপল ডিভাইসের জন্য CFBundleShortVersionString এর মান ব্যবহার করুন।

app.id অ্যাপের Firebase অ্যাপ আইডির উপর ভিত্তি করে একটি উপাদান
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 User Property এর সাংখ্যিক বা স্ট্রিং মানের উপর ভিত্তি করে TRUE বা FALSE মূল্যায়ন করে।
app.operatingSystemAndVersion

একটি অ্যাপ যে অপারেটিং সিস্টেমে চলছে তার উপর ভিত্তি করে একটি উপাদান। OS এবং OS সংস্করণ নির্দিষ্ট লক্ষ্যের সাথে মিলে গেলে TRUE মূল্যায়ন করা হয়।

দ্রষ্টব্য: শুধুমাত্র ওয়েব অ্যাপের জন্য উপলব্ধ।

app.browserAndVersion

কোন ব্রাউজারে অ্যাপটি চলছে তার উপর ভিত্তি করে একটি উপাদান। ব্রাউজার এবং ব্রাউজার সংস্করণ নির্দিষ্ট লক্ষ্যের সাথে মিললে এটি TRUE হিসেবে মূল্যায়ন করা হয়।

দ্রষ্টব্য: শুধুমাত্র ওয়েব অ্যাপের জন্য উপলব্ধ।

app.firebaseInstallationId নির্দিষ্ট ডিভাইস ইনস্টলেশনের আইডির উপর ভিত্তি করে একটি উপাদান। ইনস্টলেশন আইডি নির্দিষ্ট ইনস্টলেশন আইডিগুলির মধ্যে একটির সাথে মিলে গেলে এটি TRUE হিসাবে মূল্যায়ন করা হয়।
app.customSignal একটি উপাদান যা কাস্টম সিগন্যাল অবস্থার সংখ্যাসূচক, শব্দার্থিক, অথবা স্ট্রিং মানের উপর ভিত্তি করে TRUE বা FALSE মূল্যায়ন করে।
device.country ISO 3166-1 alpha-2 স্ট্যান্ডার্ড (উদাহরণস্বরূপ, US বা UK) ব্যবহার করে একটি ডিভাইস যে অঞ্চলে/দেশে অবস্থিত তার উপর ভিত্তি করে একটি উপাদান। যখন একটি দেশ একটি প্রত্যাশিত দেশের কোডের সাথে মেলে তখন TRUE মূল্যায়ন করা হয়।
device.dateTime ডিভাইসটি শেষবার যে সময় নিয়ে আসে তার উপর ভিত্তি করে একটি উপাদান। একটি নির্দিষ্ট সময় অঞ্চল নির্দিষ্ট করার বিকল্প সহ ISO তারিখ ফর্ম্যাট ব্যবহার করে; উদাহরণস্বরূপ, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles')
device.language একটি ডিভাইসে নির্বাচিত ভাষার উপর ভিত্তি করে একটি উপাদান। ভাষাটি একটি IETF ভাষা ট্যাগ যেমন es-ES, pt-BR, অথবা en-US ব্যবহার করে উপস্থাপন করা হয়। যখন একটি ভাষা একটি প্রত্যাশিত ভাষা কোডের সাথে মেলে তখন এটি TRUE হিসাবে মূল্যায়ন করা হয়।
device.os একটি ডিভাইসে ব্যবহৃত অপারেটিং সিস্টেমের উপর ভিত্তি করে একটি উপাদান (অ্যাপল বা অ্যান্ড্রয়েড)। ডিভাইসের অপারেটিং সিস্টেমটি প্রত্যাশিত ধরণের হলে এটি TRUE হিসাবে মূল্যায়ন করে।
percent ব্যবহারকারীর এলোমেলোভাবে নির্ধারিত ভগ্নাংশ শতাংশে (0.000001% এর মতো ছোট নমুনা আকার সহ) অন্তর্ভুক্তির উপর ভিত্তি করে TRUE হিসাবে মূল্যায়ন করা হয়।

একটি একক-উপাদানের শর্তে তিনটি ক্ষেত্র থাকে:

  1. একটি ইচ্ছামত সংজ্ঞায়িত name (১০০ অক্ষর পর্যন্ত)
  2. উপরে দেখানো উপাদানগুলি দিয়ে তৈরি একটি শর্তাধীন এক্সপ্রেশন যা TRUE বা FALSE তে মূল্যায়ন করে।
  3. (ঐচ্ছিক) tagColor , যা " BLUE ", " BROWN ", " CYAN ", " DEEP_ORANGE ", " GREEN ", " INDIGO ", " LIME ", " ORANGE ", " PINK ", " PURPLE ", অথবা " TEAL " হতে পারে। রঙটি কেস-সংবেদনশীল নয়, এবং শুধুমাত্র Firebase কনসোলে কীভাবে অবস্থা প্রদর্শিত হয় তা প্রভাবিত করে।

সমর্থিত অপারেটর

উদাহরণস্বরূপ, app.build.notContains([123, 456]) প্রকৃত অ্যাপ বিল্ড 123 বা 492 হলে TRUE প্রদান করে, কিন্তু প্রকৃত অ্যাপ বিল্ড 999 হলে FALSE প্রদান করে।

উদাহরণস্বরূপ, app.version.notContains([123, 456]) প্রকৃত অ্যাপ সংস্করণ 123 বা 492 হলে TRUE প্রদান করে, কিন্তু প্রকৃত অ্যাপ সংস্করণ 999 হলে FALSE প্রদান করে।

উপাদান সমর্থিত অপারেটর বিবরণ
app.audiences .inAtLeastOne([...])

যদি প্রকৃত দর্শক তালিকার কমপক্ষে একটি দর্শকের নামের সাথে মিলে যায়, তাহলে TRUE প্রদান করে।
উদাহরণস্বরূপ:

app.audiences.inAtLeastOne(['Audience 1', 'Audience 2'])

app.audiences .notInAtLeastOne([...])

যদি প্রকৃত শ্রোতা তালিকার অন্তত একটি শ্রোতার নামের সাথে না মেলে, তাহলে TRUE প্রদান করে।

app.audiences .inAll([...])

যদি প্রকৃত শ্রোতা তালিকার প্রতিটি শ্রোতার নামের একজন সদস্য হয়, তাহলে TRUE প্রদান করে।

app.audiences .notInAll([...])

যদি প্রকৃত শ্রোতা তালিকার কোনও শ্রোতার সদস্য না হয়, তাহলে TRUE প্রদান করে।

app.firstOpenTimestamp <=, >

শর্তের নির্দিষ্ট সময়ের সাথে first_open ইভেন্টের সময় তুলনা করে এবং অপারেটরের উপর ভিত্তি করে TRUE বা FALSE প্রদান করে।
নমুনা ব্যবহার:
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles')
একটি পরিসর নির্দিষ্ট করতে:
app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00') যদি কোনও সময় অঞ্চল নির্দিষ্ট না করা থাকে, তাহলে GMT ব্যবহার করা হয়।

app.userProperty < , <= , == , != , >= , >

যদি প্রকৃত ব্যবহারকারীর বৈশিষ্ট্য সংখ্যাসূচকভাবে নির্দিষ্ট মানের সাথে এমনভাবে তুলনা করে যা অপারেটরের সাথে মিলে যায়, তাহলে TRUE প্রদান করে।

app.userProperty .contains([...])

যদি কোনও লক্ষ্য মান প্রকৃত ব্যবহারকারীর বৈশিষ্ট্যের একটি সাবস্ট্রিং হয়, তাহলে TRUE প্রদান করে।

app.userProperty .notContains([...])

যদি কোনও লক্ষ্য মান প্রকৃত ব্যবহারকারীর বৈশিষ্ট্যের সাবস্ট্রিং না হয়, তাহলে TRUE প্রদান করে।

app.userProperty .exactlyMatches([...])

যদি প্রকৃত ব্যবহারকারীর বৈশিষ্ট্য তালিকার যেকোনো লক্ষ্য মানের সাথে হুবহু মিলে যায় (কেস-সংবেদনশীল) তাহলে TRUE প্রদান করে।

app.userProperty .matches([...])

তালিকার কোনও লক্ষ্য রেগুলার এক্সপ্রেশন যদি প্রকৃত মানের একটি সাবস্ট্রিং বা সম্পূর্ণ মানের সাথে মিলে যায়, তাহলে TRUE প্রদান করে। সম্পূর্ণ স্ট্রিংকে জোর করে মেলানোর জন্য, রেগুলার এক্সপ্রেশনের শুরুতে "^" লিখুন এবং "$" লিখুন। RE2 সিনট্যাক্স ব্যবহার করে।

app.id ==

নির্দিষ্ট মানটি অ্যাপের অ্যাপ আইডির সাথে মিলে গেলে TRUE প্রদান করে।

app.build < , <= , == , != , >= , >

যদি প্রকৃত অ্যাপ বিল্ডটি সংখ্যাসূচকভাবে নির্দিষ্ট মানের সাথে এমনভাবে তুলনা করে যা অপারেটরের সাথে মেলে, তাহলে TRUE প্রদান করে।

app.build .contains([...])

যদি কোনও লক্ষ্য মান প্রকৃত অ্যাপ বিল্ডের একটি সাবস্ট্রিং হয় তবে TRUE প্রদান করে—উদাহরণস্বরূপ, "a" এবং "bc" হল "abc" এর সাবস্ট্রিং।

app.build .notContains([...])

যদি কোনও লক্ষ্য মান প্রকৃত অ্যাপ বিল্ডের সাবস্ট্রিং না হয়, তাহলে TRUE প্রদান করে।

app.build .exactlyMatches([...])

যদি প্রকৃত অ্যাপ বিল্ডটি তালিকার যেকোনো লক্ষ্য মানের সাথে হুবহু মিলে যায়, তাহলে TRUE প্রদান করে।

app.build .matches([...])

তালিকার কোনও লক্ষ্য রেগুলার এক্সপ্রেশন যদি প্রকৃত মানের একটি সাবস্ট্রিং বা সম্পূর্ণ মানের সাথে মিলে যায়, তাহলে TRUE প্রদান করে। সম্পূর্ণ স্ট্রিংকে জোর করে মেলানোর জন্য, রেগুলার এক্সপ্রেশনের শুরুতে "^" লিখুন এবং "$" লিখুন। RE2 সিনট্যাক্স ব্যবহার করে।

app.version < , <= , == , != , >= , >

যদি প্রকৃত অ্যাপ সংস্করণটি সংখ্যাসূচকভাবে নির্দিষ্ট মানের সাথে এমনভাবে তুলনা করে যা অপারেটরের সাথে মেলে, তাহলে TRUE প্রদান করে।

app.version .contains([...])

যদি কোনও লক্ষ্য মান প্রকৃত অ্যাপ সংস্করণের একটি সাবস্ট্রিং হয় তবে TRUE প্রদান করে—উদাহরণস্বরূপ, "a" এবং "bc" হল "abc" এর সাবস্ট্রিং।

app.version .notContains([...])

যদি কোনও লক্ষ্য মান প্রকৃত অ্যাপ সংস্করণের সাবস্ট্রিং না হয়, তাহলে TRUE প্রদান করে।

app.version .exactlyMatches([...])

যদি প্রকৃত অ্যাপ সংস্করণটি তালিকার যেকোনো লক্ষ্য মানের সাথে হুবহু মিলে যায়, তাহলে TRUE প্রদান করে।

app.version .matches([...])

তালিকার কোনও লক্ষ্য রেগুলার এক্সপ্রেশন যদি প্রকৃত মানের একটি সাবস্ট্রিং বা সম্পূর্ণ মানের সাথে মিলে যায়, তাহলে TRUE প্রদান করে। সম্পূর্ণ স্ট্রিংকে জোর করে মেলানোর জন্য, রেগুলার এক্সপ্রেশনের শুরুতে "^" লিখুন এবং "$" লিখুন। RE2 সিনট্যাক্স ব্যবহার করে।

app.operatingSystemAndVersion .inOne([...])

যদি তালিকার যেকোনো লক্ষ্য মানের সাথে OS এবং সংস্করণ মিলে যায়, তাহলে TRUE প্রদান করে।
উদাহরণস্বরূপ:

    app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh')
    .version.==('10.15')])
    

app.browserAndVersion .inOne([...])

যদি ব্রাউজার এবং সংস্করণ তালিকার যেকোনো লক্ষ্য মানের সাথে মিলে যায়, তাহলে TRUE প্রদান করে।
উদাহরণস্বরূপ:

    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
    

app.firebaseInstallationId in [...]

যদি ইনস্টলেশন আইডি তালিকায় উল্লেখিত যেকোনো একটির সাথে মেলে, তাহলে TRUE প্রদান করে। নমুনা ব্যবহারের ধরণ: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']

app.customSignal < , <= , == , != , >= , >

যদি কাস্টম সিগন্যাল শর্তটি সংখ্যাসূচকভাবে নির্দিষ্ট মানের সাথে এমনভাবে তুলনা করে যা অপারেটরের সাথে মেলে, তাহলে TRUE প্রদান করে।

app.customSignal .contains([...])

যদি কোনও লক্ষ্য মান প্রকৃত কাস্টম সিগন্যাল অবস্থার একটি সাবস্ট্রিং হয় তবে TRUE প্রদান করে।

app.customSignal .notContains([...])

যদি কোনও লক্ষ্য মান প্রকৃত কাস্টম সিগন্যাল অবস্থার একটি সাবস্ট্রিং হয় তবে TRUE প্রদান করে।

app.customSignal .exactlyMatches([...])

যদি প্রকৃত কাস্টম সিগন্যাল অবস্থা তালিকার যেকোনো লক্ষ্য মানের সাথে হুবহু মিলে (কেস-সংবেদনশীল) হয়, তাহলে TRUE প্রদান করে।

app.customSignal .matches([...])

তালিকার কোনও লক্ষ্য রেগুলার এক্সপ্রেশন যদি প্রকৃত কাস্টম সিগন্যাল অবস্থার একটি সাবস্ট্রিং বা সম্পূর্ণটির সাথে মিলে যায় তবে TRUE প্রদান করে। সম্পূর্ণ স্ট্রিংকে জোর করে মেলানোর জন্য, রেগুলার এক্সপ্রেশনের শুরুতে "^" লিখুন এবং "$" লিখুন। RE2 সিনট্যাক্স ব্যবহার করে।

version(app.customSignal) < , <= , == , != , >= , >

যদি কাস্টম সিগন্যাল শর্তটি অপারেটরের সাথে মেলে এমনভাবে নির্দিষ্ট মানের সাথে তুলনা করে তবে TRUE প্রদান করে।

device.country in [...]

যদি ডিভাইসের দেশ তালিকায় উল্লেখিত যেকোনো দেশের সাথে মেলে, তাহলে এটি TRUE প্রদান করে। নমুনা ব্যবহার: device.country in ['gb', 'us'] । ডিভাইসের দেশের কোড অনুরোধে থাকা ডিভাইসের IP ঠিকানা অথবা Firebase Analytics দ্বারা নির্ধারিত দেশের কোড ব্যবহার করে নির্ধারিত হয় (যদি Analytics ডেটা Firebase এর সাথে শেয়ার করা হয়)।

device.dateTime <= , >

বর্তমান সময়ের সাথে অবস্থার লক্ষ্য সময়ের তুলনা করে এবং অপারেটরের উপর ভিত্তি করে TRUE বা FALSE মূল্যায়ন করে। নমুনা ব্যবহার: dateTime < dateTime('2017-03-22T13:39:44')

device.language in [...]

যদি অ্যাপের কোনও ভাষা তালিকার কোনও ভাষার সাথে মেলে তবে এটি TRUE প্রদান করে। নমুনা ব্যবহার: device.language in ['en-UK', 'en-US'] .

device.os == , != যদি ডিভাইসের অপারেটিং সিস্টেমটি অপারেটরের সাথে মিলে যাওয়া ক্ষেত্রের মানের সাথে তুলনা করে, তাহলে TRUE প্রদান করে।
percent <= , > , between

যদি percent ক্ষেত্রের মানটি অপারেটরের সাথে মিলে এলোমেলোভাবে নির্ধারিত মানের সাথে তুলনা করা হয়, তাহলে TRUE প্রদান করে।

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

এটি করার জন্য, অপারেটরের আগে বীজের নাম প্রদান করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

percent('keyName') <= 10

একটি নির্দিষ্ট পরিসর কনফিগার করতে, আপনি between অপারেটর ব্যবহার করতে পারেন। ডিফল্ট seed ব্যবহার করে 20 থেকে 60 এর মধ্যে ব্যবহারকারীদের পরিসর কনফিগার করতে:

percent between 20 and 60

একটি কাস্টম বীজ ব্যবহার করে 60 থেকে 80 এর মধ্যে ব্যবহারকারীদের একটি পরিসর কনফিগার করতে:

percent('seedName') between 60 and 80