Firebase Remote Config انعطافپذیری زیادی در مورد نحوه و زمان دریافت مقادیر جدید از سرور و فعالسازی آنها در برنامه شما فراهم میکند و به شما این امکان را میدهد که با کنترل زمانبندی هرگونه تغییر پیکربندی قابل مشاهده، تجربه کاربری باکیفیتی را تضمین کنید. میتوانید مقادیر جدید را در هنگام راهاندازی برنامه با استفاده از fetchAndActivate()
دریافت کنید و از Remote Config بلادرنگ به عنوان یک روش مکمل برای دریافت خودکار آخرین مقادیر پارامتر پس از انتشار نسخه جدید Remote Config خود استفاده کنید.
این راهنما به چند استراتژی بارگذاری نگاهی میاندازد و ملاحظات کلیدی برای انتخاب بهترین گزینه برای برنامه شما را مورد بحث قرار میدهد.
استراتژی ۱: دریافت و فعالسازی در هنگام بارگذاری
در این استراتژی، برنامه شما هنگام شروع به کار، تابع fetchAndActivate()
را فراخوانی میکند تا مقادیر جدید را از Remote Config دریافت کرده و به محض اتمام بارگذاری، آنها را فعال کند. این رویکرد ساده برای تغییرات پیکربندی که هیچ تغییر بصری چشمگیری در رابط کاربری شما ایجاد نمیکنند، به خوبی کار میکند. در هر موقعیتی که رابط کاربری شما میتواند در حین استفاده کاربران، به طور قابل توجهی تغییر کند، باید از آن اجتناب شود.
پس از اینکه برنامه شما تابع fetchAndActivate()
را فراخوانی کرد، میتواند با فراخوانی addOnConfigUpdateListener
شروع به گوش دادن به بهروزرسانیهای مقادیر پارامتر در لحظه کند. این متد شروع به گوش دادن به هرگونه بهروزرسانی سمت سرور برای مقادیر پارامترها میکند، آنها را به طور خودکار دریافت میکند و سپس شنونده را فراخوانی میکند. یک استراتژی ساده، فعال کردن مقادیر جدید در شنونده است. با این حال، همانطور که برای fetchAndActivate()
ذکر شد، برای رابطهای کاربری حساس باید از فعالسازی فوری اجتناب شود.
استراتژی ۲: فعالسازی در پشت صفحه بارگذاری
به عنوان راهکاری برای رفع مشکل احتمالی رابط کاربری که در استراتژی ۱ با آن مواجه شدید، میتوانید به یک صفحه بارگذاری تکیه کنید. به جای اینکه برنامه خود را فوراً راهاندازی کنید، یک صفحه بارگذاری نمایش دهید و تابع fetchAndActivate
در کنترلکننده تکمیل خود فراخوانی کنید. سپس درست پس از آن - دوباره با استفاده از یک فراخوانی مجدد یا یک اعلان - صفحه بارگذاری را ببندید و به کاربر اجازه دهید تا با برنامه شما تعامل داشته باشد.
اگر از این استراتژی استفاده میکنید، توصیه میشود یک زمان انتظار به صفحه بارگذاری اضافه کنید. زمان انتظار یک دقیقهای Remote Config ممکن است برای یک تجربه راهاندازی باکیفیت برنامه برای کاربران خیلی طولانی باشد.
گوش دادن به بهروزرسانیهای Remote Config در لحظه با فراخوانی addOnConfigUpdateListener
با این استراتژی به خوبی کار میکند. شنونده را هنگام نمایش صفحه بارگذاری اضافه کنید، سپس در یک یا چند نقطه از برنامه خود که مقادیر Remote Config باعث تغییرات بصری چشمگیری نمیشوند، از activate()
استفاده کنید.
استراتژی ۳: بارگذاری مقادیر جدید برای راهاندازی بعدی
یک استراتژی مؤثر، بارگذاری مقادیر پیکربندی جدید برای فعال شدن در راهاندازی بعدی برنامه است. در این استراتژی، برنامه شما قبل از تلاش برای دریافت مقادیر جدید، مقادیر واکشی شده را در هنگام راهاندازی فعال میکند و با این فرض عمل میکند که ممکن است مقادیر پیکربندی جدید را قبلاً دریافت کرده باشد - اما هنوز فعال نکرده باشد. ترتیب عملیات برای این استراتژی به شرح زیر است:
- در هنگام راهاندازی، فوراً مقادیر قبلاً واکشیشده را فعال کنید. این کار هر مقداری را که در جلسه قبلی از سرور دانلود کردهاید، اعمال میکند و تقریباً آنی است.
- در حالی که کاربر با برنامه شما تعامل دارد، یک فراخوانی غیرهمزمان برای دریافت مقادیر جدید طبق حداقل فاصله زمانی پیشفرض دریافت آغاز کنید و یک شنونده بهروزرسانی پیکربندی بلادرنگ اضافه کنید. شنونده بهروزرسانی بلادرنگ به طور خودکار هر مقداری را که در حین اجرای برنامه شما روی سرور منتشر میشود، دریافت میکند. بهروزرسانیهای بلادرنگ، تنظیمات حداقل فاصله زمانی دریافت را دور میزنند.
- در completion handler یا callback مربوط به فراخوانی fetch، هیچ کاری انجام ندهید. برنامه شما مقادیر دانلود شده را تا زمانی که دفعه بعد که برنامه را اجرا میکنید، فعال کنید، نگه میدارد.
با این استراتژی، زمان انتظار کاربر تا حد زیادی به حداقل میرسد. ترکیب استراتژیهای fetch و شنوندهی بلادرنگ با فراخوانیهای activate()
در صورت نیاز در چرخهی حیات برنامه، تضمین میکند که کاربران هنگام تعامل با برنامهی شما، آخرین مقادیر را از Remote Config دریافت میکنند.
بارگذاری ضد استراتژیها
همانطور که ممکن است از بحث بالا در مورد مزایا و معایب بارگذاری متوجه شده باشید، چند الگوی استفاده وجود دارد که باید از آنها اجتناب کنید.
- در حالی که کاربر در حال مشاهده یا تعامل با رابط کاربری است، جنبههای آن را بهروزرسانی یا تغییر ندهید - مگر اینکه دلایل محکمی برای برنامه یا کسبوکار خود داشته باشید، مانند حذف گزینههای مربوط به تبلیغاتی که تازه تمام شده است.
- تعداد زیادی درخواست واکشی همزمان ارسال نکنید ، که میتواند منجر به محدود شدن سرعت برنامه شما توسط سرور شود. اگر نیاز دارید که مرتباً بهروزرسانیها را دریافت کنید، Remote Config بلادرنگ استفاده کنید. اگرچه خطر محدود شدن سرعت در اکثر سناریوهای تولید کم است، اما میتواند در طول توسعه فعال مشکلساز باشد - و Remote Config برای این مورد استفاده طراحی شده است. راهنمای محدود کردن سرعت را بررسی کنید.
- برای به دست آوردن مقادیر Remote Config به اتصال شبکه تکیه نکنید . مقادیر پارامترهای پیشفرض درون برنامه را تنظیم کنید تا برنامه شما همیشه طبق انتظار رفتار کند. میتوانید به صورت دورهای مقادیر پیشفرض برنامه و Remote Config backend را با استفاده از پیشفرضهای قالب دانلود شده، همگام نگه دارید.
مراحل بعدی
این سه استراتژی اساسی به هیچ وجه لیست کاملی از روشهای بارگذاری مقادیر پیکربندی را شامل نمیشوند. بسته به نیازهای شما، میتوانید استراتژیهای بسیار پیچیدهتری ابداع کنید.
برای کسب اطلاعات بیشتر در مورد فراخوانیهای خاص برای دریافت و فعالسازی مقادیر پیکربندی، به مرجع API مربوط به پلتفرم خود مراجعه کنید.