Inizia a utilizzare Firebase Remote Config


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

La libreria Remote Config viene utilizzata per memorizzare i valori parametro predefiniti in-app, recuperare i valori parametro aggiornati dal backend Remote Config e controllare quando i valori recuperati vengono resi disponibili per l'app. Per saperne di più, consulta le strategie di caricamento di Remote Config.

Passaggio 1: aggiungi Firebase alla tua app

Prima di poter utilizzare Remote Config, devi:

  • Registra il tuo progetto C++ e configuralo in modo che utilizzi Firebase.

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

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

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

Passaggio 2: aggiungi Remote Config alla tua app

Android

Dopo aver aggiunto Firebase alla tua app:

  1. Crea un'app Firebase passando l'ambiente JNI e l'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 predefiniti dei parametri in-app

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

  1. Definisci un insieme di nomi di parametri e valori predefiniti utilizzando un oggetto ConfigKeyValue* o un oggetto ConfigKeyValueVariant* con le dimensioni dell'array.

    Se hai già configurato i valori del parametro di backend Remote Config, puoi scaricare un file contenente queste coppie chiave/valore e utilizzarlo per creare l'oggetto map. Per saperne di più, consulta Scarica i valori predefiniti del modelloRemote Config.

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

Passaggio 4: ottieni i valori parametro da utilizzare nell'app

Ora puoi ottenere i valori dei parametri dall'oggetto Remote Config. Se hai impostato i valori nel backend di Remote Config, li hai recuperati e poi li hai attivati, questi valori sono disponibili per la tua app. In caso contrario, 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: imposta i valori dei parametri

  1. Nella console Firebase, apri il progetto.
  2. Seleziona Remote Config dal menu per visualizzare la dashboard di Remote Config.
  3. Definisci i parametri con gli stessi nomi di quelli definiti nella tua app. Per ogni parametro, puoi impostare un valore predefinito (che alla fine sostituirà il valore predefinito in-app) e valori condizionali. Per saperne di più, consulta i parametri e le condizioni di Remote Config.

Passaggio 6: recupera e attiva i valori

  1. Per recuperare i valori dei parametri dal backend Remote Config, chiama il metodo Fetch(). Tutti i valori impostati sul backend vengono recuperati e memorizzati nella cache nell'oggetto Remote Config.
  2. Per rendere disponibili per la tua app i valori dei parametri recuperati, chiama ActivateFetched()

Passaggio 7: ascolta gli aggiornamenti in tempo reale

Dopo aver recuperato i valori dei parametri, puoi utilizzare Remote Config in tempo reale per monitorare gli aggiornamenti dal backend Remote Config. Remote Config in tempo reale segnala ai dispositivi connessi quando sono disponibili aggiornamenti e recupera automaticamente le modifiche dopo la pubblicazione di una nuova versione di Remote Config.

Gli aggiornamenti in tempo reale sono supportati dall'SDK Firebase C++ v11.0.0 e versioni successive per le piattaforme Android e Apple.

  1. Nell'app, chiama AddOnConfigUpdateListener per iniziare a monitorare gli aggiornamenti e recuperare automaticamente i valori dei parametri nuovi o aggiornati. L'esempio seguente ascolta gli aggiornamenti e, quando viene chiamato Activate, utilizza i valori appena recuperati per visualizzare un messaggio di benvenuto aggiornato.
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);
      }
    });

La volta successiva che pubblichi una nuova versione di Remote Config, i dispositivi su cui è in esecuzione la tua app e che sono in ascolto delle modifiche chiameranno l'ascoltatore di aggiornamenti della configurazione.

Passaggi successivi

Se non l'hai ancora fatto, consulta i Remote Config casi d'uso e dai un'occhiata ad alcuni dei concetti chiave e della documentazione sulle strategie avanzate, tra cui: