مرجع عبارت شرطی پیکربندی راه دور

این صفحه حاوی اطلاعات مرجع برای ساخت عبارات شرطی با استفاده از Remote Config Backend API یا کنسول Firebase است. برای اطلاعات بیشتر درباره راه‌اندازی و استفاده از APIهای پشتیبان، به اصلاح پیکربندی از راه دور به صورت برنامه‌ریزی مراجعه کنید.

عناصری که برای ایجاد شرایط استفاده می شوند

Remote Config REST API از همان عناصری پشتیبانی می کند که می توانید برای ایجاد شرایط هنگام پیکربندی Remote Config با استفاده از Firebase Console استفاده کنید:

عنصر شرح
&&

در صورت استفاده از بیش از یک عنصر برای یک شرط، برای ایجاد یک "و" منطقی از عناصر استفاده می شود. اگر عنصری در دستور REST بدون && استفاده شود، آن عنصر به عنوان یک شرط در نظر گرفته می شود.

توجه: قبل و بعد از آمپرسندها فاصله لازم است. به عنوان مثال: element1 && element2 .

app.build

بر اساس مقدار شماره ساخت برنامه به TRUE یا FALSE ارزیابی می شود.

توجه: فقط در دستگاه های اپل و اندروید موجود است. برای اپل، از مقدار CFBundleVersion و برای اندروید، از مقدار versionCode استفاده کنید.

app.version

بر اساس مقدار شماره نسخه برنامه به TRUE یا FALSE ارزیابی می شود.

توجه: برای دستگاه‌های Android از مقدار versionName و برای دستگاه‌های Apple از مقدار CFBundleShortVersionString استفاده کنید.

app.id عنصری بر اساس شناسه برنامه Firebase برنامه
app.audiences عنصری که بر اساس حضور یا عدم حضور کاربر در یک یا چند مخاطب Firebase Analytics به TRUE یا FALSE ارزیابی می‌شود.
app.userProperty عنصری که بر اساس مقدار عددی یا رشته ای یک ویژگی کاربر تجزیه و تحلیل Firebase به TRUE یا FALSE ارزیابی می شود.
app.operatingSystemAndVersion

عنصری بر اساس سیستم عاملی که یک برنامه روی آن اجرا می شود. زمانی که نسخه سیستم عامل و سیستم عامل با هدف مشخص شده مطابقت داشته باشد به TRUE ارزیابی می شود.

توجه: فقط برای برنامه های وب در دسترس است.

app.browserAndVersion

عنصری بر اساس مرورگری که یک برنامه در آن اجرا می شود. زمانی که نسخه مرورگر و مرورگر با هدف مشخص شده مطابقت داشته باشد به TRUE ارزیابی می شود.

توجه: فقط برای برنامه های وب در دسترس است.

app.firebaseInstallationId عنصری بر اساس شناسه های نصب دستگاه های خاص. زمانی که شناسه نصب با یکی از شناسه های نصب مشخص شده مطابقت داشته باشد، به TRUE ارزیابی می شود.
device.country عنصری بر اساس منطقه/کشوری که دستگاه در آن قرار دارد، با استفاده از استاندارد ISO 3166-1 alpha-2 (به عنوان مثال، ایالات متحده یا بریتانیا). زمانی که کشوری با کد کشور مورد انتظار مطابقت داشته باشد به TRUE ارزیابی می شود.
device.dateTime عنصری بر اساس زمان آخرین واکشی که دستگاه انجام می دهد. از قالب تاریخ ISO با گزینه ای برای تعیین منطقه زمانی ثابت استفاده می کند. برای مثال dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') .
device.language عنصری بر اساس زبان انتخاب شده در دستگاه. این زبان با استفاده از یک برچسب IETF Language مانند es-ES، pt-BR یا en-US نمایش داده می شود. زمانی که یک زبان با کد زبان مورد انتظار مطابقت داشته باشد به TRUE ارزیابی می شود.
device.os عنصری مبتنی بر سیستم عامل مورد استفاده در دستگاه (اپل یا اندروید). زمانی که سیستم عامل دستگاه از نوع مورد انتظار باشد، به TRUE ارزیابی می شود.
percent بر اساس گنجاندن یک کاربر در صدک کسری به طور تصادفی (با اندازه نمونه به کوچکی 0.000001٪) به TRUE ارزیابی می شود.

یک شرط تک عنصری شامل سه فیلد است:

  1. یک name دلخواه (حداکثر 100 کاراکتر)
  2. یک عبارت شرطی که به TRUE یا FALSE ارزیابی می شود که از عناصر نشان داده شده در بالا تشکیل شده است.
  3. (اختیاری) برچسب رنگ، که می تواند " BLUE "، " BROWN ای"، " CYAN "، " tagColor "، " GREEN "، " INDIGO "، " DEEP_ORANGE "، " ORANGE "، " LIME " PURPLE PINK یا " 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.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([...]) اگر سیستم عامل و نسخه با هر یک از مقادیر هدف در لیست مطابقت داشته باشد، 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'] . کد کشور دستگاه با استفاده از آدرس 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 <= ، > اگر مقدار فیلد percent با مقداری که به طور تصادفی با اپراتور منطبق است مقایسه شود، TRUE را برمی‌گرداند.