Parametri e condizioni di Remote Config


Puoi configurare i modelli sia per i casi d'uso client sia per quelli server. I modelli client vengono pubblicati in tutte le istanze di app che implementano gli SDK client Firebase per Remote Config, incluse le app per Android, Apple, web, Unity, Flutter e C++. I parametri e i valori Remote Config di modelli specifici del server vengono pubblicati nelle implementazioni Remote Config (inclusi Cloud Run e Cloud Functions) che utilizzano l'SDK Firebase Admin Node.js v12.1.0 o versioni successive.

Quando utilizzi la console Firebase o le API di backend Remote Config, definisci uno o più parametri (coppie chiave-valore) e fornisci i valori predefiniti in-app per questi parametri. Puoi eseguire l'override dei valori predefiniti in-app definendo i valori parametro. Le chiavi e i valori dei parametri sono stringhe, ma i valori dei parametri possono essere trasmessi come altri tipi di dati quando li utilizzi nella tua app.

Con la console Firebase, Admin SDK o l'API REST Remote Config, puoi creare nuovi valori predefiniti per i parametri e i valori condizionali utilizzati per scegliere come target gruppi di istanze di app. Ogni volta che aggiorni la configurazione nella console Firebase, Firebase crea e pubblica una nuova versione del tuo modello Remote Config. La versione precedente è archiviata, puoi recuperarla o eseguire il rollback in base alle tue esigenze. Queste operazioni sono disponibili nella console Firebase, in Firebase Admin SDK e nell'API REST e sono descritte più dettagliatamente in Gestire le versioni dei modelli Remote Config.

Questa guida illustra i parametri, le condizioni, le regole, i valori condizionali e in che modo i vari valori dei parametri hanno la priorità nel backend Remote Config e nella tua app. Fornisce inoltre dettagli sui tipi di regole utilizzati per creare condizioni.

Condizioni, regole e valori condizionali

Una condizione viene utilizzata per scegliere come target un gruppo di istanze di app. Le condizioni sono costituite da una o più regole che devono avere tutte un valore true affinché la condizione abbia un valore true per una determinata istanza dell'app. Se il valore di una regola non è definito (ad esempio, quando non è disponibile nessun valore), tale regola avrà come valore false.

Ad esempio, puoi creare un parametro che definisce il nome e la stringa di versione di un modello linguistico di grandi dimensioni (LLM) e pubblicare le risposte di diversi modelli in base a regole di indicatori personalizzati. In questo caso d'uso, puoi utilizzare una versione del modello stabile come valore predefinito per soddisfare la maggior parte delle richieste e utilizzare l'indicatore personalizzato per utilizzare un modello sperimentale per rispondere alle richieste dei client di test.

Un parametro può avere più valori condizionali che utilizzano condizioni diverse e i parametri possono condividere condizioni all'interno di un progetto. Nella scheda Parametri della console Firebase, puoi visualizzare la percentuale di recupero per ciascun valore condizionale del parametro. Questa metrica indica la percentuale di richieste nelle ultime 24 ore che hanno ricevuto ciascun valore.

Priorità del valore parametro

Quando utilizzi Remote Config nelle app di server che utilizzano Firebase Admin SDK, recupero e carico l'intero modello per estrarre i valori dei parametri appropriati on demand per ogni richiesta del client. A un parametro possono essere associati diversi valori condizionali.

Le seguenti regole determinano quale valore viene assegnato durante la valutazione del modello in un determinato momento:

  1. Innanzitutto, i valori condizionali vengono applicati a tutte le condizioni che hanno un valore valutato pari a true per una determinata richiesta del cliente. Se più condizioni hanno come risultato true, ha la precedenza la prima (in alto) visualizzata nell'interfaccia utente della console Firebase e i valori condizionali associati a questa condizione vengono forniti durante la valutazione del modello. Puoi modificare la priorità delle condizioni trascinandole nella scheda Condizioni.

  2. Se non sono presenti valori condizionali con condizioni che valutano true, viene fornito il valore predefinito di Remote Config durante la valutazione del modello. Se un parametro non esiste nel modello o se il valore predefinito è impostato su Utilizza predefinito in-app, non viene fornito alcun valore per quel parametro quando il modello viene valutato.

Per ulteriori informazioni sul caricamento e sulla valutazione dei modelli Remote Config nelle app di server, consulta Utilizzare Remote Config negli ambienti di server.

Tipi di dati dei valori parametro

Remote Config consente di selezionare un tipo di dati per ogni parametro e convalida tutti i valori Remote Config in base a quel tipo prima di un aggiornamento del modello. Il tipo di dati viene archiviato e restituito su una richiesta getRemoteConfig.

I tipi di dati supportati sono:

  • String
  • Boolean
  • Number
  • JSON

Nell'interfaccia utente della console Firebase, il tipo di dati può essere selezionato da un menu a discesa accanto alla chiave del parametro. Nell'API REST, i tipi possono essere impostati utilizzando il campo value_type all'interno dell'oggetto parametro.

Gruppi di parametri

Remote Config consente di raggruppare i parametri per un'interfaccia utente più organizzata e migliorare l'usabilità.

Ad esempio, supponi di dover abilitare o disabilitare tre diversi tipi di autenticazione durante l'implementazione di una nuova funzionalità di accesso. Con Remote Config, puoi creare i tre parametri per attivare i tipi che preferisci e poi organizzarli in un gruppo denominato "Nuovo accesso", senza dover aggiungere prefissi o ordinamento speciale.

Puoi creare gruppi di parametri utilizzando la console Firebase o l'API REST Remote Config. Ogni gruppo di parametri che crei ha un nome univoco nel tuo modello Remote Config. Quando crei i gruppi di parametri, tieni presente quanto segue:

  • I parametri possono essere inclusi in un solo gruppo alla volta e una chiave del parametro deve essere comunque univoca per tutti i parametri.
  • I nomi dei gruppi di parametri possono contenere massimo 256 caratteri.
  • Se utilizzi sia l'API REST sia la console Firebase, assicurati che qualsiasi logica dell'API REST sia aggiornata per gestire i gruppi di parametri durante la pubblicazione.

Crea o modifica i gruppi di parametri utilizzando la console Firebase

Puoi raggruppare i parametri nella scheda Parametri della console Firebase. Per creare o modificare un gruppo:

  1. Seleziona Gestisci gruppi.
  2. Seleziona le caselle di controllo relative ai parametri che vuoi aggiungere e scegli Sposta nel gruppo.
  3. Seleziona un gruppo esistente o creane uno nuovo inserendo un nome e una descrizione e selezionando Crea nuovo gruppo. Dopo aver salvato un gruppo, puoi pubblicarlo utilizzando il pulsante Pubblica modifiche.

Tipi di regole di condizione

I modelli Remote Config per le applicazioni server supportano i seguenti tipi di condizioni:

Utente in percentuale casuale

Utilizza questo campo per applicare una modifica a un campione casuale di istanze di app (con dimensioni del campione inferiori allo 0,0001%), utilizzando il widget del cursore per segmentare gli utenti (istanze di app) smistati in modo casuale in gruppi.

Ogni istanza dell'app viene mappata in modo persistente a un numero intero o frazionario casuale, in base a un seed definito nel progetto.

Una regola utilizzerà la chiave predefinita (mostrata come Modifica seed nella console Firebase) a meno che non modifichi il valore del seed. Puoi ripristinare l'utilizzo della chiave predefinita per una regola svuotando il campo Seed.

Per indirizzare in modo coerente le stesse istanze di app in determinati intervalli di percentuale, utilizza lo stesso valore del seed in tutte le condizioni. In alternativa, seleziona un nuovo gruppo di istanze dell'app assegnate in modo casuale per un determinato intervallo percentuale specificando un nuovo seed.

Ad esempio, per creare due condizioni correlate che si applicano ciascuna a un 5% non sovrapposto degli utenti di un'app, puoi configurare una condizione in modo che corrisponda a una percentuale compresa tra 0% e 5% e configurare un'altra condizione in modo che corrisponda a un intervallo compreso tra il 5% e il 10%. Per consentire ad alcuni utenti di apparire in modo casuale in entrambi i gruppi, utilizza valori seed diversi per le regole all'interno di ogni condizione.

Per scoprire come aggiungere condizioni di percentuale casuale alla tua applicazione, consulta Configurare l'applicazione del server.

Indicatori personalizzati

