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


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

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

مرحله ۱: اضافه کردن فایربیس به برنامه

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

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

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

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

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

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

اندروید

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

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

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

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

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

آی‌او‌اس+

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

مرحله ۶: دریافت و فعال‌سازی مقادیر

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

مرحله ۷: به روزرسانی‌ها را به صورت آنی دریافت کنید

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

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

  1. In your app, call AddOnConfigUpdateListener to start listening for updates and automatically fetch any new or updated parameter values. The following example listens for updates and, when Activate is called, uses the newly fetched values to display an updated welcome message.
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);
      }
    });

The next time you publish a new version of your Remote Config , devices that are running your app and listening for changes will call the config update listener.

مراحل بعدی

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: