شروع به کار با «پیکربندی از دور» در C++‎

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


می‌توانید از Firebase Remote Config برای تعریف پارامترها در برنامه‌تان و به‌روزرسانی مقادیر آن‌ها در فضای ابری استفاده کنید، که به شما امکان می‌دهد ظاهر و رفتار برنامه‌تان را بدون توزیع به‌روزرسانی برنامه تغییر دهید.

از کتابخانه Remote Config برای ذخیره کردن مقادیر پارامتر پیش‌فرض درون‌برنامه، واکشی مقادیر پارامتر به‌روزشده از باطن Remote Config، و کنترل کردن زمان دردسترس قرار گرفتن مقادیر واکشی‌شده برای برنامه استفاده می‌شود. برای اطلاعات بیشتر، استراتژی‌های بار کردن «پیکربندی از راه دور» را ببینید.

مرحله ۱: Firebase را به برنامه‌تان اضافه کنید

پیش‌از اینکه بتوانید از Remote Config استفاده کنید، باید:

  • پروژه C++‎ خود را ثبت کنید و آن را برای استفاده از Firebase پیکربندی کنید.

    اگر پروژه C++‎ شما ازقبل از Firebase استفاده می‌کند، پس ازقبل برای Firebase ثبت و پیکربندی شده است.

  • کیت توسعه نرم‌افزار Firebase C++ را به پروژه ++C خود اضافه کنید.

توجه داشته باشید که افزودن Firebase به پروژه C++‎ شامل کارهایی هم در Firebase کنسول و هم در پروژه C++‎ باز شما می‌شود (برای مثال، فایل‌های پیکربندی Firebase را از کنسول بارگیری می‌کنید، سپس آن‌ها را به پروژه C++‎ خود منتقل می‌کنید).

مرحله ۲: افزودن Remote Config به برنامه

Android

پس‌از افزودن Firebase به برنامه:

  1. یک برنامه Firebase ایجاد کنید و محیط JNI و Activity را به آن منتقل کنید:

    app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);

  2. کتابخانه Remote Config را همان‌طور که نشان داده شده است مقداردهی اولیه کنید:

    ::firebase::remote_config::Initialize(app);

iOS+‎

پس‌از افزودن Firebase به برنامه:

  1. ایجاد کردن برنامه Firebase:

    app = ::firebase::App::Create(::firebase::AppOptions());

  2. کتابخانه Remote Config را همان‌طور که نشان داده شده است مقداردهی اولیه کنید:

    ::firebase::remote_config::Initialize(app);

مرحله ۳: تنظیم مقادیر پارامتر پیش‌فرض درون‌برنامه

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

  1. مجموعه‌ای از نام‌های پارامتر و مقادیر پیش‌فرض پارامتر را بااستفاده از شیء ConfigKeyValue* یا شیء ConfigKeyValueVariant* با اندازه آرایه تعریف کنید.

    اگر قبلاً مقادیر پارامتر پس‌بک Remote Config را پیکربندی کرده‌اید، می‌توانید فایلی را که حاوی این جفت‌های کلید-مقدار است بارگیری کنید و از آن برای ساختن شیء map خود استفاده کنید. برای اطلاعات بیشتر، بارگیری Remote Config پیش‌فرض‌های الگو را ببینید.

  2. این مقادیر را بااستفاده از SetDefaults() به شیء Remote Config اضافه کنید.

مرحله ۴: دریافت مقادیر پارامتر برای استفاده در برنامه

اکنون می‌توانید مقادیر پارامتر را از شیء Remote Config دریافت کنید. اگر مقادیر را در پسای Remote Config تنظیم کرده باشید، آن‌ها را واکشی کرده باشید، و سپس آن‌ها را فعال کرده باشید، آن مقادیر برای برنامه‌تان دردسترس است. درغیراین‌صورت، مقادیر پارامتر درون‌برنامه را که بااستفاده از SetDefaults() پیکربندی شده‌اند دریافت می‌کنید.

برای دریافت این مقادیر، هریک از روش‌های زیر را که با نوع داده موردانتظار برنامه‌تان مطابقت دارد فراخوانی کنید و کلید پارامتر را به‌عنوان آرگومان ارائه دهید:

مرحله ۵: تنظیم مقادیر پارامتر

  1. در کنسول Firebase، به DevOps و تعامل > پیکربندی از راه دور بروید.

  2. پارامترهایی با نام‌های مشابه پارامترهایی که در برنامه‌تان تعریف کرده‌اید تعریف کنید. برای هر پارامتر، می‌توانید مقدار پیش‌فرض (که درنهایت مقدار پیش‌فرض درون‌برنامه را لغو می‌کند) و مقادیر شرطی تنظیم کنید. برای کسب اطلاعات بیشتر، پارامترها و شرایط Remote Config را ببینید.

مرحله ۶: واکشی و فعال کردن مقادیر

  1. برای واکشی مقادیر پارامتر از زیرینه Remote Config، روش Fetch() را فراخوانی کنید. هر مقداری که در پس‌نما تنظیم می‌کنید واکشی می‌شود و در شیء Remote Config ذخیره می‌شود.
  2. برای دردسترس قرار دادن مقادیر پارامتر واکشی‌شده برای برنامه‌تان، ActivateFetched() را فراخوانی کنید

مرحله ۷: به‌روزرسانی‌ها را به‌طور هم‌زمان بشنوید

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

به‌روزرسانی‌های هم‌زمان توسط Firebase C++ SDK نسخه ۱۱.۰.۰+ و بالاتر برای پلاتفرم‌های Android و Apple پشتیبانی می‌شود.

  1. در برنامه‌تان، AddOnConfigUpdateListener را فراخوانی کنید تا گوش دادن به به‌روزرسانی‌ها را شروع کنید و به‌طور خودکار مقادیر پارامتر جدید یا به‌روزشده را واکشی کنید. مثال زیر به‌روزرسانی‌ها را گوش می‌دهد و وقتی Activate فراخوانی می‌شود، از مقادیر جدیداً واکشی‌شده برای نمایش پیام خوشامدگویی به‌روزشده استفاده می‌کند.
remote_config->AddOnConfigUpdateListener(
    [](firebase::remote_config::ConfigUpdate&& config_update,
       firebase::remote_config::RemoteConfigError remote_config_error) {
      if (remote_config_error != firebase::remote_config::kRemoteConfigErrorNone) {
        printf("Error listening for config updates: %d", remote_config_error);
      }
      // Search the `updated_keys` set for the key "welcome_message."
      // `updated_keys` represents the keys that have changed since the last
      // fetch.
      if (std::find(config_update.updated_keys.begin(),
                    config_update.updated_keys.end(),
                    "welcome_message") != config_update.updated_keys.end()) {
        remote_config->Activate().OnCompletion(
            [&](const firebase::Future& completed_future,
               void* user_data) {
              // The key "welcome_message" was found within `updated_keys` and
              // can be activated.
              if (completed_future.error() == 0) {
                DisplayWelcomeMessage();
              } else {
                printf("Error activating config: %d", completed_future.error());
              }
            },
            nullptr);
      }
    });

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