Informazioni su Remote Config in tempo reale


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

  • Riduci il rischio implementando le funzionalità in modo incrementale per gli utenti target ed eseguire un rollback di emergenza, se necessario.
  • Aumenta il coinvolgimento degli utenti personalizzando rapidamente le loro esperienze durante l'utilizzo dell'app. Ad esempio, puoi aggiornare i banner e offrire incentivi per gli utenti che corrispondono a proprietà Google Analytics utente specifiche o modificare dinamicamente la difficoltà del gioco per coorti di giocatori.
  • Riduci le dipendenze di compilazione e aumenta la produttività degli sviluppatori: utilizza i parametri Remote Config come flag di funzionalità per esporre le funzionalità ai team di sviluppo e test, nascondendole agli utenti in produzione.

Per scoprire di più su come puoi utilizzare Remote Config, consulta Cosa puoi fare con Remote Config?

In questa guida imparerai a:

  • Scopri di più 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 ascoltatore in tempo reale che apre una connessione HTTP al backend di Remote Config. La richiesta include la versione della configurazione attualmente memorizzata nella cache sul 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 l'indicatore di invalidazione. Se non è disponibile una versione più recente, mantiene la connessione aperta e attende che ne venga pubblicata una sul server. Quando l'SDK del client riceve un indicatore di invalidazione, lo recupera automaticamente, quindi chiama il callback del listener registrato quando hai aperto la connessione listener. Questo recupero è simile alla chiamata fetch che puoi eseguire con l'SDK, ma aggira qualsiasi impostazione di caching o minimumFetchInterval. La connessione client-server viene mantenuta mentre l'app è in primo piano.

Flusso di lavoro client-server di Remote Config in tempo reale
Flusso di lavoro client-server Remote Config in tempo reale

Poiché la connessione client-server viene stabilita tramite HTTP, non richiede dipendenze da altre librerie.

Ascolta gli aggiornamenti

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

Per ascoltare gli aggiornamenti, chiama addOnConfigUpdateListener, implementa un callback che viene richiamato ogni volta che viene avviato un aggiornamento Remote Config dell'app. Questa chiamata è disponibile in ascolto.Remote Config Per saperne di più sulla relazione tra client e server, consulta la sezione precedente.

Spesso il callback è un buon punto di partenza per utilizzare activate per rendere disponibili per l'app i parametri di configurazione aggiornati. Consulta Strategie di caricamento di Remote Config Firebase per altre strategie per attivare i valori dei parametri quando utilizzi Remote Config in tempo reale.

Attivare in modo selettivo i valori dei parametri

Quando chiami addOnConfigUpdateListener, puoi attendere la modifica e attivarla.

Il callback onUpdate viene chiamato sia quando è stata recuperata automaticamente una nuova versione del modello sia quando questa nuova versione contiene modifiche ai valori parametro attualmente attivati nell'app.

Questi callback vengono richiamati con un parametro configUpdate. configUpdate contiene updatedKeys, ovvero l'insieme di chiavi dei parametri modificati che hanno avviato l'aggiornamento in tempo reale e include quanto segue:

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

Se utilizzi un ascoltatore in tempo reale in una determinata visualizzazione all'interno della tua app, puoi controllare se i parametri pertinenti a quella visualizzazione sono cambiati prima dell'attivazione.

A volte, un recupero (avviato quando chiami il metodo fetch o tramite Remote Config in tempo reale) non comporta un aggiornamento per il client. In questi casi, il metodo o il completamento onUpdate non verrà chiamato.

Aggiungere e rimuovere listener

addOnConfigUpdateListener è l'entry point principale per le Remote Config in tempo reale. La chiamata di questo listener per la prima volta nel ciclo di vita dell'app apre la connessione al backend. 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 dell'ascoltatore", che ha un metodo chiamato remove.

Per interrompere l'ascolto, memorizza il riferimento alla registrazione dell'ascoltatore. Chiama remove per interrompere l'ascolto a questa registrazione. Se è l'unico ascoltatore registrato, la chiamata a remove chiude la connessione in tempo reale al server.

Anche se puoi interrompere manualmente la ricerca di aggiornamenti, spesso non è necessario. Remote Config in tempo reale interrompe automaticamente l'ascolto per gli aggiornamenti quando l'app passa in background e si riavvia quando l'app viene messa in primo piano.

Passaggi successivi

Consulta la pagina Iniziare a utilizzare Firebase Remote Config per configurare Remote Config e iniziare a monitorare gli aggiornamenti in tempo reale.