Strategie di caricamento di Firebase Remote Config

Firebase Remote Config offre molta flessibilità su come e quando recuperare i nuovi valori dal server e attivarli nella tua app, consentendoti di garantire un'esperienza utente finale di qualità controllando i tempi di eventuali modifiche visibili alla configurazione. Puoi recuperare i 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 aver pubblicato una nuova versione di Remote Config.

Questa guida esamina alcune strategie di caricamento e illustra le considerazioni principali per scegliere l'opzione migliore per la tua app.

Strategia 1: recupera e attiva al caricamento

In questa strategia, l'app chiama fetchAndActivate al primo avvio per recuperare i nuovi valori da Remote Config e attivarli non appena il caricamento è completato. Questo approccio funziona bene per le modifiche alla configurazione che non causano cambiamenti visivi significativi nella UI. Evita questo approccio in qualsiasi situazione in cui la UI potrebbe cambiare notevolmente 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 parametro, li recupera automaticamente e poi chiama il listener. Una strategia consiste nell'attivare i nuovi valori nel listener. Tuttavia, come indicato per fetchAndActivate, evita di attivare immediatamente le UI sensibili.

Strategia 2: attivazione 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, sempre utilizzando 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 di Remote Config in tempo reale tramite la chiamata di addOnConfigUpdateListener funziona bene con questa strategia. Aggiungi il listener quando viene visualizzata la schermata di caricamento, quindi utilizza activate() in uno o più punti della tua app in cui i valori Remote Config non causano modifiche visive drastiche.

Strategia 3: carica i nuovi valori per l'avvio successivo

Una strategia efficace consiste nel caricare nuovi valori di configurazione da attivare al successivo 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, i nuovi valori di configurazione. L'ordine delle operazioni per questa strategia è:

  1. 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.
  2. Mentre l'utente interagisce con la tua app, avvia una chiamata asincrona per recuperare i nuovi valori in base all'intervallo di recupero minimo 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 di recupero minimo.
  3. Nel gestore del completamento o nel callback per la chiamata di recupero, non eseguire alcuna azione. L'app manterrà i valori scaricati finché non li attivi al successivo avvio dell'app.

Con questa strategia, il tempo di attesa dell'utente viene ridotto notevolmente. 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 che gli utenti dispongano dei valori più recenti di Remote Config mentre interagiscono con la tua app.

Caricamento delle anti-strategie

In base alle sezioni precedenti sulle strategie di caricamento, evita i seguenti pattern di utilizzo:

  • Non aggiornare o cambiare aspetti della UI mentre l'utente la visualizza o interagisce con essa, a meno che non ci siano forti motivi legati all'app o all'attività, ad esempio la rimozione di opzioni relative a una promozione appena terminata.
  • Non inviare un numero elevato di richieste di recupero simultanee, che potrebbero comportare la limitazione dell'app da parte del server. Se devi recuperare gli aggiornamenti di frequente, utilizza Remote Config in tempo reale. 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 parametro predefiniti in-app in modo che l'app si comporti sempre come previsto. Puoi sincronizzare periodicamente 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 costituiscono in alcun modo un elenco completo dei modi per caricare i valori di configurazione. A seconda delle tue esigenze, potresti elaborare strategie molto più sofisticate.

Consulta il riferimento API per la tua piattaforma per scoprire di più sulle chiamate specifiche per il recupero e l'attivazione dei valori di configurazione.