با Firebase Remote Config شروع کنید


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

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

مرحله 1: Firebase را به برنامه خود اضافه کنید

قبل از اینکه بتوانید از Remote Config استفاده کنید، باید:

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

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

  • Firebase C++ SDK را به پروژه C++ خود اضافه کنید.

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

مرحله 2: Remote Config را به برنامه خود اضافه کنید

اندروید

بعد از اینکه Firebase را به برنامه خود اضافه کردید:

  1. ایجاد یک برنامه Firebase، عبور در محیط JNI و فعالیت:

    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);

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

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

  1. مجموعه ای از نام پارامترها و مقادیر پارامترهای پیش فرض را با استفاده از یک شی std::map<const char*, const char*> یا یک شی std::map<const char*, firebase::Variant> تعریف کنید.

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

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

مرحله 4: مقادیر پارامتر را برای استفاده در برنامه خود دریافت کنید

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

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

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

  1. در کنسول Firebase ، پروژه خود را باز کنید.
  2. Remote Config را از منو انتخاب کنید تا داشبورد Remote Config را مشاهده کنید.
  3. پارامترهایی را با همان نام پارامترهایی که در برنامه خود تعریف کرده اید تعریف کنید. برای هر پارامتر، می توانید یک مقدار پیش فرض (که در نهایت مقدار پیش فرض درون برنامه را لغو می کند) و مقادیر شرطی تنظیم کنید. برای کسب اطلاعات بیشتر، به پارامترها و شرایط Remote Config مراجعه کنید.

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

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

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

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

به‌روزرسانی‌های بی‌درنگ توسط Firebase C++ SDK v11.0.0+ و بالاتر برای پلتفرم‌های 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 خود را منتشر می کنید، دستگاه هایی که برنامه شما را اجرا می کنند و به تغییرات گوش می دهند، شنونده به روز رسانی پیکربندی را صدا می کنند.

مراحل بعدی

اگر قبلاً این کار را نکرده اید ، موارد استفاده از راه دور از پیکربندی را کاوش کنید و به برخی از مفاهیم کلیدی و مستندات استراتژی های پیشرفته ، از جمله: