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


شما می توانید قالب ها را برای موارد استفاده از مشتری و سرور پیکربندی کنید. الگوهای سرویس گیرنده به هر نمونه برنامه ای ارائه می شود که 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 در برنامه‌های سرور با استفاده از Firebase Admin SDK استفاده می‌کنید، کل الگو را واکشی و بارگیری می‌کنید تا مقادیر پارامترهای مناسب را بر حسب تقاضا برای هر درخواست مشتری استخراج کنید. یک پارامتر ممکن است چندین مقدار شرطی مرتبط با آن داشته باشد.

قوانین زیر تعیین می کند که کدام مقدار در طول ارزیابی الگو در یک نقطه خاص از زمان تخصیص داده می شود:

  1. ابتدا، مقادیر شرطی برای هر شرایطی که برای یک درخواست مشتری داده شده true ارزیابی می شود، اعمال می شود. اگر چند شرط به true ارزیابی شود، اولین (بالا) نشان داده شده در رابط کاربری کنسول Firebase اولویت دارد و مقادیر شرطی مرتبط با آن شرط هنگام ارزیابی الگو ارائه می‌شوند. می توانید اولویت شرایط را با کشیدن و رها کردن شرایط در تب Conditions تغییر دهید.

  2. اگر هیچ مقدار شرطی با شرایطی وجود نداشته باشد که به true ارزیابی شود، مقدار پیش‌فرض Remote Config هنگام ارزیابی الگو ارائه می‌شود. اگر پارامتری در الگو وجود نداشته باشد، یا اگر مقدار پیش‌فرض روی استفاده از پیش‌فرض درون برنامه تنظیم شده باشد، هنگام ارزیابی الگو، هیچ مقداری برای آن پارامتر ارائه نمی‌شود.

برای اطلاعات بیشتر درباره بارگیری و ارزیابی الگوهای Remote Config در برنامه‌های سرور، به استفاده از 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 گروه بندی کنید. برای ایجاد یا تغییر یک گروه:

  1. مدیریت گروه ها را انتخاب کنید.
  2. کادرهای چک را برای پارامترهایی که می خواهید اضافه کنید انتخاب کنید و انتقال به گروه را انتخاب کنید.
  3. یک گروه موجود را انتخاب کنید، یا با وارد کردن یک نام و توضیحات، و انتخاب ایجاد گروه جدید، یک گروه جدید ایجاد کنید. پس از ذخیره یک گروه، با استفاده از دکمه انتشار تغییرات در دسترس است.

انواع قانون شرط

الگوهای Remote Config برای برنامه های سرور از انواع شرایط زیر پشتیبانی می کنند:

کاربر در درصد تصادفی

از این فیلد برای اعمال تغییر در نمونه تصادفی از نمونه‌های برنامه (با اندازه نمونه به کوچکی 0.0001%)، با استفاده از ویجت لغزنده برای تقسیم‌بندی کاربرانی که به‌طور تصادفی به هم ریخته شده‌اند (نمونه‌های برنامه) به گروه‌ها استفاده کنید.

هر نمونه برنامه به طور مداوم به یک عدد تصادفی کامل یا کسری، مطابق با یک دانه تعریف شده در آن پروژه، نگاشت می شود.

یک قانون از کلید پیش‌فرض (به عنوان Edit seed در کنسول Firebase نشان داده می‌شود) استفاده می‌کند، مگر اینکه مقدار seed را تغییر دهید. با پاک کردن قسمت Seed می‌توانید یک قانون را به استفاده از کلید پیش‌فرض برگردانید.

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

به عنوان مثال، برای ایجاد دو شرط مرتبط که هر کدام برای 5٪ از کاربران یک برنامه غیر همپوشانی اعمال می شود، می توانید یک شرط را برای مطابقت با درصدی بین 0٪ و 5٪ پیکربندی کنید و شرایط دیگری را برای مطابقت با محدوده بین 5٪ و 10 درصد برای اینکه به برخی از کاربران اجازه دهید به صورت تصادفی در هر دو گروه ظاهر شوند، از مقادیر seed مختلف برای قوانین در هر شرط استفاده کنید.

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

سیگنال های سفارشی

با Firebase Admin Node.js SDK 12.5.0 و بالاتر، می توانید از نوع شرط سیگنال سفارشی برای مطابقت با شرایط دلخواه که در برنامه خود تعریف می کنید استفاده کنید. این به شما امکان می دهد پاسخ سرور را برای هر درخواست مشتری تنظیم کنید.

برای مثال، اگر روی یک برنامه سرور کار می‌کنید که از هوش مصنوعی مولد برای کمک به ایجاد پاسخ‌ها با مدل‌های مختلف تنظیم‌شده برای پلتفرم‌های خاص استفاده می‌کند، می‌توانید کارهای زیر را انجام دهید:

  1. پارامترهای prompt و model_name را به قالب سرور Remote Config اضافه کنید.
  2. برای هر پلتفرمی که می‌خواهید هدف قرار دهید، سیگنال‌های سفارشی را با مقدار platform اضافه کنید.
  3. مقادیر پیش‌فرض را به الگوی Remote Config اختصاصی سرور و مقادیر شرطی برای هر شرط پلتفرمی که تعریف کرده‌اید اضافه کنید.
  4. کد برنامه خود را برای تنظیم و استفاده از سیگنال سفارشی platform به روز کنید.

اکنون، برنامه شما می تواند درخواست و مدل مناسب را در حین ارزیابی الگو استخراج کند و از آنها برای برگرداندن پاسخ های سفارشی شده به هر مشتری استفاده کند.

می توانید از انواع قوانین زیر برای ایجاد سیگنال های سفارشی در کنسول Firebase استفاده کنید.

دسته اپراتور اپراتور(های) ارزش توجه داشته باشید
متن دقیقا منطبق است، حاوی، حاوی 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 ، به استفاده از Remote Config در محیط های سرور مراجعه کنید.