با 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 تنظیم کنید، به طوری که برنامه شما قبل از اتصال به پشتیبان Remote Config همانطور که در نظر گرفته شده است رفتار کند، و اگر مقادیر پیش‌فرض در backend تنظیم نشده باشد، در دسترس باشند.

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

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

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

مراحل بعدی

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

،


You can use Firebase Remote Config to define parameters in your app and update their values in the cloud, allowing you to modify the appearance and behavior of your app without distributing an app update.

The Remote Config library is used to store in-app default parameter values, fetch updated parameter values from the Remote Config backend, and control when fetched values are made available to your app. To learn more, see Remote Config loading strategies .

Step 1: Add Firebase to your app

Before you can use Remote Config , you need to:

  • Register your C++ project and configure it to use Firebase.

    If your C++ project already uses Firebase, then it's already registered and configured for Firebase.

  • Add the Firebase C++ SDK to your C++ project.

Note that adding Firebase to your C++ project involves tasks both in the Firebase console and in your open C++ project (for example, you download Firebase config files from the console, then move them into your C++ project).

Step 2: Add Remote Config to your app

اندروید

After you've added Firebase to your app:

  1. Create a Firebase App, passing in the JNI environment and Activity:

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

  2. Initialize the Remote Config library, as shown:

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

iOS+

After you've added Firebase to your app:

  1. Create a Firebase App:

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

  2. Initialize the Remote Config library, as shown:

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

Step 3: Set in-app default parameter values

You can set in-app default parameter values in the Remote Config object, so that your app behaves as intended before it connects to the Remote Config backend, and so that default values are available if none are set on the backend.

  1. Define a set of parameter names, and default parameter values using a ConfigKeyValue* object or a ConfigKeyValueVariant* object with the size of the array.

    If you have already configured Remote Config backend parameter values, you can download a file that contains these key/value pairs and use it to construct your map object. For more information, see Download Remote Config template defaults .

  2. Add these values to the Remote Config object using SetDefaults() .

Step 4: Get parameter values to use in your app

Now you can get parameter values from the Remote Config object. If you set values in the Remote Config backend, fetched them, and then activated them, those values are available to your app. Otherwise, you get the in-app parameter values configured using SetDefaults() .

To get these values, call the method listed below that maps to the data type expected by your app, providing the parameter key as an argument:

Step 5: Set parameter values

  1. In the Firebase console , open your project.
  2. Select Remote Config from the menu to view the Remote Config dashboard.
  3. Define parameters with the same names as the parameters that you defined in your app. For each parameter, you can set a default value (which will eventually override the in-app default value) and conditional values. To learn more, see Remote Config parameters and conditions .

Step 6: Fetch and activate values

  1. To fetch parameter values from the Remote Config backend, call the Fetch() method. Any values that you set on the backend are fetched and cached in the Remote Config object.
  2. To make fetched parameter values available to your app, call the ActivateFetched()

Step 7: Listen for updates in real time

After you fetch parameter values, you can use real-time Remote Config to listen for updates from the Remote Config backend. Real-time Remote Config signals to connected devices when updates are available and automatically fetches the changes after you publish a new Remote Config version.

Real-time updates are supported by the Firebase C++ SDK v11.0.0+ and higher for Android and Apple platforms.

  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:

،


You can use Firebase Remote Config to define parameters in your app and update their values in the cloud, allowing you to modify the appearance and behavior of your app without distributing an app update.

The Remote Config library is used to store in-app default parameter values, fetch updated parameter values from the Remote Config backend, and control when fetched values are made available to your app. To learn more, see Remote Config loading strategies .

Step 1: Add Firebase to your app

Before you can use Remote Config , you need to:

  • Register your C++ project and configure it to use Firebase.

    If your C++ project already uses Firebase, then it's already registered and configured for Firebase.

  • Add the Firebase C++ SDK to your C++ project.

Note that adding Firebase to your C++ project involves tasks both in the Firebase console and in your open C++ project (for example, you download Firebase config files from the console, then move them into your C++ project).

Step 2: Add Remote Config to your app

اندروید

After you've added Firebase to your app:

  1. Create a Firebase App, passing in the JNI environment and Activity:

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

  2. Initialize the Remote Config library, as shown:

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

iOS+

After you've added Firebase to your app:

  1. Create a Firebase App:

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

  2. Initialize the Remote Config library, as shown:

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

Step 3: Set in-app default parameter values

You can set in-app default parameter values in the Remote Config object, so that your app behaves as intended before it connects to the Remote Config backend, and so that default values are available if none are set on the backend.

  1. Define a set of parameter names, and default parameter values using a ConfigKeyValue* object or a ConfigKeyValueVariant* object with the size of the array.

    If you have already configured Remote Config backend parameter values, you can download a file that contains these key/value pairs and use it to construct your map object. For more information, see Download Remote Config template defaults .

  2. Add these values to the Remote Config object using SetDefaults() .

Step 4: Get parameter values to use in your app

Now you can get parameter values from the Remote Config object. If you set values in the Remote Config backend, fetched them, and then activated them, those values are available to your app. Otherwise, you get the in-app parameter values configured using SetDefaults() .

To get these values, call the method listed below that maps to the data type expected by your app, providing the parameter key as an argument:

Step 5: Set parameter values

  1. In the Firebase console , open your project.
  2. Select Remote Config from the menu to view the Remote Config dashboard.
  3. Define parameters with the same names as the parameters that you defined in your app. For each parameter, you can set a default value (which will eventually override the in-app default value) and conditional values. To learn more, see Remote Config parameters and conditions .

Step 6: Fetch and activate values

  1. To fetch parameter values from the Remote Config backend, call the Fetch() method. Any values that you set on the backend are fetched and cached in the Remote Config object.
  2. To make fetched parameter values available to your app, call the ActivateFetched()

Step 7: Listen for updates in real time

After you fetch parameter values, you can use real-time Remote Config to listen for updates from the Remote Config backend. Real-time Remote Config signals to connected devices when updates are available and automatically fetches the changes after you publish a new Remote Config version.

Real-time updates are supported by the Firebase C++ SDK v11.0.0+ and higher for Android and Apple platforms.

  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: