این صفحه حاوی اطلاعات مرجع برای ساخت عبارات شرطی با استفاده از APIهای backend مربوط به Remote Config یا کنسول Firebase است. برای اطلاعات بیشتر در مورد تنظیم و استفاده از APIهای backend، به بخش «اصلاح برنامهریزیشدهی Remote Config» مراجعه کنید.
عناصر مورد استفاده برای ایجاد شرایط
API مربوط Remote Config REST از همان عناصری پشتیبانی میکند که میتوانید برای ایجاد شرایط هنگام پیکربندی Remote Config با استفاده از کنسول Firebase از آنها استفاده کنید:
عنصر | توضیحات |
---|---|
&& | برای ایجاد یک "و"ی منطقی از عناصر در صورت استفاده از بیش از یک عنصر برای یک شرط استفاده میشود. اگر یک عنصر در سینتکس REST بدون نکته: قبل و بعد از علامت & یک فاصله لازم است. برای مثال: |
app.build | بر اساس مقدار شماره ساخت برنامه، مقدار توجه: فقط در دستگاههای اپل و اندروید موجود است. برای اپل، از مقدار CFBundleVersion و برای اندروید، از مقدار versionCode استفاده کنید. |
app.version | بر اساس مقدار شماره نسخه برنامه، مقدار نکته: برای دستگاههای اندروید از مقدار versionName و برای دستگاههای اپل از مقدار CFBundleShortVersionString استفاده کنید. |
app.id | عنصری مبتنی بر شناسه برنامه Firebase برنامه |
app.audiences | عنصری که بر اساس حضور یا عدم حضور کاربر در یک یا چند مخاطب Firebase Analytics، مقدار TRUE یا FALSE را ارزیابی میکند. |
app.firstOpenTimestamp | عنصری بر اساس اولین باری که کاربر یک برنامه را اجرا میکند، که از رویداد first_open Google Analytics به دست میآید. از قالب تاریخ 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 | عنصری بر اساس زبان انتخاب شده در دستگاه. این زبان با استفاده از یک برچسب زبان IETF مانند es-ES، pt-BR یا en-US نمایش داده میشود. هنگامی که یک زبان با کد زبان مورد انتظار مطابقت داشته باشد، مقدار TRUE را برمیگرداند. |
device.os | عنصری مبتنی بر سیستم عامل مورد استفاده در دستگاه (اپل یا اندروید). وقتی سیستم عامل دستگاه از نوع مورد انتظار باشد، مقدار TRUE را برمیگرداند. |
percent | بر اساس گنجاندن کاربر در یک درصد کسری تصادفی (با اندازه نمونه کوچک تا 0.000001%)، مقدار 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 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 | اگر مقدار موجود در فیلد شما میتوانید یک سید (seed) برای انتخاب یک گروه جدید از نمونههای برنامه که به صورت تصادفی برای یک محدوده درصد مشخص شدهاند، همانطور که در انواع قوانین شرطی توضیح داده شده است، مشخص کنید. برای انجام این کار، نام seed را قبل از عملگر ارائه دهید، مانند مثال زیر: percent('keyName') <= 10 برای پیکربندی یک محدوده خاص، میتوانید از عملگر percent between 20 and 60 برای پیکربندی طیف وسیعی از کاربران بین ۶۰ تا ۸۰ نفر با استفاده از یک سید سفارشی: percent('seedName') between 60 and 80 |