درک کردن «پیکربندی از راه دور» هم‌زمان

انتخاب پلاتفرم: iOS+ Android Web Flutter Unity C++

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

  • با عرضه تدریجی ویژگی‌ها به کاربران هدف، ریسک را کاهش دهید و درصورت نیاز، بازگرداندن اضطراری انجام دهید.
  • با سفارشی‌سازی سریع تجربه‌های کاربری درحین استفاده از برنامه، مشارکت کاربر را افزایش دهید. برای مثال، می‌توانید برنماها را به‌روز کنید و برای کاربرانی که با مشخصه‌های کاربر Google Analytics خاصی مطابقت دارند مشوق ارائه دهید یا به‌طور پویا دشواری بازی را برای گروه‌های بازیکنان تنظیم کنید.
  • کاهش وابستگی‌های ساخت و افزایش بهره‌وری توسعه‌دهنده: از پارامترهای Remote Config به‌عنوان پرچم‌های ویژگی استفاده کنید تا عملکرد را برای تیم‌های توسعه و آزمایش خود آشکار کنید، درحالی‌که آن را از دید کاربران در محیط تولید پنهان نگه می‌دارید.

برای کسب اطلاعات بیشتر درباره روش‌های استفاده از Remote Config، به با Remote Config چه کارهایی می‌توانید انجام دهید؟ مراجعه کنید.

این راهنما موضوعات زیر را پوشش می‌دهد:

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

اتصال هم‌زمان مشتری-سرور

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

اگر سرور نسخه جدیدتری داشته باشد، بلافاصله سیگنال ابطال را ارسال می‌کند. اگر نسخه جدیدتری نداشته باشد، اتصال را باز نگه می‌دارد و منتظر می‌ماند تا نسخه جدیدی در سرور منتشر شود. وقتی کیت توسعه نرم‌افزار مشتری سیگنال نامعتبرسازی دریافت می‌کند، به‌طور خودکار آن را واکشی می‌کند، سپس فراخوانی برگشتی شنونده را که هنگام باز کردن اتصال شنونده ثبت شده است فراخوانی می‌کند. این واکشی مشابه فراخوانی واکشی است که می‌توانید با کیت توسعه نرم‌افزار انجام دهید، اما هرگونه تنظیمات ذخیره‌سازی موقت یا minimumFetchInterval را دور می‌زند. اتصال کلاینت-سرور تا زمانی که برنامه در پیش‌زمینه باشد حفظ می‌شود.

گردش کار مشتری-سرور «پیکربندی از راه دور» هم‌زمان
گردش کار مشتری-سرور Remote Config هم‌زمان

ازآنجایی‌که اتصال کارخواه-سرور ازطریق HTTP برقرار می‌شود، به هیچ وابستگی‌ای به کتابخانه‌های دیگر نیاز ندارد.

گوش دادن به به‌روزرسانی‌ها

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

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

فراخوانی برگشتی اغلب مکان خوبی برای استفاده از activate است تا پارامترهای پیکربندی به‌روزشده را برای برنامه‌تان دردسترس قرار دهد. برای راهبردهای بیشتر جهت فعال کردن مقادیر پارامتر هنگام استفاده از Remote Config هم‌زمان، به راهبردهای بارگیری Remote Config Firebase مراجعه کنید.

فعال کردن انتخابی مقادیر پارامتر

وقتی با onConfigUpdate تماس می‌گیرید، می‌توانید منتظر تغییر بمانید و آن را فعال کنید.

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

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

  • کلیدهای پارامتری که اضافه یا برداشته شده‌اند
  • کلیدهای پارامتری که مقادیرشان تغییر کرده است
  • کلیدهای پارامتر که فراداده آن‌ها تغییر کرده است (برای مثال، اطلاعات شخصی‌سازی Remote Config)
  • کلیدهای پارامتری که منبع مقدار آن‌ها تغییر کرده است (برای مثال، مقدار پیش‌فرض درون‌برنامه که به مقدار سمت سرور به‌روزرسانی می‌شود)

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

گاهی اوقات، واکشی (که هنگام فراخوانی روش fetch یا توسط Remote Config هم‌زمان آغاز می‌شود) منجر به به‌روزرسانی برای کارخواه نمی‌شود. در این موارد، روش next یا تکمیل فراخوانی نخواهد شد.

افزودن و برداشتن شنوندگان

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

این فراخوانی یک «ثبت شنونده» را برمی‌گرداند که دارای روشی به‌نام Unsubscribe است. برای توقف گوش دادن به به‌روزرسانی‌ها، تابع Unsubscribe را که هنگام ثبت اولیه ناظر برگردانده شده بود فراخوانی می‌کنید. اگر این تنها شنونده فعال باشد، فراخوانی Unsubscribe اتصال هم‌زمان به سرور را می‌بندد.

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

مراحل بعدی

برای پیکربندی Remote Config و شروع گوش دادن به به‌روزرسانی‌ها در زمان واقعی، شروع به کار با Firebase Remote Config را بررسی کنید.