Beginnen Sie mit Firebase Remote Config


Sie können Firebase Remote Config verwenden, um Parameter in Ihrer App zu definieren und ihre Werte in der Cloud zu aktualisieren, sodass Sie das Erscheinungsbild und Verhalten Ihrer App ändern können, ohne ein App-Update zu verteilen.

Die Remote Config-Bibliothek wird verwendet, um In-App-Standardparameterwerte zu speichern, aktualisierte Parameterwerte vom Remote Config-Backend abzurufen und zu steuern, wann abgerufene Werte Ihrer App zur Verfügung gestellt werden. Weitere Informationen finden Sie unter Ladestrategien für Remote-Konfigurationen .

Schritt 1: Fügen Sie Firebase zu Ihrer App hinzu

Bevor Sie Remote Config verwenden können, müssen Sie Folgendes tun:

  • Registrieren Sie Ihr C++-Projekt und konfigurieren Sie es für die Verwendung von Firebase.

    Wenn Ihr C++-Projekt Firebase bereits verwendet, ist es bereits für Firebase registriert und konfiguriert.

  • Fügen Sie das Firebase C++ SDK zu Ihrem C++-Projekt hinzu.

Beachten Sie, dass das Hinzufügen von Firebase zu Ihrem C++-Projekt Aufgaben sowohl in der Firebase-Konsole als auch in Ihrem offenen C++-Projekt erfordert (Sie laden beispielsweise Firebase-Konfigurationsdateien von der Konsole herunter und verschieben sie dann in Ihr C++-Projekt).

Schritt 2: Fügen Sie Remote Config zu Ihrer App hinzu

Android

Nachdem Sie Firebase zu Ihrer App hinzugefügt haben:

  1. Erstellen Sie eine Firebase-App und übergeben Sie dabei die JNI-Umgebung und Aktivität:

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

  2. Initialisieren Sie die Remote Config-Bibliothek wie gezeigt:

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

iOS+

Nachdem Sie Firebase zu Ihrer App hinzugefügt haben:

  1. Erstellen Sie eine Firebase-App:

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

  2. Initialisieren Sie die Remote Config-Bibliothek wie gezeigt:

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

Schritt 3: In-App-Standardparameterwerte festlegen

Sie können In-App-Standardparameterwerte im Remote Config-Objekt festlegen, sodass sich Ihre App wie vorgesehen verhält, bevor sie eine Verbindung zum Remote Config-Backend herstellt, und sodass Standardwerte verfügbar sind, wenn im Backend keine festgelegt sind.

  1. Definieren Sie einen Satz von Parameternamen und Standardparameterwerten mithilfe eines std::map<const char*, const char*> Objekts oder eines std::map<const char*, firebase::Variant> -Objekts.

    Wenn Sie bereits Parameterwerte für das Remote Config-Backend konfiguriert haben, können Sie eine Datei herunterladen, die diese Schlüssel/Wert-Paare enthält, und diese zum Erstellen Ihres map verwenden. Weitere Informationen finden Sie unter Standardeinstellungen für Remote-Konfigurationsvorlagen herunterladen .

  2. Fügen Sie diese Werte mit SetDefaults() zum Remote Config-Objekt hinzu.

Schritt 4: Rufen Sie Parameterwerte zur Verwendung in Ihrer App ab

Jetzt können Sie Parameterwerte vom Remote Config-Objekt abrufen. Wenn Sie im Remote Config-Backend Werte festlegen, diese abrufen und dann aktivieren, stehen diese Werte Ihrer App zur Verfügung. Andernfalls erhalten Sie die mit SetDefaults() konfigurierten In-App-Parameterwerte.

Um diese Werte zu erhalten, rufen Sie die unten aufgeführte Methode auf, die dem von Ihrer App erwarteten Datentyp zuordnet, und geben Sie den Parameterschlüssel als Argument an:

Schritt 5: Verbinden Sie Ihre App in der Firebase-Konsole

Fügen Sie in der Firebase-Konsole Ihre App zu Ihrem Firebase-Projekt hinzu.

Schritt 6: Parameterwerte einstellen

  1. Öffnen Sie in der Firebase-Konsole Ihr Projekt.
  2. Wählen Sie „Remote-Konfiguration“ aus dem Menü, um das Remote-Konfigurations-Dashboard anzuzeigen.
  3. Definieren Sie Parameter mit denselben Namen wie die Parameter, die Sie in Ihrer App definiert haben. 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 7: 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 8: 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.

Next steps

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: