Firebase Remote Config به شما امکان میدهد رفتار و ظاهر برنامههایتان را بهطور پویا کنترل کنید، بدون اینکه کاربران نیاز به بارگیری بهروزرسانی برنامه داشته باشند یا نیاز به استقرار مجدد پسبست باشد.
برای پیکربندی کردن برنامههایتان، پارامترها (جفتهای کلید-مقدار) را در Remote Config تعریف میکنید و آنها را در برنامه یا کد زیرینه خود مصرف میکنید. همچنین میتوانید شرایط (قوانین هدفیابی) را برای اختصاص دادن مقادیر شرطی تعریف کنید که مقادیر پیشفرض را برای مخاطبان، محیطها، یا معیارهای سفارشی خاص لغو میکنند.
Remote Config پارامترها و شرایط را در الگوها سازماندهی میکند. بسته به معماریتان، میتوانید از الگوهای کارخواه، الگوهای سرور، یا هر دو استفاده کنید:
پارامترها و شرایط در الگوهای کارخواه: پیکربندیها را به نمونههای برنامه کارخواه در پلاتفرمهای Apple، Android، Web، Flutter، Unity، و C++ ارائه دهید. نمونههای برنامه هدف بااستفاده از Google Analytics مخاطبان، نسخههای برنامه، پلاتفرم، زبان دستگاه، کشور، صدکهای کاربر، و سیگنالهای سفارشی سمت کارخواه.
پارامترها و شرایط در الگوهای سرور: پیکربندیها را به محیطهای پسبک مانند Cloud Run، Cloud Functions for Firebase، یا سرورهای کانتینریشده بااستفاده از Firebase Admin SDK برای Node.js، Python، Go، و Java ارائه دهید. پارامترها را در سمت سرور با تأخیر نزدیک به صفر بااستفاده از سیگنالهای سفارشی سرور و عرضه درصدی تصادفی ارزیابی کنید.
مقایسه الگوهای کارخواه و سرور
الگوهای کارخواه و سرور معماریهای متفاوتی دارند و از کیتهای توسعه نرمافزار و قوانین هدفیابی متمایزی پشتیبانی میکنند. از جدول زیر برای درک اینکه کدام نوع الگو با مورد استفاده شما مطابقت دارد استفاده کنید:
| ویژگی | الگوهای کارخواه | الگوهای سرور |
|---|---|---|
| محیطهای هدف | برنامههای کارخواه (Apple، Android، Web، Flutter، Unity، C++) | محیطهای سرور (Cloud Run، Cloud Functions for Firebase، GKE، سرویسهای پسزمینه) |
| کیتهای توسعه نرمافزار پشتیبانیشده | کیتهای توسعه نرمافزار کارخواه Firebase | Firebase Admin SDK (Node.js، Python، Go، Java) |
| مدل ارزیابی | در دستگاههای کارخواه واکشی و ذخیره موقت میشود؛ با کد برنامه فعال میشود | در حافظه سرور بار میشود؛ برای هر درخواست با تأخیر نزدیک به صفر ارزیابی میشود |
| قوانین شرط | نسخه برنامه، سیستمعامل/پلاتفرم، زبان دستگاه، کشور/منطقه، Analytics مخاطبان و ویژگیهای کاربر، کاربر در صدک تصادفی، اولین باز کردن برنامه، سیگنالهای سفارشی کارخواه | کاربر در درصد تصادفی، سیگنالهای سفارشی سرور |
| موارد استفاده رایج | عرضه ویژگیها، تبلیغات فصلی، زمینههای واسط کاربر، A/B Testing، شخصیسازی | پیامواره هوش مصنوعی و انتخاب مدل، پرچمهای ویژگی سمت سرور، محدودیت نرخ پشتیبان، مسیریابی پویا |
| راهنمای دقیق | پارامترها در الگوهای مشتری | پارامترها در الگوهای سرور |
مفاهیم اصلی
چه با الگوهای کارخواه کار کنید چه با الگوهای سرور، Remote Config مفاهیم اساسی را همرسانی میکند:
پارامترها
پارامترها جفتهای کلید-مقداری هستند که در کنسول Firebase یا بااستفاده از میاناهای برنامهسازی کاربردی پسبکRemote Config تعریف میکنید.
- کلیدهای پارامتر: شناسههای رشتهای برای پارامترهای شما. کلیدها میتوانند تا ۲۵۶ نویسه داشته باشند، باید با زیرخط یا نویسه حرف انگلیسی (A-Z، a-z) شروع شوند، و میتوانند شامل عدد باشند.
- مقادیر پارامتر: مقادیر اختصاصدادهشده به پارامترهای شما. مقادیر بهصورت رشته ذخیره میشوند، اما میتوانید انواع داده را در کنسول انتخاب کنید تا مقادیر را دربرابر قالبهایی مثل
String،Boolean،Number، یاJSONاعتبارسنجی کنید. - مقادیر پیشفرض: مقدار خط مبنای اختصاصدادهشده وقتی هیچ قانون شرطی اعمال نمیشود. میتوانید مقادیر پیشفرض درونبرنامه را در کدتان و همچنین مقادیر پیشفرض الگو را در پسبخش Remote Config تعریف کنید.
شرایط، قوانین، و مقادیر شرطی
شرایط به شما امکان میدهد بخشهای خاصی از کاربران برنامه یا درخواستهای سرور را با مقادیر پارامتر سفارشیشده هدفیابی کنید:
- قوانین: معیارهای فردی ارزیابیشده دربرابر فراداده مشتری یا زمینههای درخواست (مانند شماره نسخه، کشور، یا سیگنال سفارشی).
- شرایط: مجموعههای نامگذاریشده از یک یا چند قانون. همه قوانین درون یک شرط باید به
trueارزیابی شوند تا شرط بهtrueارزیابی شود. - مقادیر شرطی: مقادیر جایگزینی که وقتی شرطی به
trueارزیابی میشود به پارامتر اختصاص داده میشوند. اگر چند شرط بهtrueارزیابی شود، شرطی که بالاترین اولویت را در کنسول Firebase دارد اولویت پیدا میکند.
گروههای پارامتر
برای سازماندهی پیکربندیها با دهها یا صدها پارامتر، میتوانید از گروههای پارامتر استفاده کنید. گروهها سازماندهی بصری در کنسول Firebase و گروهبندی منطقی در REST API ارائه میدهند.
- پارامتر در هر زمان فقط میتواند به یک گروه تعلق داشته باشد.
- کلیدهای پارامتر در سراسر پروژه شما بدون درنظر گرفتن گروهبندی، بهصورت سراسری منحصربهفرد باقی میمانند.
- گروهبندی نحوه ارجاع به مقادیر پارامتر را در کد کیت توسعه نرمافزار شما تغییر نمیدهد.
برای دستورالعملهای مربوط به ایجاد و مدیریت گروهها، به راهنماهای دقیق پارامترهای کارخواه یا سرور مراجعه کنید.
نسخهبندی و عقبگرد الگو
هربار که پارامترها یا شرایط را در Remote Config بهروزرسانی و منتشر میکنید، Firebase نسخه جدیدی از الگوی شما ایجاد و ذخیره میکند. میتوانید سابقه نسخه را مشاهده کنید، تغییرات بین نسخهها را مقایسه کنید، و درصورت لزوم به نسخه قبلی برگردید.
برای کسب اطلاعات بیشتر درباره مدیریت نسخه الگو، مدیریت نسخههای الگو Remote Config را ببینید.
سهمیهها و محدودیتها
در پروژه Firebase، Remote Config محدودیتهای زیر را اعمال میکند:
- پارامترها: حداکثر ۳٬۰۰۰ پارامتر برای هر پروژه.
- شرایط: حداکثر ۲۰۰۰ شرط برای هر پروژه.
- طول کلید پارامتر: حداکثر ۲۵۶ نویسه.
- طول رشته مقدار کل: حداکثر ۱٬۰۰۰٬۰۰۰ نویسه در همه مقادیر پارامتر در یک پروژه.
برای مشاهده فهرست کامل محدودیتها، به سهمیهها و محدودیتها مراجعه کنید.
مراحل بعدی
- برنامههای مشتری: با نحوه پیکربندی پارامترها، قوانین هدفیابی، و اولویت در پارامترها و شرایط در الگوهای مشتری آشنا شوید.
- برنامههای سرور: با نحوه پیکربندی پارامترهای سرور، سیگنالهای سفارشی، و ارزیابی سرور در پارامترها و شرایط در الگوهای سرور آشنا شوید.
- شروع به کار با کیتهای توسعه نرمافزار کارخواه: برنامه کارخواه خود را با راهنمای شروع به کار با Firebase Remote Config راهاندازی کنید.
- شروع به کار با کیتهای توسعه نرمافزار سرور: محیط پسبک خود را با راهنمای استفاده از Remote Config در محیطهای سرور راهاندازی کنید.
- خودکارسازی بهروزرسانیها: با نحوه اصلاح الگوها بهصورت برنامهنویسیشده در اصلاح Remote Config بهصورت برنامهنویسیشده آشنا شوید.