Firebase Remote Config offre molta flessibilità su come e quando recuperare nuovi valori dal server e attivarli nella tua app, consentendoti di garantire un'esperienza utente finale di qualità controllando i tempi di eventuali modifiche di configurazione visibili. Puoi recuperare nuovi valori all'avvio dell'applicazione utilizzando fetchAndActivate()
e utilizzare Remote Config in tempo reale come metodo complementare per recuperare automaticamente i valori dei parametri 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: recuperare e attivare al caricamento
In questa strategia, la tua app chiamerebbe fetchAndActivate()
quando la tua app si avvia per la prima volta per recuperare nuovi valori da Remote Config e attivarli non appena hanno terminato il caricamento. Questo semplice approccio funziona bene per le modifiche alla configurazione che non causano cambiamenti visivi drammatici nell'interfaccia utente. Dovrebbe essere evitato 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 ad ascoltare gli aggiornamenti dei valori dei parametri in tempo reale chiamando addOnConfigUpdateListener
. Questo metodo avvia l'ascolto di eventuali aggiornamenti lato server ai valori dei parametri, li recupera automaticamente, quindi chiama il listener. Una semplice strategia consiste nell'attivare i nuovi valori nell'ascoltatore. Tuttavia, come accennato per fetchAndActivate()
, l'attivazione immediata dovrebbe essere evitata per le interfacce utente sensibili.
Strategia 2: attiva dietro la schermata di caricamento
Come rimedio al potenziale problema dell'interfaccia utente riscontrato nella strategia 1, puoi fare affidamento su una schermata di caricamento. Invece di avviare subito la tua app, mostra una schermata di caricamento e chiama fetchAndActivate
nel tuo gestore di completamento. Quindi subito dopo, sempre utilizzando una richiamata 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 di Remote Config in tempo reale 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 causeranno cambiamenti visivi drammatici.
Strategia 3: caricare nuovi valori per il prossimo avvio
Una strategia efficace consiste nel caricare nuovi valori di configurazione da attivare al successivo avvio dell'app. In questa strategia, la tua 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 è:
- All'avvio, attiva immediatamente i valori recuperati in precedenza. Questo applica tutti i valori che hai scaricato dal server in una sessione precedente ed è quasi istantaneo.
- 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 listener di aggiornamento della configurazione in tempo reale. L'ascoltatore 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 di recupero minimo.
- Nel gestore di completamento o nel callback per la chiamata di recupero, non fare nulla. La tua app manterrà i valori scaricati fino a quando non li attiverai al successivo avvio dell'app.
Con questa strategia, il tempo di attesa dell'utente è notevolmente ridotto al minimo. La combinazione delle strategie di recupero e di ascolto in tempo reale con activate()
secondo necessità nel ciclo di vita dell'app assicura che gli utenti dispongano dei valori più recenti da Remote Config mentre interagiscono con la tua app.
Caricamento di anti-strategie
Come avrai capito dalla discussione precedente sul caricamento di pro e contro, ci sono un paio di schemi di utilizzo da evitare.
- Non aggiornare o cambiare aspetti dell'interfaccia utente mentre l'utente la sta visualizzando o interagendo con essa, a meno che tu non abbia validi motivi aziendali o di app per farlo, come la rimozione di opzioni relative a una promozione che è appena terminata.
- Non inviare numeri di massa di richieste di recupero simultanee, perché il server potrebbe limitare la tua app. Se devi recuperare frequentemente gli aggiornamenti, utilizza Remote Config in tempo reale . Sebbene il rischio di limitazione sia basso nella maggior parte degli scenari di produzione, può costituire un problema durante lo sviluppo attivo e la configurazione remota in tempo reale è progettata per questo caso d'uso. Controlla la guida alla limitazione .
- Non fare affidamento sulla connettività di rete per ottenere i valori di Remote Config. Imposta i valori dei parametri predefiniti in-app in modo che la tua app si comporti sempre come previsto. È possibile mantenere periodicamente sincronizzati i valori predefiniti dell'app e del backend Remote Config utilizzando i valori predefiniti del modello scaricato .
Prossimi passi
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, potresti escogitare strategie molto più sofisticate.
Consulta il riferimento API per la tua piattaforma per saperne di più sulle chiamate specifiche per il recupero e l'attivazione dei valori di configurazione.