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

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

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

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

عنصر شرح
&&

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

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

app.build

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

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

app.version

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

توجه: برای دستگاه‌های 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 عنصری که بر اساس مقدار عددی یا رشته‌ای یک ویژگی کاربر Firebase Analytics به TRUE یا FALSE ارزیابی می‌شود .
app.operatingSystemAndVersion

عنصری بر اساس سیستم عاملی که یک برنامه روی آن اجرا می شود. زمانی که نسخه OS و OS با هدف مشخص شده مطابقت داشته باشد به 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. (اختیاری) tagColor ، که می تواند " BLUE "، " CYAN BROWN "، "فیروزه ای"، " 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([...]) اگر سیستم عامل و نسخه با هر یک از مقادیر هدف در لیست مطابقت داشته باشد، 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 <= ، > ، between اگر مقدار فیلد percent با مقداری که به طور تصادفی با عملگر تطبیق داده شده مقایسه شود، TRUE برمی گرداند.

می‌توانید برای انتخاب یک گروه جدید از نمونه‌های برنامه که به‌طور تصادفی تخصیص داده شده‌اند، یک دانه مشخص کنید، همانطور که در انواع قانون شرط توضیح داده شده است.

برای انجام این کار، مانند مثال زیر، نام seed را قبل از عملگر ارائه کنید:

percent('keyName') <= 10

برای پیکربندی یک محدوده خاص، می توانید از عملگر between استفاده کنید. برای پیکربندی طیفی از کاربران بین 20 تا 60 با استفاده از seed پیش فرض :

percent between 20 and 60

برای پیکربندی طیفی از کاربران بین 60 تا 80 با استفاده از یک دانه سفارشی:

percent('seedName') between 60 and 80