این صفحه حاوی اطلاعات مرجع برای ساخت عبارات شرطی با استفاده از 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 | عنصری که بر اساس مقدار عددی یا رشتهای یک ویژگی کاربر Firebase Analytics به TRUE یا FALSE ارزیابی میشود. |
app.operatingSystemAndVersion | عنصری بر اساس سیستم عاملی که یک برنامه روی آن اجرا می شود. زمانی که نسخه OS و OS با هدف مشخص شده مطابقت داشته باشد به توجه: فقط برای برنامه های وب در دسترس است. |
app.browserAndVersion | عنصری بر اساس مرورگری که یک برنامه در آن اجرا می شود. زمانی که نسخه مرورگر و مرورگر با هدف مشخص شده مطابقت داشته باشد، به توجه: فقط برای برنامه های وب در دسترس است. |
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 ارزیابی می شود. |
یک شرط تک عنصری شامل سه فیلد است:
- یک
name
دلخواه (حداکثر 100 کاراکتر) - یک عبارت شرطی که به
TRUE
یاFALSE
ارزیابی می شود که از عناصر نشان داده شده در بالا تشکیل شده است. - (اختیاری)
tagColor
، که می تواند "BLUE
"، "BROWN
"، "CYAN
"، "DEEP_ORANGE
"، "GREEN
"، "INDIGO
"، "LIME
"، "ORANGE
"، "PINK
"، "PURPLE
" یا "TEAL
". رنگ به حروف بزرگ و کوچک حساس نیست و فقط بر نحوه نمایش شرایط در کنسول Firebase تأثیر میگذارد.
اپراتورهای پشتیبانی شده
عنصر | اپراتورهای پشتیبانی شده | توضیحات |
---|---|---|
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 برای پیکربندی یک محدوده خاص، می توانید از عملگر percent between 20 and 60 برای پیکربندی طیفی از کاربران بین 60 تا 80 با استفاده از یک دانه سفارشی: percent('seedName') between 60 and 80 |