Modelli e controllo delle versioni di Remote Config

I modelli Remote Config sono insiemi di parametri e condizioni in formato JSON creati per il tuo progetto Firebase. Remote Config organizza le configurazioni in modelli che possono essere creati, aggiornati, versionati e ripristinati.

A seconda dell'architettura, puoi creare e gestire modelli client, modelli server o entrambi:

  • Modelli client: Pubblica le configurazioni nelle istanze dell'app client su piattaforme Apple, Android, web, Flutter, Unity e C++. I modelli client supportano le condizioni basate su segmenti di pubblico Google Analytics, versioni dell'app, piattaforma, dispositivo, lingua, paese, percentili utente e indicatori personalizzati.

  • Modelli di server: Pubblica configurazioni in ambienti di backend come Cloud Run, Cloud Functions for Firebase o server containerizzati utilizzando Firebase Admin SDK per Node.js, Python, Go e Java. I modelli lato server valutano i parametri lato server con latenza quasi nulla utilizzando indicatori personalizzati del server e implementazioni di percentuale casuale.

Confrontare i modelli client e server

I modelli client e server vengono gestiti in modo indipendente all'interno del progetto Firebase. Utilizza la seguente tabella per comprendere le differenze tra i modelli client e server:

Funzionalità Modelli di clienti Modelli di server
Ambienti di destinazione App client (Apple, Android, web, Flutter, Unity, C++) Ambienti server (Cloud Run, Cloud Functions for Firebase, GKE, servizi di backend)
SDK supportati SDK client Firebase Firebase Admin SDK (Node.js, Python, Go, Java)
Strumenti di gestione Console Firebase, CLI Firebase, API REST, Firebase Admin SDK Console Firebase
Posizione della console Parametri e condizioni Parametri e condizioni
Download dei valori predefiniti del modello Supportato (XML per Android, PLIST per iOS, JSON per il web) Non applicabile (valori predefiniti definiti nel codice server o nel backend)
Guida dettagliata Gestire i modelli dei clienti Gestire i modelli di server

Ciclo di vita e controllo delle versioni dei modelli

Che tu lavori con modelli client o server, Remote Config fornisce il controllo delle versioni e la gestione del ciclo di vita integrati:

Creazione e monitoraggio delle versioni

Ogni volta che aggiorni i parametri o le condizioni, Remote Config crea un nuovo modello Remote Config con controllo delle versioni e memorizza il modello precedente come versione a cui puoi accedere o eseguire il rollback in base alle esigenze. I numeri di versione vengono incrementati in sequenza dal valore iniziale memorizzato da Remote Config.

Tutti i modelli includono un campo version contenente i metadati relativi a quella versione specifica, ad esempio:

  • versionNumber: il numero di versione sequenziale del modello.
  • updateTime: il timestamp della pubblicazione del modello.
  • updateUser: L'email o l'identità dell'utente che ha eseguito l'aggiornamento.
  • updateOrigin: come è stata apportata la modifica (ad esempio, CONSOLE, REST_API o ADMIN_SDK_NODE).
  • updateType: La natura della modifica (ad esempio, INCREMENTAL_UPDATE o FORCED_UPDATE).

Limiti e conservazione delle versioni

Esiste un limite totale di 300 versioni archiviate a vita per tipo di modello (300 modelli client e 300 modelli server), che include i numeri di versione archiviati per i modelli eliminati. Se pubblichi più di 300 versioni di modelli per tipo di modello durante la durata di un progetto, le versioni meno recenti vengono eliminate, mantenendo un massimo di 300 versioni di quel tipo.

Rollback

Puoi eseguire il rollback a qualsiasi versione memorizzata di un modello in qualsiasi momento. Quando esegui il rollback, Remote Config crea una nuova versione il cui contenuto corrisponde alla versione storica selezionata. Ad esempio, il rollback dalla versione 10 alla versione 6 crea la versione 11 con la configurazione della versione 6.

Importazione ed esportazione

Puoi scaricare il modello attivo come file JSON e pubblicarlo nello stesso progetto o in un altro. Questa funzionalità ti consente di:

  • Archivia le definizioni dei modelli nel controllo del codice sorgente (ad esempio Git).
  • Integra i deployment della configurazione nelle pipeline CI/CD.
  • Promuovi le configurazioni nelle varie fasi (ad esempio, da un progetto di sviluppo o staging alla produzione).
  • Esegui la migrazione delle configurazioni tra i progetti.

I parametri e i valori parametro creati appositamente come varianti in un esperimento A/B Testing non sono inclusi nei modelli esportati.

Valori predefiniti dei modelli

Per le applicazioni client, puoi scaricare file contenenti i valori predefiniti dei parametri in formato XML, PLIST o JSON da raggruppare con la tua app. Per istruzioni, consulta Scaricare i valori predefiniti del modello Remote Config.

Passaggi successivi