Inizia a utilizzare 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.

La libreria Remote Config viene utilizzata per archiviare 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 la tua app. Per saperne di più, consulta 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 tuo progetto C++ comporta attività sia nella Firebase console sia nel progetto C++ aperto (ad esempio, scarichi i file di configurazione Firebase dalla console, poi 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 in modo che i valori predefiniti siano disponibili se non ne è impostato nessuno nel backend.

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

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

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

Passaggio 4: ottieni i valori dei parametri da utilizzare nell'app

Ora puoi ottenere i valori dei parametri dall'oggetto Remote Config. Se imposti i valori nel backend Remote Config, li recuperi e li attivi, 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 esegue il mapping del 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 tuo progetto.
  2. Seleziona Remote Config dal menu per visualizzare la dashboard 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 parametri e 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 nel backend vengono recuperati e memorizzati nella cache nell'oggetto Remote Config.
  2. Per rendere disponibili i valori dei parametri recuperati per la tua app, chiama il ActivateFetched()

Passaggio 7: ascolta gli aggiornamenti in tempo reale

Dopo aver recuperato i valori dei parametri, puoi utilizzare Remote Config in tempo reale per ascoltare gli aggiornamenti dal backend Remote Config. Remote Config in tempo reale 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. Nella tua app, chiama AddOnConfigUpdateListener per iniziare ad ascoltare 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 che eseguono la tua app e rilevano le modifiche chiameranno il listener di aggiornamento della configurazione.

Passaggi successivi

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