این صفحه حاوی اطلاعات مرجع برای ساخت عبارات شرطی با استفاده از Remote Config Backend API یا کنسول Firebase است. برای اطلاعات بیشتر درباره راهاندازی و استفاده از APIهای پشتیبان، به اصلاح پیکربندی از راه دور به صورت برنامهریزی مراجعه کنید.
عناصری که برای ایجاد شرایط استفاده می شوند
Remote Config REST API از همان عناصری پشتیبانی می کند که می توانید هنگام پیکربندی Remote Config با استفاده از Firebase Console برای ایجاد شرایط استفاده کنید:
عنصر | توضیحات |
---|---|
&& | در صورت استفاده از بیش از یک عنصر برای یک شرط، برای ایجاد یک "و" منطقی از عناصر استفاده می شود. اگر عنصری در دستور REST بدون توجه: قبل و بعد از آمپرسندها فاصله لازم است. به عنوان مثال: |
app.build | بر اساس مقدار شماره ساخت برنامه به توجه: فقط در دستگاه های Apple و Android در دسترس است. برای اپل، از مقدار CFBundleVersion و برای اندروید، از مقدار versionCode استفاده کنید. |
app.version | بر اساس مقدار شماره نسخه برنامه به توجه: برای دستگاههای Android از مقدار versionName و برای دستگاههای Apple از مقدار 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 | عنصری بر اساس سیستم عاملی که یک برنامه روی آن اجرا می شود. زمانی که نسخه OS و OS با هدف مشخص شده مطابقت داشته باشد به توجه: فقط برای برنامه های وب در دسترس است. |
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 Language مانند es-ES، pt-BR یا en-US نشان داده می شود. زمانی که یک زبان با کد زبان مورد انتظار مطابقت داشته باشد، به TRUE ارزیابی می شود. |
device.os | عنصری بر اساس سیستم عامل مورد استفاده در دستگاه (اپل یا اندروید). زمانی که سیستم عامل دستگاه از نوع مورد انتظار باشد، به TRUE ارزیابی می شود. |
percent | بر اساس گنجاندن کاربر در یک درصد کسری به طور تصادفی (با اندازه نمونه به کوچکی 0.000001٪) به TRUE ارزیابی می شود. |
یک شرط تک عنصری شامل سه فیلد است:
- یک
name
دلخواه (حداکثر 100 کاراکتر) - یک عبارت شرطی که به
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 | اگر مقدار فیلد میتوانید برای انتخاب یک گروه جدید از نمونههای برنامه که بهطور تصادفی اختصاص داده شدهاند، یک دانه مشخص کنید، همانطور که در انواع قانون شرط توضیح داده شده است. برای انجام این کار، مانند مثال زیر، نام seed را قبل از عملگر وارد کنید: percent('keyName') <= 10 برای پیکربندی یک محدوده خاص، می توانید از عملگر percent between 20 and 60 برای پیکربندی طیفی از کاربران بین 60 تا 80 با استفاده از یک دانه سفارشی: percent('seedName') between 60 and 80 |