پارامترها و شرایط «پیکربندی از راه دور» در الگوهای سرور

نوع الگو را انتخاب کنید: الگوهای کارخواه الگوهای سرور


می‌توانید پارامترها و مقادیر Remote Config را از الگوهای مختص سرور به پیاده‌سازی‌های Remote Config (ازجمله Cloud Run و Cloud Functions for Firebase) که از محیط‌های سرور زیر استفاده می‌کنند ارائه دهید:

  • Firebase Admin Node.js SDK v12.1.0+
  • Firebase Admin Python SDK v6.7.0+
  • Firebase Admin Go SDK v4.17.0+
  • Firebase Admin Java SDK v9.7.0+

هنگام استفاده از کنسول Firebase یا میاناهای برنامه‌سازی کاربردی پس‌بست Remote Config، یک یا چند پارامتر (جفت‌های کلید-مقدار) تعریف می‌کنید و مقادیر پیش‌فرض برای آن پارامترها در کد سرور خود ارائه می‌دهید. می‌توانید مقادیر پیش‌فرض را با تعریف مقادیر پارامتر در الگوی Remote Config لغو کنید. کلیدهای پارامتر و مقادیر پارامتر رشته هستند، اما وقتی از این مقادیر در برنامه‌تان استفاده می‌کنید، مقادیر پارامتر می‌توانند به‌عنوان انواع داده دیگر قالب‌بندی شوند.

بااستفاده از کنسول Firebase، Admin SDK یا Remote Config REST API، می‌توانید مقادیر پیش‌فرض جدیدی برای پارامترهایتان ایجاد کنید، و همچنین مقادیر شرطی که برای هدف‌یابی گروه‌های درخواست‌های مشتری استفاده می‌شوند. هربار که پیکربندی‌تان را در کنسول Firebase به‌روز می‌کنید، Firebase نسخه جدیدی از الگوی Remote Config شما ایجاد و منتشر می‌کند. نسخه قبلی ذخیره می‌شود، و به شما امکان می‌دهد درصورت نیاز آن را بازیابی کنید یا به آن برگردید. این عملیات در کنسول Firebase، Firebase Admin SDK، و REST API دردسترس شما است و به‌طور گسترده‌تر در مدیریت نسخه‌های الگو Remote Config شرح داده شده است.

این راهنما پارامترها، شرایط، قوانین، مقادیر شرطی، و نحوه اولویت‌بندی مقادیر پارامترهای مختلف را در باطن Remote Config و در برنامه سرور شما توضیح می‌دهد. همچنین جزئیاتی درباره انواع قوانینی که برای ایجاد شرایط استفاده می‌شوند ارائه می‌دهد.

شرایط، قوانین، و مقادیر شرطی

از شرط برای هدف‌یابی گروهی از درخواست‌های کارخواه استفاده می‌شود. شرایط از یک یا چند قانون تشکیل شده است که همه آن‌ها باید به true ارزیابی شوند تا شرط برای درخواست مشتری معین به true ارزیابی شود. اگر مقدار قانونی تعریف نشده باشد (برای مثال، وقتی مقداری دردسترس نباشد)، آن قانون به‌صورت false ارزیابی می‌شود.

برای مثال، می‌توانید پارامتری ایجاد کنید که نام و رشته نسخه مدل زبانی بزرگ (LLM) را تعریف کند و پاسخ‌ها را از مدل‌های مختلف براساس قوانین سیگنال سفارشی ارائه دهد. در این مورد استفاده، ممکن است از نسخه مدل پایدار به‌عنوان مقدار پیش‌فرض برای پاسخ دادن به اکثر درخواست‌ها استفاده کنید و از سیگنال سفارشی برای استفاده از مدل آزمایشی برای پاسخ دادن به درخواست‌های مشتری آزمایشی استفاده کنید.

یک پارامتر می‌تواند چندین مقدار شرطی داشته باشد که از شرایط مختلفی استفاده می‌کنند، و پارامترها می‌توانند شرایط را در یک پروژه به‌اشتراک بگذارند. در کنسول Firebase، به صفحه DevOps و تعامل > پیکربندی از راه دور > پارامترها بروید تا درصد واکشی را برای مقادیر شرطی هر پارامتر مشاهده کنید. این سنجه درصد درخواست‌هایی را نشان می‌دهد که در ۲۴ ساعت گذشته هر مقدار را دریافت کرده‌اند.

افزودن، ویرایش، تغییر ترتیب، یا حذف شرایط بااستفاده از کنسول Firebase

می‌توانید شرایط هدف‌یابی را در کنسول Firebase ایجاد، ویرایش، بازآرایی، و حذف کنید. شرایط در پارامترهای درون پروژه هم‌رسانی می‌شود. نحوه مدیریت شرایط در اینجا آمده است:

  1. در کنسول Firebase، به صفحه DevOps و تعامل > پیکربندی از راه دور > شرایط بروید (یا مدیریت شرایط را از صفحه پارامترها انتخاب کنید).
  2. افزودن شرط: روی افزودن شرط (یا ایجاد اولین شرط) کلیک کنید، نامی را وارد کنید که هدف‌گذاری را تعریف می‌کند، و یک یا چند قانون هدف‌یابی را انتخاب کنید.
  3. ویرایش کردن شرط: روی نام شرط یا نماد ویرایش کلیک کنید، قوانین را درصورت نیاز اصلاح کنید، و روی ذخیره کلیک کنید.
  4. تغییر اولویت شرط: در صفحه شرایط، شرایط را با دستگیره جابه‌جایی بکشید تا ترتیب آن‌ها را تغییر دهید. شرایطی که در بالای فهرست قرار دارند بر شرایطی که در پایین فهرست قرار دارند اولویت دارند.
  5. حذف شرط: روی نماد حذف در کنار شرطی که می‌خواهید بردارید کلیک کنید. اگر شرطی توسط پارامتری ارجاع داده شود، برداشتن آن باعث می‌شود مقادیر شرطی مرتبط نیز برداشته شود.

پس‌از ذخیره کردن تغییرات شرط، الگوی خود را بااستفاده از انتشار تغییرات منتشر کنید.

محدودیت پروتکل اینترنتی نسخه ۶ با کنترل دسترسی مبتنی بر IP

Remote Config پشتیبانی محدودی از IPv6 دارد وقتی با خط‌مشی‌های دسترسی مبتنی بر IP استفاده می‌شود. اگر سازمانتان دسترسی به محدوده‌های IP عمومی خاصی را محدود کند، اتصال ازطریق شبکه IPv6 می‌تواند باعث مشکلات زیر شود:

  • دسترسی به کنسول: ممکن است نتوانید از برخی ویژگی‌های Remote Config در کنسول Firebase استفاده کنید، مثلاً بار کردن داده‌ها یا راه‌اندازی هدف‌یابی.
  • دسترسی کارخواه: برنامه‌های کارخواه ممکن است با خطاهای PERMISSION_DENIED مواجه شوند.

برای جلوگیری از این مشکلات، شبکه‌تان را برای استفاده از IPv4 پیکربندی کنید یا محدوده‌های IP لازم Firebase را به فهرست مجاز سازمانتان اضافه کنید.

اولویت مقدار پارامتر

وقتی از Remote Config در برنامه‌های سرور بااستفاده از Firebase Admin SDK استفاده می‌کنید، کل الگو را واکشی و بار می‌کنید تا مقادیر پارامتر مناسب را براساس تقاضا برای هر درخواست مشتری استخراج کنید. یک پارامتر ممکن است چندین مقدار شرطی مرتبط با آن داشته باشد.

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

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

  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 شما دارد. هنگام ایجاد گروه‌های پارامتر، موارد زیر را به‌خاطر داشته باشید:

  • پارامترها را می‌توان در هر زمان فقط در یک گروه گنجاند، و کلید پارامتر همچنان باید در بین همه پارامترها منحصربه‌فرد باشد.
  • نام گروه‌های پارامتر به ۲۵۶ نویسه محدود است.
  • اگر هم از REST API و هم از کنسول Firebase استفاده می‌کنید، مطمئن شوید که هر منطق REST API برای مدیریت گروه‌های پارامتر در زمان انتشار به‌روز شده باشد.

ایجاد یا اصلاح گروه‌های پارامتر بااستفاده از کنسول Firebase

می‌توانید پارامترها را در کنسول Firebase گروه‌بندی کنید. نحوه ایجاد یا اصلاح گروه:

  1. در کنسول Firebase، به صفحه DevOps و تعامل > پیکربندی از راه دور > پارامترها بروید.
  2. مدیریت گروه‌ها را انتخاب کنید.
  3. چارگوش‌های انتخاب پارامترهایی را که می‌خواهید اضافه کنید انتخاب کنید و انتقال به گروه را انتخاب کنید.
  4. گروه موجودی را انتخاب کنید یا با وارد کردن نام و شرح و انتخاب ایجاد گروه جدید، گروه جدیدی ایجاد کنید. پس‌از ذخیره کردن گروه، بااستفاده از دکمه انتشار تغییرات می‌توانید آن را منتشر کنید.

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

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

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

از این فیلد برای اعمال تغییر در نمونه تصادفی از نمونه‌های برنامه (با اندازه نمونه‌های کوچک تا ۰٫۰۰۰۱٪) استفاده کنید، بااستفاده از ابزاره لغزنده برای تقسیم کاربران به‌هم‌ریخته تصادفی (نمونه‌های برنامه) به گروه‌ها.

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

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

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

برای مثال، برای ایجاد دو شرط مرتبط که هرکدام برای ۵٪ غیرهم‌پوشان از کاربران برنامه اعمال می‌شود، می‌توانید یک شرط را برای مطابقت با درصدی بین ۰٪ و ۵٪ پیکربندی کنید و شرط دیگر را برای مطابقت با محدوده‌ای بین ۵٪ و ۱۰٪ پیکربندی کنید. برای اینکه برخی‌از کاربران به‌طور تصادفی در هر دو گروه ظاهر شوند، از مقادیر بنیادی متفاوتی برای قوانین درون هر شرط استفاده کنید.

برای آشنایی با نحوه افزودن شرایط درصد تصادفی به برنامه‌تان، پیکربندی برنامه سرور را ببینید.

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

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

  • Firebase Admin Node.js SDK v12.1.0+
  • Firebase Admin Python SDK v6.7.0+
  • Firebase Admin Go SDK v4.17.0+
  • Firebase Admin Java SDK v9.7.0+

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

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

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

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

دسته اپراتور اپراتورها مقدار
نوشتار دقیقاً مطابقت دارد، حاوی، فاقد، حاوی عبارت باقاعده

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

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

اعداد <، <=، =، !=، >، >= عدد با حداکثر ۱۰ رقم در هر طرف ممیز اعشاری.
نسخه‌ها <، <=، =، !=، >، >= عددی که نشان‌دهنده شماره‌های نسخه برای مطابقت است (برای مثال، 2.1.0).

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

پارامترها و شرایط جستجو

می‌توانید کلیدهای پارامتر، مقادیر پارامتر، و شرایط پروژه‌تان را از کنسول Firebase بااستفاده از چارگوش جستجو در بالای صفحه DevOps و تعامل > پیکربندی از راه دور > پارامترها جستجو کنید.

محدودیت‌های پارامترها و شرایط

در یک پروژه Firebase، می‌توانید حداکثر ۳۰۰۰ پارامتر و حداکثر ۲۰۰۰ شرط داشته باشید. کلیدهای پارامتر می‌توانند حداکثر ۲۵۶ نویسه داشته باشند، باید با زیرخط یا نویسه حرف انگلیسی (A-Z،‏ a-z) شروع شوند، و می‌توانند شامل عدد هم باشند. طول کل رشته‌های مقدار پارامتر در یک پروژه نمی‌تواند از ۱٬۰۰۰٬۰۰۰ نویسه بیشتر باشد. علاوه‌براین، قوانین شرطی براساس مشخصه‌های کاربر می‌تواند شامل حداکثر ۱۰۰ مقدار مشخصه کاربر باشد. برای مشاهده فهرست کامل محدودیت‌ها، به سهمیه‌ها و محدودیت‌ها مراجعه کنید.

مشاهده تغییرات پارامترها و شرایط

می‌توانید جدیدترین تغییرات الگوهای Remote Config را در کنسول Firebase مشاهده کنید. برای هر پارامتر و شرط جداگانه، می‌توانید:

  • نام کاربری را که آخرین بار پارامتر یا شرط را اصلاح کرده است مشاهده کنید.

  • اگر تغییر در همان روز رخ داده است، تعداد دقیقه‌ها یا ساعت‌هایی را که از زمان انتشار تغییر در الگوی فعال Remote Config گذشته است مشاهده کنید.

  • اگر تغییر یک یا چند روز قبل رخ داده است، تاریخی را که تغییر در الگوی فعال Remote Config منتشر شده است مشاهده کنید.

سابقه تغییرات برای پارامترها

در کنسول Firebase، به صفحه DevOps و تعامل > پیکربندی از راه دور > پارامترها بروید. ستون آخرین انتشار آخرین کاربری را که هر پارامتر را اصلاح کرده است و آخرین تاریخ انتشار تغییر را نشان می‌دهد:

  • برای مشاهده فراداده تغییر برای پارامترهای گروه‌بندی‌شده، گروه پارامتر را ازهم باز کنید.

  • برای مرتب‌سازی صعودی یا نزولی براساس تاریخ انتشار، روی برچسب ستون آخرین انتشار کلیک کنید.

سابقه تغییرات برای شرایط

در کنسول Firebase، به صفحه DevOps و تعامل > پیکربندی از راه دور > شرایط بروید. می‌توانید آخرین کاربری را که شرط را اصلاح کرده است و تاریخ اصلاح آن را در کنار آخرین اصلاح در زیر هر شرط ببینید.

مراحل بعدی

برای پیکربندی پروژه Firebase و برنامه سرور برای استفاده از Remote Config، استفاده از Remote Config در محیط‌های سرور را ببینید.