شما می توانید قالب ها را برای موارد استفاده از مشتری و سرور پیکربندی کنید. الگوهای سرویس گیرنده به هر نمونه برنامه ای ارائه می شود که SDK مشتری Firebase را برای Remote Config اجرا می کند، از جمله برنامه های Android، Apple، Web، Unity، Flutter و C++. پارامترها و مقادیر Remote Config از الگوهای خاص سرور به پیادهسازیهای Remote Config (از جمله Cloud Run و Cloud Functions) که از Firebase Admin Node.js SDK v12.1.0+ استفاده میکنند، ارائه میشوند.
هنگام استفاده از کنسول Firebase یا Remote Config Backend API ، یک یا چند پارامتر (جفت کلید-مقدار) را تعریف میکنید و مقادیر پیشفرض درون برنامه را برای آن پارامترها ارائه میکنید. می توانید با تعریف مقادیر پارامتر، مقادیر پیش فرض درون برنامه را لغو کنید. کلیدهای پارامتر و مقادیر پارامتر رشتهای هستند، اما وقتی از این مقادیر در برنامه خود استفاده میکنید، مقادیر پارامتر را میتوان بهعنوان انواع دیگر داده ارسال کرد.
با استفاده از کنسول Firebase ، Admin SDK یا Remote Config REST API ، میتوانید مقادیر پیشفرض جدیدی برای پارامترهای خود و همچنین مقادیر شرطی که برای گروههای هدف از نمونههای برنامه استفاده میشوند، ایجاد کنید. هر بار که پیکربندی خود را در کنسول Firebase به روز می کنید، Firebase نسخه جدیدی از الگوی Remote Config شما را ایجاد و منتشر می کند. نسخه قبلی ذخیره شده است و به شما این امکان را می دهد تا در صورت نیاز آن را بازیابی یا برگردانید. این عملیات در کنسول Firebase ، Firebase Admin SDK و REST API در دسترس شما هستند و در نسخههای الگوی Manage Remote Config توضیح داده شدهاند.
این راهنما پارامترها، شرایط، قوانین، مقادیر شرطی و نحوه اولویت بندی مقادیر پارامترهای مختلف در Remote Config و در برنامه شما را توضیح می دهد. همچنین جزئیات مربوط به انواع قوانین مورد استفاده برای ایجاد شرایط را ارائه می دهد.
شرایط، قوانین، و مقادیر شرطی
یک شرط برای هدف قرار دادن گروهی از نمونه های برنامه استفاده می شود. شرایط از یک یا چند قانون تشکیل شده است که باید همه آنها به true
ارزیابی شوند تا شرایط برای یک نمونه برنامه مشخص به true
ارزیابی شود. اگر مقدار یک قانون تعریف نشده باشد (مثلاً وقتی هیچ مقداری در دسترس نباشد)، آن قانون به false
ارزیابی میشود.
برای مثال، میتوانید پارامتری ایجاد کنید که نام مدل و رشته نسخه یک مدل زبان بزرگ (LLM) را تعریف کند و پاسخهای مدلهای مختلف را بر اساس قوانین سیگنال سفارشی ارائه کند. در این مورد، ممکن است از یک نسخه مدل پایدار به عنوان مقدار پیشفرض برای ارائه بیشتر درخواستها استفاده کنید و از سیگنال سفارشی برای استفاده از یک مدل آزمایشی برای پاسخ به درخواستهای مشتری آزمایشی استفاده کنید.
یک پارامتر می تواند چندین مقدار شرطی داشته باشد که از شرایط مختلف استفاده می کند و پارامترها می توانند شرایط را در یک پروژه به اشتراک بگذارند. در تب Parameters کنسول Firebase ، میتوانید درصد واکشی برای مقادیر شرطی هر پارامتر را مشاهده کنید. این معیار، درصد درخواستهایی را در 24 ساعت گذشته نشان میدهد که هر مقدار را دریافت کردهاند.
اولویت مقدار پارامتر
یک پارامتر ممکن است چندین مقدار شرطی مرتبط با آن داشته باشد. قوانین زیر تعیین میکنند که کدام مقدار از الگوی Remote Config واکشی میشود و کدام مقدار در یک نمونه برنامه خاص در یک زمان خاص استفاده میشود:
ابتدا، مقادیر شرطی برای هر شرایطی که برای یک درخواست مشتری داده شده
true
ارزیابی می شود، اعمال می شود. اگر چند شرط بهtrue
ارزیابی شود، اولین (بالا) نشان داده شده در رابط کاربری کنسول Firebase اولویت دارد و مقادیر شرطی مرتبط با آن شرط زمانی که یک برنامه مقادیر را از backend واکشی می کند، ارائه می شود. می توانید اولویت شرایط را با کشیدن و رها کردن شرایط در برگه Conditions تغییر دهید.اگر هیچ مقدار شرطی با شرایطی وجود نداشته باشد که به
true
ارزیابی شود، مقدار پیشفرض Remote Config زمانی ارائه میشود که یک برنامه مقادیر را از backend واکشی میکند. اگر پارامتری در باطن وجود نداشته باشد، یا اگر مقدار پیشفرض روی استفاده از پیشفرض درون برنامه تنظیم شده باشد، وقتی برنامه مقادیری را واکشی میکند، هیچ مقداری برای آن پارامتر ارائه نمیشود.
در برنامه شما، مقادیر پارامتر با متدهای get
مطابق فهرست اولویت زیر برگردانده می شود
- اگر مقداری از Backend واکشی شده و سپس فعال شده باشد، برنامه از مقدار واکشی شده استفاده می کند. مقادیر پارامتر فعال شده پایدار هستند.
اگر هیچ مقداری از پشتیبان واکشی نشده باشد، یا اگر مقادیر دریافت شده از باطن Remote Config فعال نشده باشد، برنامه از مقدار پیشفرض درون برنامه استفاده میکند.
برای اطلاعات بیشتر در مورد به دست آوردن و تنظیم مقادیر پیش فرض، به دانلود پیش فرض های الگوی Remote Config مراجعه کنید.
اگر مقدار پیشفرض درون برنامهای تنظیم نشده باشد، برنامه از یک مقدار استاتیک استفاده میکند (مانند
0
برایint
وfalse
برایboolean
).
این نمودار نحوه اولویت بندی مقادیر پارامترها در باطن Remote Config و در برنامه شما را خلاصه می کند:
انواع داده های مقدار پارامتر
Remote Config به شما امکان می دهد یک نوع داده را برای هر پارامتر انتخاب کنید و تمام مقادیر Remote Config را در مقابل آن نوع قبل از به روز رسانی الگو تأیید می کند. نوع داده در یک درخواست getRemoteConfig
ذخیره و برگردانده می شود.
انواع داده های پشتیبانی شده عبارتند از:
-
String
-
Boolean
-
Number
-
JSON
در رابط کاربری کنسول Firebase ، نوع داده را می توان از یک منوی کشویی در کنار کلید پارامتر انتخاب کرد. در REST API، انواع را می توان با استفاده از فیلد value_type
در شی پارامتر تنظیم کرد.
گروه های پارامتر
Remote Config به شما امکان می دهد پارامترها را با هم گروه بندی کنید تا یک رابط کاربری سازماندهی شده تر داشته باشید و قابلیت استفاده را افزایش دهید.
به عنوان مثال، فرض کنید باید سه نوع مختلف احراز هویت را فعال یا غیرفعال کنید، در حالی که یک ویژگی ورود جدید را ارائه می کنید. با Remote Config ، میتوانید سه پارامتر را ایجاد کنید تا انواع مورد نظرتان را فعال کنید، و سپس آنها را در گروهی به نام «ورود جدید» سازماندهی کنید، بدون نیاز به اضافه کردن پیشوندها یا مرتبسازی خاص.
می توانید گروه های پارامتر را با استفاده از کنسول Firebase یا Remote Config REST API ایجاد کنید. هر گروه پارامتری که ایجاد می کنید یک نام منحصر به فرد در قالب Remote Config شما دارد. هنگام ایجاد گروه های پارامتر، به خاطر داشته باشید:
- پارامترها را می توان تنها در یک گروه در هر زمان گنجاند و یک کلید پارامتر باید همچنان در همه پارامترها منحصر به فرد باشد.
- نام گروه پارامتر به 256 کاراکتر محدود شده است.
- اگر از REST API و کنسول Firebase استفاده میکنید، مطمئن شوید که منطق REST API برای کنترل گروههای پارامتر در انتشار بهروزرسانی شده است.
گروه های پارامتر را با استفاده از کنسول Firebase ایجاد یا تغییر دهید
می توانید پارامترها را در تب Parameters کنسول Firebase گروه بندی کنید. برای ایجاد یا تغییر یک گروه:
- مدیریت گروه ها را انتخاب کنید.
- کادرهای چک را برای پارامترهایی که می خواهید اضافه کنید انتخاب کنید و انتقال به گروه را انتخاب کنید.
- یک گروه موجود را انتخاب کنید، یا با وارد کردن یک نام و توضیحات، و انتخاب ایجاد گروه جدید، یک گروه جدید ایجاد کنید. پس از ذخیره یک گروه، با استفاده از دکمه انتشار تغییرات در دسترس است.
انواع قانون شرط
انواع قوانین زیر در کنسول Firebase پشتیبانی می شوند. ویژگیهای معادل در Remote Config REST API موجود است، همانطور که در مرجع عبارت شرطی توضیح داده شده است.
نوع قانون | اپراتور(های) | ارزش(های) | توجه داشته باشید |
برنامه | == | از لیستی از شناسه های برنامه برای برنامه های مرتبط با پروژه Firebase خود انتخاب کنید. | وقتی برنامهای را به Firebase اضافه میکنید، یک شناسه بسته یا نام بسته Android را وارد میکنید که مشخصهای را تعریف میکند که به عنوان شناسه برنامه در قوانین Remote Config نشان داده میشود. از این ویژگی به صورت زیر استفاده کنید:
|
نسخه برنامه | برای مقادیر رشته: دقیقا مطابقت دارد حاوی، شامل نمی شود، حاوی regex است برای مقادیر عددی: <، <=، =، !=، >، >= | نسخه(های) برنامه خود را برای هدف گذاری مشخص کنید. قبل از استفاده از این قانون، باید از قانون App ID برای انتخاب یک برنامه Android/Apple مرتبط با پروژه Firebase خود استفاده کنید. | برای پلتفرم های اپل: از CFBundleShortVersionString برنامه استفاده کنید. توجه: مطمئن شوید که برنامه Apple شما از Firebase پلتفرم Apple SDK نسخه 6.24.0 یا بالاتر استفاده می کند، زیرا CFBundleShortVersionString در نسخه های قبلی ارسال نمی شود (به یادداشت های انتشار مراجعه کنید). برای Android: از نسخه نام برنامه استفاده کنید. مقایسه رشته ها برای این قانون به حروف کوچک و بزرگ حساس است. هنگام استفاده از عملگر دقیقا مطابق ، حاوی ، حاوی ، یا حاوی عملگر regex ، می توانید چندین مقدار را انتخاب کنید. هنگام استفاده از عملگر contain regex ، می توانید عبارات منظم در قالب RE2 ایجاد کنید. عبارت منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین میتوانید از لنگرهای ^ و $ برای مطابقت با شروع، پایان یا کل یک رشته هدف استفاده کنید. |
شماره ساخت | برای مقادیر رشته: دقیقا مطابقت دارد حاوی، شامل نمی شود، بیان منظم برای مقادیر عددی: =، ≠، >، ≥، <، ≤ | ساخت(های) برنامه خود را برای هدف گذاری مشخص کنید. قبل از استفاده از این قانون، باید از قانون App ID برای انتخاب یک برنامه Apple یا Android مرتبط با پروژه Firebase خود استفاده کنید. | این اپراتور فقط برای برنامه های اپل و اندروید در دسترس است. این مربوط به CFBundleVersion برنامه برای اپل و نسخه کد برای اندروید است. مقایسه رشته ها برای این قانون به حروف کوچک و بزرگ حساس است. هنگام استفاده از عملگر دقیقا مطابق ، حاوی ، حاوی ، یا حاوی عملگر regex ، می توانید چندین مقدار را انتخاب کنید. هنگام استفاده از عملگر contain regex ، می توانید عبارات منظم در قالب RE2 ایجاد کنید. عبارت منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین میتوانید از لنگرهای ^ و $ برای مطابقت با شروع، پایان یا کل یک رشته هدف استفاده کنید. |
پلت فرم | == | iOS اندروید وب | |
سیستم عامل | == | سیستم عامل (های) مورد نظر را مشخص کنید. قبل از استفاده از این قانون، باید از قانون App ID برای انتخاب یک برنامه وب مرتبط با پروژه Firebase خود استفاده کنید. | اگر سیستم عامل و نسخه آن با مقدار هدف در لیست مشخص شده مطابقت داشته باشند، این قانون برای یک نمونه برنامه وب معین به true ارزیابی می شود. |
مرورگر | == | مرورگر(های) مورد نظر را مشخص کنید. قبل از استفاده از این قانون، باید از قانون App ID برای انتخاب یک برنامه وب مرتبط با پروژه Firebase خود استفاده کنید. | اگر مرورگر و نسخه آن با مقدار هدف در لیست مشخص شده مطابقت داشته باشند، این قانون برای یک نمونه برنامه وب معین به true ارزیابی می شود. |
دسته دستگاه | است، نیست | موبایل | این قانون ارزیابی می کند که آیا دستگاهی که به برنامه وب شما دسترسی پیدا می کند تلفن همراه یا غیر همراه (رومیزی یا کنسول) است. این نوع قانون فقط برای برنامه های وب در دسترس است. |
زبان ها | در است | یک یا چند زبان را انتخاب کنید. | اگر آن نمونه برنامه روی دستگاهی نصب شده باشد که از یکی از زبان های فهرست شده استفاده می کند، این قانون برای یک نمونه برنامه معین true ارزیابی می شود. |
کشور/منطقه | در است | یک یا چند منطقه یا کشور را انتخاب کنید. | اگر نمونه در هر یک از مناطق یا کشورهای فهرست شده باشد، این قانون برای یک نمونه برنامه معین true ارزیابی می شود. کد کشور دستگاه با استفاده از آدرس IP دستگاه در درخواست یا کد کشور تعیین شده توسط Firebase Analytics (اگر داده های Analytics با Firebase به اشتراک گذاشته شده است) تعیین می شود. |
مخاطبان کاربر | حداقل شامل یک مورد است | یک یا چند مورد را از فهرست مخاطبان Google Analytics که برای پروژه خود تنظیم کرده اید، انتخاب کنید. | این قانون برای انتخاب برنامه مرتبط با پروژه Firebase شما به یک قانون App ID نیاز دارد. توجه: از آنجایی که بسیاری از مخاطبان Analytics توسط رویدادها یا ویژگیهای کاربر تعریف میشوند، که میتواند بر اساس اقدامات کاربران برنامه باشد، ممکن است مدتی طول بکشد تا یک قانون کاربر در مخاطب برای یک نمونه برنامه خاص اعمال شود. |
دارایی کاربر | برای مقادیر رشته: حاوی، شامل نمی شود، دقیقا مطابقت دارد حاوی regex است برای مقادیر عددی: =، ≠، >، ≥، <، ≤ توجه: در کلاینت، فقط میتوانید مقادیر رشتهای را برای ویژگیهای کاربر تنظیم کنید. برای شرایطی که از عملگرهای عددی استفاده می کنند، Remote Config مقدار ویژگی کاربر مربوطه را به یک عدد صحیح/فلوت تبدیل می کند. | از لیستی از ویژگیهای کاربر Google Analytics موجود را انتخاب کنید. | برای اینکه بدانید چگونه میتوانید از ویژگیهای کاربر برای سفارشیسازی برنامه خود برای بخشهای بسیار خاصی از پایگاه کاربری خود استفاده کنید، Remote Config و ویژگیهای کاربر را ببینید. برای کسب اطلاعات بیشتر در مورد ویژگی های کاربر، به راهنمای زیر مراجعه کنید: هنگام استفاده از عملگر دقیقا مطابق ، حاوی ، حاوی یا حاوی عملگر regex ، می توانید چندین مقدار را انتخاب کنید. هنگام استفاده از عملگر contain regex ، می توانید عبارات منظم در قالب RE2 ایجاد کنید. عبارت منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین میتوانید از لنگرهای ^ و $ برای مطابقت با شروع، پایان یا کل یک رشته هدف استفاده کنید. توجه: ویژگیهای کاربر جمعآوریشده خودکار هنگام ایجاد شرایط Remote Config در دسترس نیستند. |
کاربر در درصد تصادفی | اسلایدر (در کنسول Firebase. REST API از <= ، > و between عملگرها استفاده می کند). | 0-100 | از این فیلد برای اعمال تغییر در نمونه تصادفی از نمونههای برنامه (با اندازه نمونه به کوچکی 0.0001%)، با استفاده از ویجت لغزنده برای تقسیمبندی کاربرانی که بهطور تصادفی به هم ریخته شدهاند (نمونههای برنامه) به گروهها استفاده کنید. هر نمونه برنامه به طور مداوم به یک عدد تصادفی کامل یا کسری، مطابق با یک دانه تعریف شده در آن پروژه، نگاشت می شود. یک قانون از کلید پیشفرض (به عنوان Edit seed در کنسول Firebase نشان داده میشود) استفاده میکند، مگر اینکه مقدار seed را تغییر دهید. با پاک کردن قسمت Seed میتوانید یک قانون را به استفاده از کلید پیشفرض برگردانید. برای رسیدگی مداوم به نمونههای برنامه مشابه در محدوده درصد معین، از مقدار اولیه یکسانی در شرایط استفاده کنید. یا، با تعیین یک دانه جدید، یک گروه جدید از نمونه های برنامه اختصاص داده شده به طور تصادفی را برای محدوده درصد معینی انتخاب کنید. به عنوان مثال، برای ایجاد دو شرط مرتبط که هر کدام برای 5٪ از کاربران برنامه که همپوشانی ندارند اعمال می شود، می توانید یک شرط را برای مطابقت با درصدی بین 0٪ و 5٪ و یک شرط دیگر را برای مطابقت با محدوده بین 5٪ و 10٪ پیکربندی کنید. برای اینکه به برخی از کاربران اجازه دهید به صورت تصادفی در هر دو گروه ظاهر شوند، از مقادیر seed مختلف برای قوانین در هر شرط استفاده کنید. |
بخش وارداتی | در است | یک یا چند بخش وارد شده را انتخاب کنید. | این قانون مستلزم راهاندازی بخشهای وارداتی سفارشی است. |
تاریخ/زمان | قبل، بعد | تاریخ و زمان مشخص، یا در منطقه زمانی دستگاه یا منطقه زمانی مشخصی مانند "(GMT+11) ساعت سیدنی." | زمان فعلی را با زمان واکشی دستگاه مقایسه می کند. |
ابتدا باز کنید | قبل، بعد | تاریخ و زمان مشخص، در منطقه زمانی مشخص شده. | با کاربرانی مطابقت می دهد که ابتدا برنامه مورد نظر را در بازه زمانی مشخص شده باز می کنند. به SDK های زیر نیاز دارد:
|
شناسه نصب | در است | یک یا چند شناسه نصب (حداکثر 50) را برای هدف تعیین کنید. | اگر شناسه نصب در لیست مقادیر جدا شده با کاما باشد، این قانون برای یک نصب معین true ارزیابی می شود.برای آشنایی با نحوه دریافت شناسه های نصب، به بازیابی شناسه های سرویس گیرنده مراجعه کنید. |
کاربر وجود دارد | (بدون اپراتور) | همه کاربران همه برنامهها را در پروژه فعلی هدف قرار میدهد. | از این قانون شرط برای مطابقت با همه کاربران در پروژه، صرف نظر از برنامه یا پلتفرم استفاده کنید. |
سیگنال سفارشی | برای مقادیر رشته: حاوی، شامل نمی شود، دقیقا مطابقت دارد حاوی regex است برای مقادیر عددی: =، ≠، >، ≥، <، ≤ برای مقادیر نسخه: =، ≠، >، ≥، <، ≤ | مقایسه رشته ها برای این قانون به حروف کوچک و بزرگ حساس است. هنگام استفاده از عملگر دقیقا مطابق، حاوی، حاوی، یا حاوی regex، می توانید چندین مقدار را انتخاب کنید. هنگام استفاده از عملگر contain regex، می توانید عبارات منظم در قالب RE2 ایجاد کنید. عبارت منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین میتوانید از لنگرهای ^ و $ برای مطابقت با شروع، پایان یا کل یک رشته هدف استفاده کنید. انواع داده های زیر برای محیط های مشتری پشتیبانی می شوند:
عددی که نشان دهنده شماره(های) نسخه برای مطابقت است (به عنوان مثال، 2.1.0). | برای اطلاعات بیشتر در مورد شرایط سیگنال سفارشی و عبارات شرطی برای استفاده، شرایط سیگنال سفارشی و عناصر مورد استفاده برای ایجاد شرایط را ببینید. |
پارامترها و شرایط جستجو
می توانید کلیدهای پارامتر، مقادیر پارامتر و شرایط پروژه خود را از کنسول Firebase با استفاده از کادر جستجو در بالای برگه Remote Config Parameters جستجو کنید.
محدودیت در پارامترها و شرایط
در یک پروژه Firebase، می توانید تا 2000 پارامتر و حداکثر 500 شرایط داشته باشید. کلیدهای پارامتر می توانند حداکثر 256 کاراکتر داشته باشند، باید با نویسه زیرخط یا حروف انگلیسی (AZ، az) شروع شوند و ممکن است شامل اعداد نیز باشند. طول کل رشته های مقدار پارامتر در یک پروژه نمی تواند از 1,000,000 کاراکتر تجاوز کند.
مشاهده تغییرات پارامترها و شرایط
میتوانید آخرین تغییرات در قالبهای Remote Config خود را از کنسول Firebase مشاهده کنید. برای هر پارامتر و شرایط فردی، می توانید:
مشاهده نام کاربری که آخرین بار پارامتر یا شرط را تغییر داده است.
اگر تغییر در همان روز رخ داده است، تعداد دقیقه ها یا ساعت هایی را که از زمان انتشار تغییر در قالب فعال Remote Config گذشته است را مشاهده کنید.
اگر تغییر یک یا چند روز در گذشته رخ داده است، تاریخ انتشار تغییر در قالب فعال Remote Config را مشاهده کنید.
تغییر تاریخچه برای پارامترها
در صفحه Remote Config Parameters ، ستون آخرین منتشر شده آخرین کاربری را که هر پارامتر را تغییر داده و آخرین تاریخ انتشار برای تغییر را نشان می دهد:
برای مشاهده فراداده تغییر برای پارامترهای گروه بندی شده، گروه پارامتر را گسترش دهید.
برای مرتبسازی به ترتیب صعودی یا نزولی بر اساس تاریخ انتشار، روی برچسب ستون آخرین منتشر شده کلیک کنید.
تغییر تاریخچه برای شرایط
در صفحه Remote Config Conditions ، میتوانید آخرین کاربری را که شرایط را تغییر داده و تاریخی را که آن را تغییر داده است، در کنار آخرین ویرایش تحت هر شرط ببینید.
مراحل بعدی
برای پیکربندی پروژه و برنامه Firebase خود برای استفاده از Remote Config ، به شروع به کار با Firebase Remote Config مراجعه کنید.،شما می توانید قالب ها را برای موارد استفاده از مشتری و سرور پیکربندی کنید. الگوهای سرویس گیرنده به هر نمونه برنامه ای ارائه می شود که SDK مشتری Firebase را برای Remote Config اجرا می کند، از جمله برنامه های Android، Apple، Web، Unity، Flutter و C++. پارامترها و مقادیر Remote Config از الگوهای خاص سرور به پیادهسازیهای Remote Config (از جمله Cloud Run و Cloud Functions) که از Firebase Admin Node.js SDK v12.1.0+ استفاده میکنند، ارائه میشوند.
هنگام استفاده از کنسول Firebase یا Remote Config Backend API ، یک یا چند پارامتر (جفت کلید-مقدار) را تعریف میکنید و مقادیر پیشفرض درون برنامه را برای آن پارامترها ارائه میکنید. می توانید با تعریف مقادیر پارامتر، مقادیر پیش فرض درون برنامه را لغو کنید. کلیدهای پارامتر و مقادیر پارامتر رشتهای هستند، اما وقتی از این مقادیر در برنامه خود استفاده میکنید، مقادیر پارامتر را میتوان بهعنوان انواع دیگر داده ارسال کرد.
با استفاده از کنسول Firebase ، Admin SDK یا Remote Config REST API ، میتوانید مقادیر پیشفرض جدیدی برای پارامترهای خود و همچنین مقادیر شرطی که برای گروههای هدف از نمونههای برنامه استفاده میشوند، ایجاد کنید. هر بار که پیکربندی خود را در کنسول Firebase به روز می کنید، Firebase نسخه جدیدی از الگوی Remote Config شما را ایجاد و منتشر می کند. نسخه قبلی ذخیره شده است و به شما این امکان را می دهد تا در صورت نیاز آن را بازیابی یا برگردانید. این عملیات در کنسول Firebase ، Firebase Admin SDK و REST API در دسترس شما هستند و در نسخههای الگوی Manage Remote Config توضیح داده شدهاند.
این راهنما پارامترها، شرایط، قوانین، مقادیر شرطی و نحوه اولویت بندی مقادیر پارامترهای مختلف در Remote Config و در برنامه شما را توضیح می دهد. همچنین جزئیات مربوط به انواع قوانین مورد استفاده برای ایجاد شرایط را ارائه می دهد.
شرایط، قوانین و مقادیر شرطی
یک شرط برای هدف قرار دادن گروهی از نمونه های برنامه استفاده می شود. شرایط از یک یا چند قانون تشکیل شده است که باید همه آنها به true
ارزیابی شوند تا شرایط برای یک نمونه برنامه مشخص به true
ارزیابی شود. اگر مقدار یک قانون تعریف نشده باشد (مثلاً وقتی هیچ مقداری در دسترس نباشد)، آن قانون به false
ارزیابی میشود.
برای مثال، میتوانید پارامتری ایجاد کنید که نام مدل و رشته نسخه یک مدل زبان بزرگ (LLM) را تعریف کند و پاسخهای مدلهای مختلف را بر اساس قوانین سیگنال سفارشی ارائه کند. در این مورد، ممکن است از یک نسخه مدل پایدار به عنوان مقدار پیشفرض برای ارائه بیشتر درخواستها استفاده کنید و از سیگنال سفارشی برای استفاده از یک مدل آزمایشی برای پاسخ به درخواستهای مشتری آزمایشی استفاده کنید.
یک پارامتر می تواند چندین مقدار شرطی داشته باشد که از شرایط مختلف استفاده می کند و پارامترها می توانند شرایط را در یک پروژه به اشتراک بگذارند. در تب Parameters کنسول Firebase ، میتوانید درصد واکشی برای مقادیر شرطی هر پارامتر را مشاهده کنید. این معیار، درصد درخواستهایی را در 24 ساعت گذشته نشان میدهد که هر مقدار را دریافت کردهاند.
اولویت مقدار پارامتر
یک پارامتر ممکن است چندین مقدار شرطی مرتبط با آن داشته باشد. قوانین زیر تعیین میکنند که کدام مقدار از الگوی Remote Config واکشی میشود و کدام مقدار در یک نمونه برنامه خاص در یک زمان خاص استفاده میشود:
ابتدا، مقادیر شرطی برای هر شرایطی که برای یک درخواست مشتری داده شده
true
ارزیابی می شود، اعمال می شود. اگر شرایط متعدد بهtrue
ارزیابی شود ، اولین (بالا) که در UI کنسول Firebase نشان داده شده است ، اولویت را می گیرد و مقادیر شرطی مرتبط با آن شرایط هنگامی ارائه می شود که یک برنامه مقادیر از پس زمینه را بدست آورد. با کشیدن و رها کردن شرایط در برگه شرایط می توانید اولویت شرایط را تغییر دهید.اگر مقادیر مشروط با شرایطی که به
true
ارزیابی می کنند وجود نداشته باشد ، مقدار پیش فرض Remote Config هنگامی ارائه می شود که یک برنامه مقادیر از پس زمینه را بدست آورد. اگر یک پارامتر در پس زمینه وجود نداشته باشد ، یا اگر مقدار پیش فرض برای استفاده از پیش فرض در برنامه تنظیم شده باشد ، وقتی یک برنامه مقادیر می شود ، هیچ مقداری برای آن پارامتر ارائه نمی شود.
در برنامه شما ، مقادیر پارامتر با استفاده از روش های get
با توجه به لیست اولویت های زیر بازگردانده می شوند
- اگر یک مقدار از پس زمینه برداشته شود و سپس فعال شود ، برنامه از مقدار واکشی استفاده می کند. مقادیر پارامتر فعال پایدار هستند.
اگر هیچ ارزشی از پس زمینه بدست نیامد ، یا اگر مقادیر از پس زمینه Remote Config فعال نشده باشند ، برنامه از مقدار پیش فرض درون برنامه استفاده می کند.
برای کسب اطلاعات بیشتر در مورد به دست آوردن و تنظیم مقادیر پیش فرض ، به بارگیری پیش فرض الگوی Remote Config مراجعه کنید.
اگر مقدار پیش فرض درون برنامه ای تنظیم نشده باشد ، برنامه از یک مقدار استاتیک استفاده می کند (مانند
0
برایint
وfalse
برایboolean
).
این گرافیک خلاصه می کند که چگونه مقادیر پارامتر در پس زمینه Remote Config و در برنامه شما اولویت بندی می شوند:
ارزش پارامتر انواع داده ها
Remote Config به شما امکان می دهد یک نوع داده را برای هر پارامتر انتخاب کنید و تمام مقادیر Remote Config در برابر آن نوع قبل از بروزرسانی الگوی تأیید کنید. نوع داده ذخیره می شود و در درخواست getRemoteConfig
بازگردانده می شود.
انواع داده های پشتیبانی شده عبارتند از:
-
String
-
Boolean
-
Number
-
JSON
در UI کنسول Firebase ، نوع داده را می توان از کشویی در کنار کلید پارامتر انتخاب کرد. در API REST ، انواع را می توان با استفاده از قسمت value_type
در شیء پارامتر تنظیم کرد.
گروه های پارامتر
Remote Config به شما امکان می دهد پارامترهای گروهی را برای یک UI سازمان یافته تر گروه بندی کرده و قابلیت استفاده را تقویت کنید.
به عنوان مثال ، می گویید در حالی که یک ویژگی ورود به سیستم جدید را از بین می برید ، باید سه نوع AUT مختلف را فعال یا غیرفعال کنید. با استفاده از Remote Config ، می توانید سه پارامتر را ایجاد کنید تا انواع مورد نظر خود را فعال کنید و سپس آنها را در گروهی به نام "ورود به سیستم جدید" سازماندهی کنید ، بدون نیاز به اضافه کردن پیشوند یا مرتب سازی ویژه.
می توانید با استفاده از کنسول Firebase یا API REST Remote Config REST ، گروه های پارامتر ایجاد کنید. هر گروه پارامتر که ایجاد می کنید یک نام منحصر به فرد در الگوی Remote Config خود دارد. هنگام ایجاد گروه های پارامتر ، به خاطر داشته باشید:
- پارامترها می توانند در هر زمان فقط در یک گروه گنجانده شوند ، و یک کلید پارامتر هنوز هم باید در تمام پارامترها بی نظیر باشد.
- نام گروه پارامتر به 256 کاراکتر محدود می شود.
- اگر از API REST و کنسول Firebase استفاده می کنید ، اطمینان حاصل کنید که هرگونه منطق API REST برای رسیدگی به گروه های پارامتر در انتشار به روز شده است.
گروه های پارامتر را با استفاده از کنسول Firebase ایجاد یا اصلاح کنید
می توانید پارامترها را در برگه پارامترهای کنسول Firebase گروه بندی کنید. برای ایجاد یا اصلاح یک گروه:
- گروه های مدیریت را انتخاب کنید.
- برای پارامترهایی که می خواهید اضافه کنید و Move to Group را انتخاب کنید ، کادر انتخاب را انتخاب کنید.
- یک گروه موجود را انتخاب کنید ، یا با وارد کردن نام و توضیحات و انتخاب گروه جدید ، یک گروه جدید ایجاد کنید . پس از ذخیره یک گروه ، با استفاده از دکمه Publish Changes در دسترس است.
انواع قانون شرایط
انواع قانون زیر در کنسول Firebase پشتیبانی می شود. ویژگی های معادل آن در API REST Remote Config در دسترس است ، همانطور که در مرجع بیان مشروط شرح داده شده است.
نوع قانون | اپراتور(های) | مقدار (ها) | توجه داشته باشید |
برنامه | == | لیستی از شناسه های برنامه را برای برنامه های مرتبط با پروژه Firebase خود انتخاب کنید. | هنگامی که یک برنامه را به Firebase اضافه می کنید ، یک شناسه بسته نرم افزاری یا نام بسته اندرویدی را وارد می کنید که ویژگی را به عنوان شناسه برنامه در قوانین Remote Config در معرض دید قرار می دهد. از این ویژگی به شرح زیر استفاده کنید:
|
نسخه برنامه | برای مقادیر رشته: دقیقاً مطابقت دارد ، حاوی، حاوی نیست ، حاوی regex است برای مقادیر عددی: <، <= ، = ،! = ،> ،> = = | نسخه (های) برنامه خود را برای هدف قرار دهید. قبل از استفاده از این قانون ، باید از یک قانون شناسه برنامه برای انتخاب یک برنامه Android/Apple مرتبط با پروژه Firebase خود استفاده کنید. | برای سیستم عامل های اپل: از CFBundLeshortVersionString برنامه استفاده کنید. توجه: اطمینان حاصل کنید که برنامه اپل شما از Firebase Apple Platforms SDK نسخه 6.24.0 یا بالاتر استفاده می کند ، زیرا CFBundLeshortVersionString در نسخه های قبلی ارسال نمی شود (به یادداشت های انتشار مراجعه کنید). برای Android: از نام برنامه برنامه استفاده کنید. مقایسه رشته برای این قانون حساس به مورد است. هنگام استفاده از مسابقات دقیقاً ، شامل ، حاوی ، یا حاوی عملگر Regex نیست ، می توانید مقادیر مختلفی را انتخاب کنید. هنگام استفاده از اپراتور REGEX ، می توانید عبارات منظم را با فرمت RE2 ایجاد کنید. بیان منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین می توانید از لنگرهای ^ و $ برای مطابقت با ابتدا ، پایان یا کلیت یک رشته هدف استفاده کنید. |
شماره ساخت | برای مقادیر رشته: دقیقاً مطابقت دارد ، حاوی، حاوی نیست ، بیان منظم برای مقادیر عددی: = ، ≠ ،> ، ≥ ، <، ≤ | ساخت (های) برنامه خود را برای هدف قرار دهید. قبل از استفاده از این قانون ، باید از یک قانون شناسه برنامه برای انتخاب یک برنامه اپل یا اندرویدی مرتبط با پروژه Firebase خود استفاده کنید. | این اپراتور فقط برای برنامه های Apple و Android در دسترس است. این مطابق با CFBundleVersion برنامه برای Apple و نسخه کد برای Android است. مقایسه رشته برای این قانون حساس به مورد است. هنگام استفاده از مسابقات دقیقاً ، شامل ، حاوی ، یا حاوی عملگر Regex نیست ، می توانید مقادیر مختلفی را انتخاب کنید. هنگام استفاده از اپراتور REGEX ، می توانید عبارات منظم را با فرمت RE2 ایجاد کنید. بیان منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین می توانید از لنگرهای ^ و $ برای مطابقت با ابتدا ، پایان یا کلیت یک رشته هدف استفاده کنید. |
پلت فرم | == | iOS اندروید وب | |
سیستم عامل | == | سیستم (های) عامل را برای هدف مشخص کنید. قبل از استفاده از این قانون ، باید از یک قانون شناسه برنامه برای انتخاب یک برنامه وب مرتبط با پروژه Firebase خود استفاده کنید. | اگر سیستم عامل و نسخه آن با یک مقدار هدف در لیست مشخص شده مطابقت داشته باشد ، این قانون برای یک نمونه برنامه وب خاص true می کند. |
مرورگر | == | مرورگر (های) را برای هدف مشخص کنید. قبل از استفاده از این قانون ، باید از یک قانون شناسه برنامه برای انتخاب یک برنامه وب مرتبط با پروژه Firebase خود استفاده کنید. | اگر مرورگر و نسخه آن با یک مقدار هدف در لیست مشخص شده مطابقت داشته باشند ، این قانون برای یک نمونه برنامه وب true ارزیابی می شود. |
دسته دستگاه | است ، نیست | موبایل | این قانون ارزیابی می کند که آیا دستگاه دسترسی به برنامه وب شما موبایل یا غیر موبایل (دسک تاپ یا کنسول) است. این نوع قانون فقط برای برنامه های وب در دسترس است. |
زبان ها | در است | یک یا چند زبان را انتخاب کنید. | اگر این نمونه برنامه بر روی دستگاهی نصب شده باشد که از یکی از زبانهای ذکر شده استفاده می کند ، این قانون برای یک نمونه برنامه true ارزیابی می کند. |
کشور/منطقه | در است | یک یا چند منطقه یا کشور را انتخاب کنید. | اگر نمونه در هر یک از مناطق یا کشورهای ذکر شده باشد ، این قانون برای نمونه برنامه مشخص true ارزیابی می کند. کد کشور دستگاه با استفاده از آدرس IP دستگاه در درخواست یا کد کشور تعیین شده توسط Firebase Analytics تعیین می شود (اگر داده های تجزیه و تحلیل با Firebase به اشتراک گذاشته شده است). |
مخاطبان (های) کاربر | شامل حداقل یک | از لیستی از مخاطبان Google Analytics که برای پروژه خود تنظیم کرده اید ، یک یا چند مورد را انتخاب کنید. | این قانون برای انتخاب برنامه مرتبط با پروژه Firebase شما به یک قانون شناسه برنامه نیاز دارد. توجه: از آنجا که بسیاری از مخاطبان Analytics توسط رویدادها یا خصوصیات کاربر تعریف می شوند ، که می تواند اقدامات کاربران برنامه را بر پایه قرار دهد ، ممکن است مدتی طول بکشد تا کاربر در قانون مخاطب برای یک نمونه برنامه خاص تأثیر بگذارد. |
خاصیت کاربر | برای مقادیر رشته: حاوی، حاوی نیست ، دقیقاً مطابقت دارد ، حاوی regex است برای مقادیر عددی: = ، ≠ ،> ، ≥ ، <، ≤ توجه: در مشتری ، می توانید فقط مقادیر رشته ای را برای خصوصیات کاربر تنظیم کنید. برای شرایطی که از اپراتورهای عددی استفاده می کنند ، Remote Config مقدار خاصیت کاربر مربوطه را به یک عدد صحیح/شناور تبدیل می کند. | لیستی از ویژگی های کاربر موجود Google Analytics را انتخاب کنید. | برای یادگیری چگونگی استفاده از ویژگی های کاربر برای سفارشی سازی برنامه خود برای بخش های بسیار خاص از پایگاه کاربر خود ، به Remote Config و خصوصیات کاربر مراجعه کنید. برای کسب اطلاعات بیشتر در مورد خصوصیات کاربر ، به راهنماهای زیر مراجعه کنید: هنگام استفاده از مسابقات دقیقاً ، شامل ، شامل یا حاوی عملگر Regex نیست ، می توانید مقادیر مختلفی را انتخاب کنید. هنگام استفاده از اپراتور REGEX ، می توانید عبارات منظم را با فرمت RE2 ایجاد کنید. بیان منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین می توانید از لنگرهای ^ و $ برای مطابقت با ابتدا ، پایان یا کلیت یک رشته هدف استفاده کنید. توجه: در هنگام ایجاد شرایط Remote Config ، خصوصیات کاربر جمع آوری شده به طور خودکار در دسترس نیست. |
کاربر در درصد تصادفی | کشویی (در کنسول Firebase. API REST از <= ، > و between اپراتورها استفاده می کند). | 0-100 | از این قسمت استفاده کنید تا در یک نمونه تصادفی از نمونه های برنامه (با اندازه نمونه به اندازه 0001 ٪) ، با استفاده از ویجت کشویی برای کاربران به طور تصادفی خرد شده (نمونه های برنامه) در گروه ها ، تغییر دهید. با توجه به بذر تعریف شده در آن پروژه ، هر نمونه برنامه به طور مداوم به یک عدد کامل یا کسری تصادفی نقشه برداری می شود. یک قانون از کلید پیش فرض (به عنوان ویرایش بذر در کنسول Firebase ) استفاده می کند ، مگر اینکه مقدار بذر را تغییر دهید. با پاک کردن میدان بذر می توانید یک قانون را به استفاده از کلید پیش فرض برگردانید. برای پرداختن مداوم به همان نمونه های برنامه در محدوده درصد مشخص ، از همان مقدار بذر در شرایط استفاده کنید. یا با مشخص کردن یک بذر جدید ، یک گروه جدید از برنامه های برنامه به طور تصادفی را انتخاب کنید. به عنوان مثال ، برای ایجاد دو شرط مرتبط که هر یک برای 5 ٪ از کاربران برنامه غیر همپوشانی اعمال می شود ، می توانید یک شرط را پیکربندی کنید تا یک درصد بین 0 تا 5 ٪ مطابقت داشته باشد و شرط دیگری را پیکربندی کنید تا با دامنه 5 ٪ تا 10 ٪ مطابقت داشته باشد. برای اینکه برخی از کاربران به طور تصادفی در هر دو گروه ظاهر شوند ، از مقادیر مختلف بذر برای قوانین در هر شرایط استفاده کنید. |
بخش وارد شده | در است | یک یا چند بخش وارداتی را انتخاب کنید. | این قانون نیاز به تنظیم بخش های وارداتی سفارشی دارد. |
تاریخ/زمان | قبل ، بعد از | تاریخ و زمان مشخص شده ، یا در منطقه زمانی دستگاه یا یک منطقه زمانی مشخص مانند "(GMT+11) زمان سیدنی." | زمان فعلی را با زمان واکشی دستگاه مقایسه می کند. |
اول باز | قبل ، بعد از | تاریخ و زمان مشخص شده ، در منطقه زمانی مشخص شده. | با کاربرانی که ابتدا برنامه هدفمند را در محدوده زمانی مشخص شده باز می کنند مطابقت دارد. به SDK های زیر نیاز دارد:
|
شناسه نصب | در است | یک یا چند شناسه نصب (حداکثر 50) را برای هدف قرار دهید. | اگر شناسه نصب در لیست مقادیر جدا شده از کاما باشد ، این قانون برای نصب مشخص true ارزیابی می کند.برای یادگیری چگونگی دریافت شناسه های نصب ، به شناسه های بازیابی مشتری مراجعه کنید. |
کاربر وجود دارد | (بدون اپراتور) | همه کاربران همه برنامه ها را در پروژه فعلی هدف قرار می دهد. | بدون توجه به برنامه یا پلتفرم ، از این قانون شرط استفاده کنید تا با همه کاربران موجود در پروژه مطابقت داشته باشد. |
سیگنال سفارشی | برای مقادیر رشته: حاوی، حاوی نیست ، دقیقاً مطابقت دارد ، حاوی regex است برای مقادیر عددی: = ، ≠ ،> ، ≥ ، <، ≤ برای مقادیر نسخه: = ، ≠ ،> ، ≥ ، <، ≤ | مقایسه رشته برای این قانون حساس به مورد است. هنگام استفاده از مسابقات دقیقاً ، شامل ، حاوی ، یا حاوی عملگر Regex نیست ، می توانید مقادیر مختلفی را انتخاب کنید. هنگام استفاده از اپراتور REGEX ، می توانید عبارات منظم را با فرمت RE2 ایجاد کنید. بیان منظم شما می تواند با تمام یا بخشی از رشته نسخه هدف مطابقت داشته باشد. همچنین می توانید از لنگرهای ^ و $ برای مطابقت با ابتدا ، پایان یا کلیت یک رشته هدف استفاده کنید. انواع داده های زیر برای محیط های مشتری پشتیبانی می شوند:
عددی که نشان دهنده شماره (های) نسخه برای مطابقت (به عنوان مثال ، 2.1.0) است. | برای کسب اطلاعات بیشتر در مورد شرایط سیگنال سفارشی و عبارات مشروط برای استفاده ، به شرایط و عناصر سیگنال سفارشی که برای ایجاد شرایط استفاده می شود ، مراجعه کنید. |
پارامترها و شرایط را جستجو کنید
می توانید با استفاده از کادر جستجو در بالای برگه پارامترهای Remote Config ، کلیدهای پارامتر پروژه ، مقادیر پارامتر و شرایط را از کنسول Firebase جستجو کنید.
محدودیت در پارامترها و شرایط
در یک پروژه Firebase ، می توانید حداکثر 2000 پارامتر و حداکثر 500 شرط داشته باشید. کلیدهای پارامتر می توانند تا 256 کاراکتر طول داشته باشند ، باید با یک شخصیت زیرنویس یا انگلیسی نامه انگلیسی (AZ ، AZ) شروع شود و همچنین ممکن است شامل اعداد باشد. طول کل رشته های ارزش پارامتر در یک پروژه نمی تواند از 1000،000 کاراکتر تجاوز کند.
مشاهده تغییرات در پارامترها و شرایط
می توانید آخرین تغییرات را در قالب های Remote Config خود از کنسول Firebase مشاهده کنید. برای هر پارامتر و شرایط جداگانه ، می توانید:
نام کاربری را که آخرین بار پارامتر یا شرایط را اصلاح کرده است ، مشاهده کنید.
اگر این تغییر در همان روز رخ داده است ، تعداد دقایقی یا ساعاتی را که از زمان تغییر در الگوی Remote Config منتشر شده است ، مشاهده کنید.
اگر این تغییر یک یا چند روز در گذشته رخ داده است ، تاریخی را که تغییر در الگوی Remote Config منتشر شده است مشاهده کنید.
تاریخ را برای پارامترها تغییر دهید
در صفحه پارامترهای Remote Config ، آخرین ستون منتشر شده آخرین کاربر را نشان می دهد که هر پارامتر و آخرین تاریخ انتشار را برای تغییر تغییر داده است:
برای مشاهده تغییر ابرداده برای پارامترهای گروه بندی شده ، گروه پارامتر را گسترش دهید.
برای مرتب سازی در سفارش صعودی یا نزولی با انتشار تاریخ ، روی آخرین برچسب ستون منتشر شده کلیک کنید.
تاریخ را برای شرایط تغییر دهید
در صفحه شرایط Remote Config ، می توانید آخرین کاربر را که شرایط را اصلاح کرده است و تاریخ اصلاح آن را در کنار آخرین اصلاح شده تحت هر شرایط مشاهده کنید.