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 usata per archiviare i valori dei parametri predefiniti nell'app, recuperare i valori dei parametri aggiornati dal back-end di Remote Config e controllare quando i valori recuperati vengono resi disponibili all'app. Per ulteriori informazioni, consulta Strategie di caricamento della configurazione remota .
Questa guida ti guida attraverso i passaggi per iniziare e fornisce alcuni codici di esempio, tutti disponibili per clonare o scaricare dal repository GitHub di firebase/quickstart-unity .
Aggiungi Configurazione remota alla tua app
Prima di poter utilizzare Remote Config , è necessario:
Registra il tuo progetto Unity e configuralo per utilizzare Firebase.
Se il tuo progetto Unity utilizza già Firebase, è già registrato e configurato per Firebase.
Se non hai un progetto Unity, puoi scaricare un'app di esempio .
Aggiungi l' SDK Firebase Unity (in particolare,
FirebaseRemoteConfig.unitypackage
) al tuo progetto Unity.
Tieni presente che l'aggiunta di Firebase al tuo progetto Unity comporta attività sia nella console Firebase che nel tuo progetto Unity aperto (ad esempio, scarichi i file di configurazione di Firebase dalla console, quindi li sposti nel tuo progetto Unity).
Imposta i valori dei parametri predefiniti in-app
È possibile impostare i valori dei parametri predefiniti in-app nell'oggetto Remote Config, in modo che l'app si comporti come previsto prima che si connetta al back-end di Remote Config e in modo che i valori predefiniti siano disponibili se nel back-end non sono impostati.
Per fare ciò, crea un dizionario di stringhe e popolalo con coppie chiave/valore che rappresentano le impostazioni predefinite che desideri aggiungere. Se hai già configurato i valori dei parametri di back-end di Remote Config, puoi scaricare un file che contiene queste coppie chiave/valore e usarlo per costruire il tuo dizionario di stringhe. Per ulteriori informazioni, vedere Scarica le impostazioni predefinite del modello di configurazione remota .
(Le proprietà non stringa verranno convertite nel tipo della proprietà quando viene chiamato SetDefaultsAsync()
).
System.Collections.Generic.Dictionary<string, object> defaults = new System.Collections.Generic.Dictionary<string, object>(); // These are the values that are used if we haven't fetched data from the // server // yet, or if we ask for values that the server doesn't have: defaults.Add("config_test_string", "default local string"); defaults.Add("config_test_int", 1); defaults.Add("config_test_float", 1.0); defaults.Add("config_test_bool", false); Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.SetDefaultsAsync(defaults) .ContinueWithOnMainThread(task => {
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 di Remote Config, li recuperi e poi li attivi, quei valori sono disponibili per la tua app. In caso contrario, ottieni i valori dei parametri in-app configurati utilizzando SetDefaultsAsync()
.
Per ottenere questi valori, utilizzare GetValue()
, fornendo la chiave del parametro come argomento. Questo restituisce un ConfigValue
, che ha proprietà per convertire il valore in vari tipi di base.
Collega la tua app alla console Firebase
Nella console Firebase , aggiungi la tua app al tuo progetto Firebase.
Impostare i valori dei parametri
- Nella console Firebase , apri il tuo progetto.
- Selezionare Remote Config dal menu per visualizzare il dashboard di Remote Config.
- Definisci parametri con gli stessi nomi dei parametri che hai definito nella tua app. Per ogni parametro, puoi impostare un valore predefinito (che alla fine sostituirà il valore predefinito in-app) e valori condizionali. Per ulteriori informazioni, vedere Parametri e condizioni di Remote Config .
Recupera e attiva valori (se necessario)
Per recuperare i valori dei parametri dal back-end Remote Config, chiama il metodo FetchAsync()
. Tutti i valori impostati sul back-end vengono recuperati e memorizzati nella cache nell'oggetto Remote Config.
// Start a fetch request. // FetchAsync only fetches new data if the current data is older than the provided // timespan. Otherwise it assumes the data is "recent enough", and does nothing. // By default the timespan is 12 hours, and for production apps, this is a good // number. For this example though, it's set to a timespan of zero, so that // changes in the console will always show up immediately. public Task FetchDataAsync() { DebugLog("Fetching data..."); System.Threading.Tasks.Task fetchTask = Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync( TimeSpan.Zero); return fetchTask.ContinueWithOnMainThread(FetchComplete); }
I valori recuperati tramite FetchAsync()
vengono memorizzati nella cache in locale al completamento del recupero, ma non vengono resi disponibili finché non viene richiamato ActivateFetched()
. Poiché FetchAsync()
viene eseguito in modo asincrono, ciò consente di garantire che i nuovi valori non vengano applicati durante il calcolo o in altri momenti che potrebbero causare problemi o comportamenti strani.
(Facoltativo) Abilita la modalità sviluppatore
Per abilitare la modalità sviluppatore, che può essere usata per disabilitare la limitazione durante lo sviluppo, puoi usare la proprietà FirebaseRemoteConfig.Setting
, impostando un nuovo ConfigSettings
con IsDeveloperMode
impostato su true.
Next steps
If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: