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:
Crea un'app Firebase, passando l'ambiente JNI e l'attività:
app = ::firebase::App::Create(::firebase::AppOptions(), jni_env, activity);
Inizializza la libreria Remote Config, come mostrato:
::firebase::remote_config::Initialize(app);
iOS+
Dopo aver aggiunto Firebase alla tua app:
Crea un'app Firebase:
app = ::firebase::App::Create(::firebase::AppOptions());
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.
Definisci un insieme di nomi di parametri e valori predefiniti dei parametri utilizzando un oggetto
ConfigKeyValue*
o un oggettoConfigKeyValueVariant*
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.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
- Nella console Firebase, apri il tuo progetto.
- Seleziona Remote Config dal menu per visualizzare la dashboard Remote Config.
- 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
- 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. - 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.
- 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 chiamatoActivate
, 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: