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 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 l'app. Per scoprire 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 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:
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 che i valori predefiniti siano disponibili se non ne sono impostati sul backend.
Definisci un insieme di nomi dei parametri e valori dei parametri predefiniti utilizzando un oggetto
ConfigKeyValue*
o un oggettoConfigKeyValueVariant*
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 modello Remote Config.Aggiungi questi valori all'oggetto Remote Config utilizzando
SetDefaults()
.
Passaggio 4: ottieni i valori parametro da utilizzare nell'app
Ora puoi recuperare 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
- Nella console Firebase, apri il 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 i parametri e le 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 sul backend vengono recuperati e memorizzati nella cache nell'oggetto Remote Config. - 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.
- Nella tua app, chiama
AddOnConfigUpdateListener
per iniziare ad ascoltare gli aggiornamenti e recuperare automaticamente i valori parametro 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 su cui è in esecuzione la tua app e che sono in ascolto delle modifiche chiameranno l'ascoltatore di aggiornamento 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: