Inizia con Firebase Remote Config


Puoi utilizzare Firebase Remote Config per definire i parametri nella tua app e aggiornarne i valori nel cloud, consentendoti di modificare l'aspetto e il comportamento della tua app senza distribuire un aggiornamento dell'app.

La libreria Remote Config viene utilizzata per archiviare i valori dei parametri predefiniti in-app, recuperare i valori dei parametri aggiornati dal backend Remote Config e controllare quando i valori recuperati vengono resi disponibili alla tua app. Per ulteriori informazioni, consulta Strategie di caricamento di Remote Config .

Passaggio 1: aggiungi Firebase alla tua app

Prima di poter utilizzare Remote Config , è necessario:

  • Registra il tuo progetto C++ e configuralo per utilizzare Firebase.

    Se il tuo progetto C++ utilizza già Firebase, significa che è già registrato e configurato per Firebase.

  • Aggiungi l' SDK Firebase C++ al tuo progetto C++.

Tieni presente che l'aggiunta di Firebase al tuo progetto C++ comporta attività sia nella console Firebase che nel tuo progetto C++ aperto (ad esempio, scarichi i file di configurazione Firebase dalla console, quindi li sposti nel tuo progetto C++).

Passaggio 2: aggiungi Remote Config alla tua app

Androide

Dopo aver aggiunto Firebase alla tua app:

  1. Crea un'app Firebase, passando nell'ambiente JNI e nell'attività:

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

  2. Inizializza la libreria Remote Config, come mostrato:

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

iOS+

Dopo aver aggiunto Firebase alla tua app:

  1. Crea un'app Firebase:

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

  2. Inizializza la libreria Remote Config, come mostrato:

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

Passaggio 3: imposta i valori dei parametri predefiniti in-app

Puoi impostare i valori dei parametri predefiniti in-app nell'oggetto Remote Config, in modo che la tua app si comporti come previsto prima di connettersi al backend Remote Config e in modo che i valori predefiniti siano disponibili se non ne sono impostati nessuno sul backend.

  1. Definire un set di nomi di parametri e valori di parametro predefiniti utilizzando un oggetto std::map<const char*, const char*> o un oggetto std::map<const char*, firebase::Variant> .

    Se hai già configurato i valori dei parametri backend di Remote Config, puoi scaricare un file che contiene queste coppie chiave/valore e utilizzarlo per costruire l'oggetto della map . Per ulteriori informazioni, consulta Scaricare le impostazioni predefinite del modello Remote Config .

  2. Aggiungere questi valori all'oggetto Remote Config utilizzando SetDefaults() .

Passaggio 4: ottieni i valori dei parametri da utilizzare nella tua app

Ora puoi ottenere i valori dei parametri dall'oggetto Remote Config. Se imposti valori nel backend Remote Config, li recuperi e quindi li attivi, tali valori saranno disponibili per la tua app. Altrimenti, ottieni i valori dei parametri in-app configurati utilizzando SetDefaults() .

Per ottenere questi valori, chiama il metodo elencato di seguito che mappa il tipo di dati previsto dalla tua app, fornendo la chiave del parametro come argomento:

Passaggio 5: collega la tua app alla console Firebase

Nella console Firebase , aggiungi la tua app al tuo progetto Firebase.

Passaggio 6: impostare i valori dei parametri

  1. Nella console Firebase , apri il tuo progetto.
  2. Selezionare Remote Config dal menu per visualizzare il dashboard Remote Config.
  3. Definisci i parametri con gli stessi nomi dei parametri che hai definito nella tua 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 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: