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

انتخاب پلاتفرم: iOS+ Android Web 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. با ارسال محیط JNI و «فعالیت»، برنامه Firebase را ایجاد کنید:

    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 object تنظیم کنید تا برنامه‌تان قبل‌از اتصال به 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 زیرینه استفاده کنید. وقتی به‌روزرسانی دردسترس باشد، 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 خود منتشر می‌کنید، دستگاه‌هایی که برنامه شما را اجرا می‌کنند و منتظر تغییرات هستند، شنونده به‌روزرسانی پیکربندی را فراخوانی خواهند کرد.