Firebase Remote Config offre molta flessibilità per quanto riguarda la modalità e il momento in cui
recuperare nuovi valori dal server e attivarli nella tua app, consentendoti di
garantire un'esperienza utente finale di qualità controllando la tempistica di eventuali modifiche visibili alla
configurazione. Puoi recuperare nuovi valori all'avvio dell'applicazione utilizzando
fetchAndActivate() e utilizzare
in tempo reale Remote Config
come metodo complementare per recuperare automaticamente gli ultimi valori dei parametri
dopo la pubblicazione di una nuova versione di Remote Config.
Questa guida esamina alcune strategie di caricamento e illustra le considerazioni chiave per scegliere l'opzione migliore per la tua app.
Strategia 1: recuperare e attivare al caricamento
In questa strategia, la tua app chiamerebbe fetchAndActivate() al primo
avvio per recuperare nuovi valori da Remote Config e attivarli non appena
il caricamento è terminato. Questo approccio semplice funziona bene per le modifiche alla configurazione
che non causano
modifiche visive drastiche nell'interfaccia utente. Dovrebbe essere
evitato in qualsiasi situazione in cui l'interfaccia utente potrebbe cambiare in modo significativo
mentre gli utenti la utilizzano.
Dopo che l'app chiama fetchAndActivate(), può iniziare ad ascoltare gli aggiornamenti dei valori dei parametri
in tempo reale chiamando addOnConfigUpdateListener. Questo metodo
inizia ad ascoltare eventuali aggiornamenti lato server dei valori dei parametri, li recupera
automaticamente e poi chiama il listener. Una strategia semplice consiste nell'attivare i nuovi
valori nel listener. Tuttavia, come accennato per fetchAndActivate(),
l'attivazione immediata dovrebbe essere evitata per le UI sensibili.
Strategia 2: attivare dietro la schermata di caricamento
Per risolvere il potenziale problema dell'interfaccia utente riscontrato nella strategia 1, puoi utilizzare
una schermata di caricamento. Anziché avviare subito l'app, mostra una schermata di caricamento
e chiama fetchAndActivate nel gestore di completamento.
Subito dopo, utilizzando di nuovo un callback o una notifica
, chiudi la schermata di caricamento e consenti all'utente di iniziare a interagire con
la tua app.
Se utilizzi questa strategia, ti consigliamo di aggiungere un timeout alla schermata di caricamento. Il timeout di un minuto di Remote Config potrebbe essere troppo lungo per un'esperienza di avvio dell'app di qualità per gli utenti.
L'ascolto degli aggiornamenti in tempo reale Remote Config chiamando
addOnConfigUpdateListener funziona bene con questa strategia. Aggiungi il listener quando
viene visualizzata la schermata di caricamento, quindi utilizza activate() in uno o più punti dell'
app in cui i valori Remote Config non causano modifiche visive drastiche.
Strategia 3: caricare nuovi valori per l'avvio successivo
Una strategia efficace consiste nel caricare nuovi valori di configurazione da attivare al prossimo avvio dell'app. In questa strategia, l'app attiva i valori recuperati all'avvio prima di tentare di recuperarne di nuovi, partendo dal presupposto che potrebbe aver già recuperato, ma non ancora attivato — nuovi valori di configurazione. L'ordine delle operazioni per questa strategia è il seguente:
- All'avvio, attiva immediatamente i valori recuperati in precedenza. In questo modo vengono applicati tutti i valori scaricati dal server in una sessione precedente e l'operazione è quasi istantanea.
- Mentre l'utente interagisce con l'app, avvia una chiamata asincrona per recuperare nuovi valori in base all'intervallo minimo di recupero predefinito e aggiungi un listener di aggiornamento della configurazione in tempo reale. Il listener in tempo reale recupererà automaticamente tutti i valori pubblicati sul server mentre l'app è in esecuzione. Gli aggiornamenti in tempo reale ignorano l'impostazione dell'intervallo minimo di recupero.
- Nel gestore di completamento o nel callback per la chiamata di recupero, non fare nulla. L'app manterrà i valori scaricati finché non li attiverai al successivo avvio dell'app.
Con questa strategia, il tempo di attesa dell'utente è notevolmente ridotto. La combinazione delle strategie di recupero
e di listener in tempo reale con le chiamate activate() in base alle esigenze nel ciclo di vita dell'app garantisce che gli utenti
abbiano gli ultimi valori da Remote Config mentre interagiscono con l'app.
Strategie di caricamento da evitare
Come avrai capito dalla discussione precedente sui pro e contro del caricamento, ci sono alcuni pattern di utilizzo da evitare.
- Non aggiornare o modificare aspetti dell'interfaccia utente mentre l'utente la visualizza o interagisce con essa, a meno che tu non abbia validi motivi aziendali o dell'app per farlo, ad esempio rimuovere le opzioni relative a una promozione appena terminata.
- Non inviare un numero elevato di richieste di recupero simultanee, perché il server potrebbe limitare la tua app. Se devi recuperare gli aggiornamenti di frequente, utilizza Remote Config in tempo realeRemote Config. Sebbene il rischio di limitazione sia basso nella maggior parte degli scenari di produzione, può essere un problema durante lo sviluppo attivo e Remote Config in tempo reale è progettato per questo caso d'uso. Consulta le indicazioni sulla limitazione.
- Non fare affidamento sulla connettività di rete per ottenere i valori Remote Config. Imposta i valori dei parametri predefiniti in-app in modo che l'app si comporti sempre come previsto. Puoi mantenere sincronizzati periodicamente i valori predefiniti dell'app e del backend Remote Configutilizzando i valori predefiniti dei modelli scaricati.
Passaggi successivi
Queste tre strategie di base non costituiscono in alcun modo un elenco completo dei modi per caricare i valori di configurazione. A seconda delle tue esigenze, potresti ideare strategie molto più sofisticate.
Consulta la documentazione di riferimento dell'API per la tua piattaforma per scoprire di più sulle chiamate specifiche per il recupero e l'attivazione dei valori di configurazione.