Firebase Remote Config offre molta flessibilità per quanto riguarda come e quando recuperare nuovi valori dal server e attivarli nella tua app, consentendoti di garantire un'esperienza utente di qualità controllando la tempistica di eventuali modifiche alla configurazione visibili. Puoi recuperare nuovi valori al momento dell'avvio dell'applicazione utilizzando
fetchAndActivate()
e utilizzare
Remote Config in tempo reale
come metodo complementare per recuperare automaticamente i valori parametro più recenti
dopo la pubblicazione di una nuova versione di Remote Config.
Questa guida esamina alcune strategie di caricamento e discute le considerazioni chiave per scegliere l'opzione migliore per la tua app.
Strategia 1: recupero e attivazione al caricamento
In questa strategia, l'app chiama fetchAndActivate()
al primo avvio per recuperare nuovi valori da Remote Config e attivarli non appena il caricamento è completato. Questo semplice approccio funziona bene per le modifiche alla configurazione che non causano cambiamenti visivi significativi nell'interfaccia utente. Deve essere evitata in qualsiasi situazione in cui l'interfaccia utente potrebbe cambiare notevolmente mentre gli utenti la stanno utilizzando.
Dopo che l'app ha chiamato fetchAndActivate()
, può iniziare a monitorare gli aggiornamenti dei valori del parametro in tempo reale chiamando addOnConfigUpdateListener
. Questo metodo inizia a monitorare eventuali aggiornamenti lato server dei valori dei parametri, li recupera automaticamente e poi chiama l'ascoltatore. Una strategia semplice è attivare i nuovi valori nell'ascoltatore. Tuttavia, come indicato per fetchAndActivate()
,
l'attivazione immediata deve essere evitata per le UI sensibili.
Strategia 2: attivare l'app dietro la schermata di caricamento
Come soluzione al potenziale problema di UI riscontrato nella strategia 1, puoi utilizzare una schermata di caricamento. Invece di avviare immediatamente l'app, mostra una schermata di caricamento e chiama fetchAndActivate
nel gestore di completamento.
Subito dopo, sempre utilizzando un callback o una notifica, chiude 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 offrire agli utenti un'esperienza di avvio dell'app di qualità.
L'attesa di aggiornamenti in tempo reale di Remote Config chiamando
addOnConfigUpdateListener
funziona bene con questa strategia. Aggiungi il listener quando
viene visualizzata la schermata di caricamento, quindi usa activate()
in uno o più punti
della tua app in cui i valori di Remote Config non provocheranno variazioni visive significative.
Strategia 3: carica nuovi valori per il successivo avvio
Una strategia efficace è caricare nuovi valori di configurazione da attivare al prossimo avvio della tua app. In questa strategia, l'app attiva i valori recuperati all'avvio prima di tentare di recuperarne di nuovi, in base all'assunto che potrebbe aver già recuperato, ma non ancora attivato, nuovi valori di configurazione. L'ordine delle operazioni per questa strategia è:
- All'avvio, attiva immediatamente i valori recuperati in precedenza. Questa operazione applica tutti i valori scaricati dal server in una sessione precedente ed è quasi istantanea.
- Mentre l'utente interagisce con la tua app, avvia una chiamata asincrona per recuperare nuovi valori in base all'intervallo di recupero minimo predefinito e aggiungi un ascoltatore di aggiornamento della configurazione in tempo reale. L'ascoltatore in tempo reale recupererà automaticamente tutti i valori pubblicati sul server durante l'esecuzione dell'app. Gli aggiornamenti in tempo reale ignorano l'impostazione dell'intervallo di recupero minimo.
- 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 la volta successiva che viene avviata.
Con questa strategia, il tempo di attesa dell'utente viene ridotto al minimo. La combinazione delle strategie di recupero
e di ascolto in tempo reale con le chiamate activate()
, se necessario, nel ciclo di vita dell'app garantisce agli utenti
di avere i valori più recenti di Remote Config quando interagiscono con la tua app.
Caricamento di anti-strategie
Come avrai capito dalla discussione sui pro e i contro del caricamento riportata sopra, esistono alcuni modelli di utilizzo da evitare.
- Non aggiornare o modificare aspetti dell'interfaccia utente mentre l'utente la visualizza o interagisce con essa, a meno che non esistano motivi validi per farlo a livello di app o aziendale, ad esempio la rimozione di opzioni relative a una promozione appena terminata.
- Non inviare un numero elevato di richieste di recupero simultanee, in quanto il server potrebbe limitare la tua app. Se devi recuperare spesso gli aggiornamenti, utilizza in tempo reale Remote Config. Sebbene il rischio di throttling 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 linee guida sulla limitazione.
- Non fare affidamento sulla connettività di rete per ottenere i valori Remote Config. Imposta i valori parametro predefiniti in-app in modo che la tua app si comporti sempre come previsto. Puoi mantenere periodicamente sincronizzati i valori predefiniti dell'app e del backend Remote Config utilizzando i valori predefiniti del modello scaricato.
Passaggi successivi
Queste tre strategie di base non comprendono in alcun modo un elenco completo dei modi per caricare i valori di configurazione. A seconda delle tue esigenze, puoi elaborare strategie molto più sofisticate.
Consulta il riferimento all'API per la tua piattaforma per scoprire di più sulle chiamate specifiche per il recupero e l'attivazione dei valori di configurazione.