Catch up on highlights from Firebase at Google I/O 2023. Learn more

Inizia con la configurazione remota di Firebase


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 back-end Remote Config e controllare quando i valori recuperati vengono resi disponibili per la 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++ usa già Firebase, allora è 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 che nel progetto C++ aperto (ad esempio, scarichi i file di configurazione di Firebase dalla console, quindi li sposti nel progetto C++).

Passaggio 2: aggiungi Remote Config alla tua app

Androide

Dopo aver aggiunto Firebase alla tua app:

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

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

  2. Inizializzare 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. Inizializzare 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 back-end Remote Config e in modo che i valori predefiniti siano disponibili se nessuno è impostato sul back-end.

  1. Definire un set di nomi di parametro 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 back-end di Remote Config, puoi scaricare un file che contiene queste coppie chiave/valore e utilizzarlo per costruire il tuo oggetto map . Per ulteriori informazioni, consulta Download delle impostazioni predefinite del modello Remote Config .

  2. Aggiungi questi valori all'oggetto Remote Config usando 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 i valori nel back-end Remote Config, li recuperi e li attivi, tali 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 al 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. Seleziona Remote Config dal menu per visualizzare la dashboard di Remote Config.
  3. Definisci i parametri con gli stessi nomi dei parametri che hai definito nella tua app. Per ogni parametro, puoi impostare un valore predefinito (che alla fine sovrascriverà il valore predefinito in-app) e valori condizionali. Per ulteriori informazioni, consulta Parametri e condizioni di Remote Config .

Passaggio 7: 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 back-end vengono recuperati e memorizzati nella cache nell'oggetto Remote Config.
  2. Per rendere i valori dei parametri recuperati disponibili per la tua app, chiama ActivateFetched()

Passaggio 8: 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 back-end di 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 da Firebase C++ SDK v11.0.0+ e versioni successive per 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 , usa i nuovi valori 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 prossima volta che pubblichi una nuova versione di Remote Config, i dispositivi che eseguono la tua app e ascoltano le modifiche chiameranno il listener di aggiornamento della configurazione.

Prossimi passi

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