این صفحه حاوی اطلاعات مرجع برای ساختن عبارتهای شرطی بااستفاده از میاناهای برنامهسازی کاربردی پسبک Remote Config یا کنسول Firebase است. برای کسب اطلاعات بیشتر درباره راهاندازی و استفاده از میاناهای برنامهسازی کاربردی پسبک، به اصلاح برنامهای «پیکربندی از راه دور» مراجعه کنید.
عناصر مورداستفاده برای ایجاد شرایط
Remote Config REST API از همان عناصری پشتیبانی میکند که میتوانید برای ایجاد شرایط هنگام پیکربندی Remote Config بااستفاده از کنسول Firebase استفاده کنید:
| عنصر | شرح |
|---|---|
&& |
برای ایجاد «و» منطقی عناصر درصورت استفاده از بیشاز یک عنصر برای شرط استفاده میشود. اگر از عنصری در نحو REST بدون
توجه: قبل و بعداز علامت «و» باید فاصله باشد. برای مثال:
|
app.build |
براساس مقدار شماره ساخت برنامه، به توجه: فقط در دستگاههای Apple و Android دردسترس است. برای Apple، از مقدار CFBundleVersion و برای Android، از مقدار versionCode استفاده کنید. |
app.version |
براساس مقدار شماره نسخه برنامه، به توجه: برای دستگاههای Android از مقدار versionName، و برای دستگاههای Apple از مقدار CFBundleShortVersionString استفاده کنید. |
app.id |
عنصری براساس شناسه Firebase App برنامه |
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 (برای مثال، 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 |
عنصری براساس سیستمعامل مورداستفاده در دستگاه (Apple یا Android).
اگر سیستمعامل دستگاه از نوع موردانتظار باشد، به TRUE ارزیابی میشود. |
percent |
براساس گنجاندن کاربر در درصد کسری اختصاصیافته بهصورت تصادفی (با اندازه نمونههای کوچکی مثل ۰٫۰۰۰۰۰۱٪)، به TRUE ارزیابی میشود. |
شرط تکعنصری شامل سه فیلد است:
nameتعریفشده بهصورت دلخواه (حداکثر ۱۰۰ نویسه)- عبارت شرطی که به
TRUEیاFALSEارزیابی میشود، از عناصر نشاندادهشده در جدول قبلی تشکیل شده است. - (اختیاری)
tagColor، که میتواند «BLUE»، «BROWN»، «CYAN»، «DEEP_ORANGE»، «GREEN»، «INDIGO»، «LIME»، «ORANGE»، «PINK»، «PURPLE»، یا «TEAL» باشد. رنگ به حروف بزرگ و کوچک حساس نیست و فقط بر نحوه نمایش شرایط در کنسول Firebase تأثیر میگذارد.
اپراتورهای پشتیبانیشده
| عنصر | اپراتورهای پشتیبانیشده | شرح |
|---|---|---|
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([...]) |
اگر سیستمعامل و نسخه با هرکدام از مقادیر هدف در فهرست مطابقت داشته باشد، 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 |