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

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

শর্ত তৈরি করতে ব্যবহৃত উপাদান

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

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

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

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

app.build

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

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

app.version

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

দ্রষ্টব্য: Android ডিভাইসের জন্য versionName এর মান ব্যবহার করুন এবং Apple ডিভাইসের জন্য CFBundleShortVersionString এর মান ব্যবহার করুন।

app.id অ্যাপের Firebase অ্যাপ আইডির উপর ভিত্তি করে একটি উপাদান
app.audiences একটি উপাদান যা এক বা একাধিক ফায়ারবেস অ্যানালিটিক্স অডিয়েন্সে ব্যবহারকারীর উপস্থিতি বা অনুপস্থিতির উপর ভিত্তি করে TRUE বা FALSE মূল্যায়ন করে।
app.firstOpenTimestamp ব্যবহারকারী প্রথমবার একটি অ্যাপ চালু করার উপর ভিত্তি করে একটি উপাদান, যা Google Analytics first_open ইভেন্ট থেকে প্রাপ্ত। একটি নির্দিষ্ট সময় অঞ্চল নির্দিষ্ট করার বিকল্পের সাথে ISO তারিখ বিন্যাস ব্যবহার করে; উদাহরণস্বরূপ, app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') । যদি কোন সময় অঞ্চল নির্দিষ্ট করা না থাকে, তাহলে GMT ব্যবহার করা হয়।
app.userProperty একটি উপাদান যা একটি ফায়ারবেস অ্যানালিটিক্স ব্যবহারকারী সম্পত্তির সংখ্যাসূচক বা স্ট্রিং মানের উপর ভিত্তি করে TRUE বা FALSE মূল্যায়ন করে।
app.operatingSystemAndVersion

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

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

app.browserAndVersion

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

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

app.firebaseInstallationId নির্দিষ্ট ডিভাইস ইনস্টলেশনের আইডির উপর ভিত্তি করে একটি উপাদান। ইন্সটলেশন আইডি নির্দিষ্ট ইন্সটলেশন আইডিগুলির একটির সাথে মিলে গেলে TRUE মূল্যায়ন করে৷
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 ডিভাইসে (অ্যাপল বা অ্যান্ড্রয়েড) ব্যবহৃত অপারেটিং সিস্টেমের উপর ভিত্তি করে একটি উপাদান। যখন ডিভাইস OS প্রত্যাশিত প্রকার হয় তখন TRUE তে মূল্যায়ন করে।
percent এলোমেলোভাবে নির্ধারিত ভগ্নাংশ শতাংশে (নমুনার আকার 0.000001% হিসাবে ছোট সহ) ব্যবহারকারীর অন্তর্ভুক্তির উপর ভিত্তি করে TRUE মূল্যায়ন করে।

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

  1. একটি নির্বিচারে-সংজ্ঞায়িত name (100টি অক্ষর পর্যন্ত)
  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']
device.country in [...] যদি ডিভাইসের দেশ তালিকায় উল্লেখ করা কোনোটির সাথে মিলে যায় তাহলে TRUE ফেরত দেয়। নমুনা ব্যবহার: device.country in ['gb', 'us'] । অনুরোধে ডিভাইসের আইপি ঠিকানা বা Firebase অ্যানালিটিক্স দ্বারা নির্ধারিত দেশের কোড ব্যবহার করে ডিভাইসের দেশের কোড নির্ধারণ করা হয় (যদি 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 ব্যবহার করতে পারেন। ডিফল্ট বীজ ব্যবহার করে 20 এবং 60 এর মধ্যে ব্যবহারকারীদের একটি পরিসীমা কনফিগার করতে:

percent between 20 and 60

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

percent('seedName') between 60 and 80