Con l'SDK Node.js Firebase Admin 12.5.0 e versioni successive, puoi utilizzare il tipo di condizione Indicatore personalizzato per associare condizioni arbitrarie definite nella tua applicazione. In questo modo puoi personalizzare la risposta del server per ogni richiesta del client.

Ad esempio, se stai lavorando a un'app di server che utilizza l'IA generativa per aiutarti a creare risposte con diversi modelli ottimizzati per piattaforme specifiche, potresti procedere nel seguente modo:

  1. Aggiungi i parametri prompt e model_name al modello di server Remote Config.
  2. Aggiungi indicatori personalizzati con un valore di platform per ogni piattaforma che vuoi scegliere come target.
  3. Aggiungi valori predefiniti al modello Remote Config specifico del server e valori condizionali per ogni condizione della piattaforma che hai definito.
  4. Aggiorna il codice dell'applicazione per impostare e utilizzare l'indicatore personalizzato platform.

Ora la tua app può estrarre il prompt e il modello appropriati durante la valutazione del modello e utilizzarli per restituire risposte personalizzate a ogni cliente.

Puoi utilizzare i seguenti tipi di regole per creare indicatori personalizzati nella consoleFirebase.

Categoria operatori Operatori Valore Nota
Testo corrisponde esattamente a, contiene, non contiene, contiene regex

I confronti di stringhe per questa regola sono sensibili alle maiuscole. Quando utilizzi l'operatore corrisponde esattamente a, contiene, non contiene o contiene regex, puoi selezionare più valori.

Quando utilizzi l'operatore contains regex, puoi creare espressioni regolari nel formato RE2. L'espressione regolare può corrispondere completamente o in parte alla stringa della versione di destinazione. Puoi anche utilizzare le ancore ^ e $ per trovare una corrispondenza all'inizio, alla fine o nell'intera stringa di destinazione.

Numeri <, <=, =, !=, >, >= Numero con non più di dieci cifre a ciascun lato della virgola decimale.
Versioni <, <=, =, !=, >, >= Numero che rappresenta i numeri di versione da associare (ad esempio, 2.1.0).

Per scoprire come aggiungere indicatori personalizzati alla tua applicazione, consulta Configurare l'applicazione server.

Parametri e condizioni di ricerca

Puoi cercare le chiavi, i valori e le condizioni dei parametri del tuo progetto dalla console Firebase utilizzando la casella di ricerca nella parte superiore della scheda Remote Config Parametri.

Limiti per parametri e condizioni

In un progetto Firebase puoi avere fino a 2000 parametri e fino a 500 condizioni. Le chiavi dei parametri possono contenere fino a 256 caratteri, devono iniziare con un trattino basso o una lettera dell'alfabeto latino (A-Z, a-z) e possono includere anche numeri. La lunghezza totale delle stringhe di valore del parametro all'interno di un progetto non può superare i 1.000.000 di caratteri.

Visualizzare le modifiche a parametri e condizioni

Puoi visualizzare le ultime modifiche ai tuoi modelli Remote Config dalla console Firebase. Per ogni singolo parametro e condizione, puoi:

  • Visualizza il nome dell'utente che ha modificato il parametro o la condizione per l'ultima volta.

  • Se la modifica è avvenuta nello stesso giorno, visualizza il numero di minuti o ore trascorsi dalla pubblicazione della modifica nel modello Remote Config attivo.

  • Se la modifica si è verificata uno o più giorni prima, visualizza la data in cui la modifica è stata pubblicata nel modello Remote Config attivo.

Cronologia delle modifiche dei parametri

Nella pagina Parametri, Remote Config, la colonna Ultima pubblicazione mostra l'ultimo utente che ha modificato ciascun parametro e l'ultima data di pubblicazione della modifica:

  • Per visualizzare i metadati delle modifiche per i parametri raggruppati, espandi il gruppo di parametri.

  • Per ordinare in ordine crescente o decrescente in base alla data di pubblicazione, fai clic sull'etichetta della colonna Ultima pubblicazione.

Cronologia delle modifiche per le condizioni

Nella pagina Remote Config Condizioni, accanto a Ultima modifica in ogni condizione puoi vedere l'ultimo utente che ha modificato la condizione e la data della modifica.

Passaggi successivi

Per configurare il progetto Firebase e l'app server in modo che utilizzino Remote Config, consulta Utilizzare Remote Config in ambienti server.