Puoi utilizzare Firebase Remote Config per definire i parametri nella tua app e aggiornarli i propri valori nel cloud, consentendo di modificare l'aspetto e il comportamento la tua app senza distribuire un aggiornamento. Questa guida illustra i passaggi iniziali e fornisce alcune codice campione.
Passaggio 1: aggiungi Firebase e l'SDK Remote Config all'app
Installa e inizializza gli SDK Firebase per Flutter se non l'hai ancora fatto.
Per Remote Config, Google Analytics è obbligatorio per targeting condizionale di istanze di app alle proprietà utente e ai segmenti di pubblico. Accertati che devi abilitare Google Analytics nel tuo progetto.
Dalla directory root del tuo progetto Flutter, esegui questo per installare il plug-in Remote Config:
flutter pub add firebase_remote_config
Inoltre, durante la configurazione di Remote Config, devi aggiungere l'SDK Firebase per Google Analytics alla tua app:
flutter pub add firebase_analytics
Ricrea il progetto:
flutter run
Se utilizzi Remote Config su macOS, attiva Condivisione del portachiavi in Xcode.
Passaggio 2: recupera l'oggetto singleton di Remote Config
Ottieni un'istanza dell'oggetto Remote Config e imposta intervallo di recupero minimo per consentire aggiornamenti frequenti:
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(hours: 1),
));
L'oggetto singleton viene utilizzato per archiviare i valori parametro predefiniti in-app, recuperare i valori dei parametri aggiornati dal backend e controllo quando vengono recuperati reso disponibile per la tua app.
Durante lo sviluppo, ti consigliamo di impostare un intervallo di recupero minimo relativamente basso. Per ulteriori informazioni, consulta la sezione Limitazione.
Passaggio 3: imposta i valori dei parametri predefiniti in-app
Puoi impostare valori parametro predefiniti in-app nell'oggetto Remote Config, in modo che l'app si comporti come previsto prima di connettersi al backend di Remote Config e in modo che i valori predefiniti siano disponibili se non ne sono impostati nel backend.
await remoteConfig.setDefaults(const {
"example_param_1": 42,
"example_param_2": 3.14159,
"example_param_3": true,
"example_param_4": "Hello, world!",
});
Passaggio 4: ottieni i valori parametro da utilizzare nell'app
Ora puoi recuperare i valori dei parametri dall'oggetto Remote Config. Se imposti
nel backend, recuperarli e attivarli,
questi valori sono disponibili per la tua app. Altrimenti, otterrai lo strumento
valori dei parametri configurati utilizzando setDefaults()
.
Per ottenere questi valori, chiama il metodo elencato di seguito mappato al tipo di dati previsto dalla tua app, fornendo la chiave del parametro come argomento:
getBool()
getDouble()
getInt()
getString()
Passaggio 5: imposta i valori parametro nel backend di Remote Config
Utilizzando la console Firebase o API di backend Remote Config, puoi creare nuovi valori predefiniti lato server che sostituiscono i valori in-app in base alla logica condizionale o al targeting degli utenti desiderati. Questa sezione descrive i passaggi della console Firebase per creare questi valori.
- Nella console di Firebase, apri il tuo progetto.
- Seleziona Remote Config dal menu per visualizzare Remote Config Fitbit.com.
- Definisci i parametri con gli stessi nomi di quelli definiti in la tua app. Per ogni parametro puoi impostare un valore predefinito (che alla fine sostituire il valore predefinito in-app corrispondente) e puoi anche impostare valori condizionali. Per ulteriori informazioni, consulta Parametri di Remote Config e Condizioni.
Passaggio 6: recupera e attiva i valori
Per recuperare i valori dei parametri dal backend Remote Config, chiama il metodo
fetch()
. Vengono recuperati tutti i valori impostati nel backend e archiviato nell'oggetto Remote Config.Per rendere disponibili per la tua app i valori dei parametri recuperati, chiama il metodo
activate()
.Se vuoi recuperare e attivare i valori in una sola chiamata, puoi utilizzare una richiesta
fetchAndActivate()
per recuperare i valori dal backend di Remote Config e renderli disponibili per l'app:await remoteConfig.fetchAndActivate();
Poiché questi valori parametro aggiornati influiscono sul comportamento e sull'aspetto della tua app, devi attivare i valori recuperati in un momento che garantisca un'esperienza fluida per l'utente, ad esempio la volta successiva che l'utente apre l'app. Per ulteriori informazioni ed esempi, consulta le strategie di caricamento di Remote Config.
Passaggio 7: ascolta gli aggiornamenti in tempo reale
Dopo aver recuperato i valori dei parametri, puoi utilizzare Remote Config in tempo reale per gli aggiornamenti dal backend Remote Config. gli indicatori di Remote Config sui dispositivi connessi quando sono disponibili aggiornamenti e recupera automaticamente i modifiche apportate dopo la pubblicazione di una nuova versione di Remote Config.
Tieni presente che Remote Config in tempo reale non è disponibile per il web.
Nella tua app, usa
onConfigUpdated
per iniziare ad ascoltare aggiornamenti e recuperano automaticamente i nuovi valori parametro.remoteConfig.onConfigUpdated.listen((event) async { await remoteConfig.activate(); // Use the new config values here. });
La prossima volta che pubblicherai una nuova versione di Remote Config, stai eseguendo la tua app e l'ascolto delle modifiche attiverà la nuova configurazione.
Limitazione
Se un'app viene recuperata troppe volte in un breve periodo di tempo, le chiamate di recupero saranno
limitato e il valore del valore lastFetchStatus
di FirebaseRemoteConfig
sarà RemoteConfigFetchStatus.throttle
.
L'intervallo di recupero minimo predefinito per Remote Config è di 12 ore, indica che le configurazioni non saranno recuperate dal backend più di una volta in 12 ore finestra di dialogo, indipendentemente dal numero di chiamate di recupero effettivamente effettuate.
Durante lo sviluppo dell'app, se non usi Remote Config in tempo reale (che
ti consigliamo di recuperare e attivare le configurazioni molto spesso
(molte volte all'ora) per consentirti di eseguire rapidamente l'iterazione durante lo sviluppo e il test
dell'app. Per consentire l'iterazione rapida di un progetto con un massimo di 10 sviluppatori,
puoi impostare temporaneamente un intervallo minimo di recupero basso con setConfigSettings()
.
final remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(minutes: 5),
));
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: