Catch up on highlights from Firebase at Google I/O 2023. Learn more

Comprendi la configurazione remota in tempo reale


La configurazione remota in tempo reale ti consente di ricevere chiavi e valori dei parametri aggiornati non appena vengono pubblicati sul server. Ciò consente di aggiornare rapidamente qualsiasi tipo di attributo dell'app controllato utilizzando un valore del parametro Remote Config. Con gli aggiornamenti di Remote Config in tempo reale, puoi:

  • Riduci i rischi implementando le funzionalità in modo incrementale per utenti mirati ed eseguendo un rollback di emergenza, se necessario.
  • Aumenta il coinvolgimento degli utenti personalizzando rapidamente le esperienze degli utenti mentre utilizzano l'app. Ad esempio, puoi aggiornare i banner e offrire incentivi per gli utenti che corrispondono a specifiche proprietà utente di Google Analytics o regolare dinamicamente la difficoltà del gioco per coorti di giocatori.
  • Riduci le dipendenze di build e aumenta la produttività degli sviluppatori: utilizza i parametri Remote Config come flag di funzionalità per esporre le funzionalità per i tuoi team di sviluppo e test, mantenendole nascoste agli utenti in produzione.

Per ulteriori informazioni sui modi in cui puoi utilizzare Remote Config, vedi Cosa puoi fare con Remote Config?

In questa guida:

  • Ulteriori informazioni sulla relazione client-server che supporta gli aggiornamenti in tempo reale.
  • Scopri come funziona la funzionalità in tempo reale nell'SDK.
  • Scopri come utilizzare gli aggiornamenti in tempo reale per mantenere aggiornata la configurazione della tua app.

La connessione client-server in tempo reale

Quando implementi Remote Config in tempo reale nella tua app, crei un listener in tempo reale che apre una connessione HTTP al back-end di Remote Config. La richiesta include la versione di configurazione attualmente memorizzata nella cache del dispositivo. Il server Remote Config in tempo reale utilizza un messaggio di invalidazione per segnalare all'app quando deve essere recuperata una versione più recente di una configurazione lato server.

Se il server ha una versione più recente, invia immediatamente il segnale di invalidazione. Se non dispone di una versione più recente, mantiene aperta la connessione e attende che ne venga pubblicata una sul server. Quando l'SDK del client riceve un segnale di invalidamento, lo recupera automaticamente, quindi chiama il callback del listener registrato quando hai aperto la connessione del listener. Questo recupero è simile alla chiamata di recupero che puoi effettuare con l'SDK, ma ignora qualsiasi impostazione di memorizzazione nella cache o minimumFetchInterval . La connessione client-server viene mantenuta mentre l'app è in primo piano.

Flusso di lavoro client-server Remote Config in tempo reale

Poiché la connessione client-server viene effettuata tramite HTTP, non richiede alcuna dipendenza da altre librerie.

Ascolta gli aggiornamenti

Gli aggiornamenti in tempo reale completano le chiamate fetch di Remote Config. Ti consigliamo di chiamare il recupero all'avvio dell'app (o qualche volta durante il ciclo di vita dell'app) e di ascoltare gli aggiornamenti di Remote Config in tempo reale durante la sessione utente per assicurarti di avere i valori più recenti non appena vengono pubblicati sul server.

Per ascoltare gli aggiornamenti, chiamaaddOnConfigUpdateListener ,L'aggiornamento della configurazione remota è disponibile nell'app . Dietro le quinte, questa chiamata inizia ad ascoltare gli aggiornamenti dal server Remote Config. Per ulteriori informazioni sulla relazione client-server, vedere la sezione precedente .

Il callback è spesso un buon punto da activate per rendere disponibili i parametri di configurazione aggiornati alla tua app. Consulta Strategie di caricamento della configurazione remota di Firebase per strategie aggiuntive per attivare i valori dei parametri quando utilizzi la configurazione remota in tempo reale.

Attivare selettivamente i valori dei parametri

Quando chiamiaddOnConfigUpdateListener ,puoi attendere la modifica e attivarla.

Il callback onUpdate viene chiamato quando sia una nuova versione del modello è stata recuperata automaticamente sia quando quella nuova versione ha modifiche ai valori dei parametri attualmente attivati ​​nell'app.

Questi callback vengono richiamati con un parametro configUpdate . configUpdate contieneupdatedKeys ,che è il set di chiavi dei parametri modificati che hanno avviato l'aggiornamento in tempo reale e include quanto segue:

  • Chiavi parametro aggiunte o rimosse
  • Chiavi di parametro i cui valori sono stati modificati
  • Chiavi dei parametri i cui metadati sono stati modificati (ad esempio, le informazioni di personalizzazione di Remote Config)
  • Chiavi di parametro la cui origine del valore è cambiata (ad esempio, un valore predefinito in-app aggiornato a un valore lato server)

Se stai utilizzando un ascoltatore in tempo reale in una vista particolare all'interno della tua app, puoi verificare se i parametri relativi a quella vista sono cambiati prima dell'attivazione.

Occasionalmente, un recupero (avviato quando si chiama il metodo fetch o da Remote Config in tempo reale) non comporta un aggiornamento per il client. In questi casi, il metodo o il completamentoonUpdatenon verrà chiamato.

Aggiungi e rimuovi ascoltatori

addOnConfigUpdateListenerè il punto di ingresso principale per la configurazione remota in tempo reale. Chiamare questo listener per la prima volta nel ciclo di vita dell'app apre la connessione al back-end. Le chiamate successive riutilizzano la stessa connessione, multiplexando il messaggio di invalidazione descritto nella connessione client-server in tempo reale .

La chiamata restituisce una "registrazione del listener", che ha un metodo chiamatoremove .

Per interrompere l'ascolto, memorizzare il riferimento alla registrazione del listener. Chiama remove per interrompere l'ascolto a questa registrazione. Se è l'unico listener registrato, chiamando remove si chiude la connessione in tempo reale al server.

Sebbene sia possibile interrompere manualmente l'ascolto degli aggiornamenti, spesso non è necessario. La configurazione remota in tempo reale interrompe automaticamente l'ascolto degli aggiornamenti quando l'app entra in background e si riavvia quando l'app viene messa in primo piano.

Prossimi passi

Dai un'occhiata a Inizia con Firebase Remote Config per configurare Remote Config e iniziare ad ascoltare gli aggiornamenti in tempo reale .