Modelli di configurazione utilizzando l'SDK Admin, l'API REST e l'interfaccia a riga di comando di Firebase. page_type: guide
Questo documento descrive come leggere e modificare in modo programmatico l'insieme di parametri e condizioni in formato JSON noto come modello Remote Config. In questo modo, puoi apportare modifiche ai modelli nel backend che l'app client può recuperare utilizzando la libreria client.
Utilizzando l'API REST Remote Config, gli Admin SDK o l'interfaccia a riga di comando Firebase descritti in questa guida, puoi bypassare la gestione del template nella console Firebase per integrare direttamente le modifiche di Remote Config nei tuoi processi. Ad esempio, con le API di backend Remote Config, puoi:
- Pianifica gli aggiornamenti di Remote Config. Utilizza le chiamate API insieme a un cron job per modificare i valori Remote Config in base a una pianificazione regolare.
- Importa in batch i valori di configurazione per passare in modo efficiente dal tuo sistema proprietario a Firebase Remote Config.
- Utilizza Remote Config con Cloud Functions for Firebase, modificando i valori nella tua app in base agli eventi che si verificano lato server. Ad esempio, puoi utilizzare Remote Config per promuovere una nuova funzionalità nella tua app e poi disattivare automaticamente la promozione una volta rilevato che un numero sufficiente di persone ha interagito con la nuova funzionalità.

Le sezioni seguenti di questa guida descrivono le operazioni che puoi eseguire utilizzando le API di backend Remote Config.
Modifica Remote Config utilizzando Firebase Admin SDK
Admin SDK è un insieme di librerie server che ti consentono di interagire con Firebase da ambienti con privilegi. Oltre a eseguire gli aggiornamenti di Remote Config, Admin SDK consente la generazione e la verifica dei token di autenticazione di Firebase, nonché la lettura e la scrittura da Realtime Database. Per scoprire di più sui prerequisiti e sulla configurazione di Admin SDK, consulta Aggiungi Firebase Admin SDK al tuo server.
Per esaminare il codice campione che esegue queste attività utilizzando Admin SDK, consulta una delle seguenti app di avvio rapido:
- Firebase Remote Config Guida rapida di Java
- Guida rapida di Node.js per Firebase Remote Config
- Firebase Remote Config Guida rapida di Python
In un flusso Remote Config tipico, puoi ottenere il modello corrente, modificare alcuni parametri o gruppi di parametri e condizioni, convalidare il modello e poi pubblicarlo. Prima di effettuare queste chiamate API, devi autorizzare le richieste dall'SDK.
Inizializza l'SDK e autorizza le richieste API
Quando inizializzi Admin SDK senza parametri, l'SDK utilizza le Credenziali predefinite dell'applicazione Google e legge le opzioni dalla variabile di ambiente FIREBASE_CONFIG.
Se i contenuti della variabile FIREBASE_CONFIG iniziano con {, verranno analizzati come oggetto JSON. In caso contrario, l'SDK presuppone che la stringa sia il nome di un file JSON contenente le opzioni.
Ad esempio:
Node.js
const admin = require('firebase-admin'); admin.initializeApp();
Java
FileInputStream serviceAccount = new FileInputStream("service-account.json"); FirebaseOptions options = FirebaseOptions.builder() .setCredentials(GoogleCredentials.fromStream(serviceAccount)) .build(); FirebaseApp.initializeApp(options);
Scarica il modello Remote Config attuale
Quando lavori con i modelli Remote Config, tieni presente che sono disponibili in diverse versioni e che ogni versione ha una durata limitata dal momento della creazione al momento della sostituzione con un aggiornamento: 90 giorni, con un limite totale di 300 versioni archiviate. Per saperne di più, consulta Modelli e controllo delle versioni.
Puoi utilizzare le API di backend per ottenere la versione attiva corrente del modello Remote Config in formato JSON.
I parametri e i valori parametro creati specificamente come varianti in un esperimento A/B Testing non sono inclusi nei modelli esportati.
Per ottenere il modello:
Node.js
function getTemplate() { var config = admin.remoteConfig(); config.getTemplate() .then(function (template) { console.log('ETag from server: ' + template.etag); var templateStr = JSON.stringify(template); fs.writeFileSync('config.json', templateStr); }) .catch(function (err) { console.error('Unable to get template'); console.error(err); }); }
Java
Template template = FirebaseRemoteConfig.getInstance().getTemplateAsync().get(); // See the ETag of the fetched template. System.out.println("ETag from server: " + template.getETag());
Modifica i parametri Remote Config
Puoi modificare e aggiungere in modo programmatico parametri e gruppi di parametri Remote Config. Ad esempio, a un gruppo di parametri esistente denominato "new_menu" puoi aggiungere un parametro per controllare la visualizzazione delle informazioni stagionali:
Node.js
function addParameterToGroup(template) { template.parameterGroups['new_menu'].parameters['spring_season'] = { defaultValue: { useInAppDefault: true }, description: 'spring season menu visibility.', }; }
Java
template.getParameterGroups().get("new_menu").getParameters() .put("spring_season", new Parameter() .setDefaultValue(ParameterValue.inAppDefault()) .setDescription("spring season menu visibility.") );
L'API consente di creare nuovi parametri e gruppi di parametri o di modificare valori predefiniti, valori condizionali e descrizioni. In tutti i casi, devi pubblicare esplicitamente il modello dopo aver apportato le modifiche.
Modifica le condizioni di Remote Config
Puoi modificare e aggiungere in modo programmatico condizioni e valori condizionali di Remote Config. Ad esempio, per aggiungere una nuova condizione:
Node.js
function addNewCondition(template) { template.conditions.push({ name: 'android_en', expression: 'device.os == \'android\' && device.country in [\'us\', \'uk\']', tagColor: 'BLUE', }); }
Java
template.getConditions().add(new Condition("android_en", "device.os == 'android' && device.country in ['us', 'uk']", TagColor.BLUE));
In tutti i casi, devi pubblicare esplicitamente il modello dopo aver apportato le modifiche.
Le API di backend di Remote Config forniscono diverse condizioni e operatori di confronto che puoi utilizzare per modificare il comportamento e l'aspetto della tua app. Per scoprire di più sulle condizioni e sugli operatori supportati per queste condizioni, consulta il riferimento alle espressioni condizionali.
Convalida il modello Remote Config
Facoltativamente, puoi convalidare gli aggiornamenti prima di pubblicarli, come mostrato di seguito:
Node.js
function validateTemplate(template) { admin.remoteConfig().validateTemplate(template) .then(function (validatedTemplate) { // The template is valid and safe to use. console.log('Template was valid and safe to use'); }) .catch(function (err) { console.error('Template is invalid and cannot be published'); console.error(err); }); }
Java
try { Template validatedTemplate = FirebaseRemoteConfig.getInstance() .validateTemplateAsync(template).get(); System.out.println("Template was valid and safe to use"); } catch (ExecutionException e) { if (e.getCause() instanceof FirebaseRemoteConfigException) { FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause(); System.out.println("Template is invalid and cannot be published"); System.out.println(rcError.getMessage()); } }
Questo processo di convalida verifica la presenza di errori come chiavi duplicate per parametri e condizioni, nomi di condizioni non validi o condizioni inesistenti o etag formattati in modo errato. Ad esempio, una richiesta contenente un numero di chiavi superiore a quello consentito (2000) restituirà il messaggio di errore Param count too large.
Pubblica il modello Remote Config
Dopo aver recuperato un modello e averlo rivisto con i tuoi aggiornamenti, puoi pubblicarlo. La pubblicazione di un template come descritto in questa sezione sostituisce l'intero template di configurazione esistente con il file aggiornato e al nuovo template attivo viene assegnato un numero di versione superiore di un'unità rispetto al template sostituito.
Se necessario, puoi utilizzare l'API REST per eseguire il rollback alla versione precedente. Per ridurre il rischio di errori in un aggiornamento, puoi eseguire la convalida prima della pubblicazione.
Le personalizzazioni e le condizioni di Remote Config sono incluse nei modelli scaricati, pertanto è importante tenere presente le seguenti limitazioni quando si tenta di pubblicare in un progetto diverso:
Le personalizzazioni non possono essere importate da un progetto all'altro.
Ad esempio, se hai attivato le personalizzazioni nel progetto e scarichi e modifichi un modello, puoi pubblicarlo nello stesso progetto, ma non in un altro, a meno che non elimini le personalizzazioni dal modello.
Le condizioni possono essere importate da un progetto all'altro, ma tieni presente che eventuali valori condizionali specifici (come ID app o segmenti di pubblico) devono esistere nel progetto di destinazione prima della pubblicazione.
Ad esempio, se hai un parametro Remote Config che utilizza una condizione che specifica un valore della piattaforma
iOS, il modello può essere pubblicato in un altro progetto, perché i valori della piattaforma sono gli stessi per qualsiasi progetto. Tuttavia, se contiene una condizione che si basa su un ID app o un segmento di pubblico utente specifico che non esiste nel progetto di destinazione, la convalida non andrà a buon fine.Se il template che prevedi di pubblicare contiene condizioni che si basano su Google Analytics, Analytics deve essere abilitato nel progetto di destinazione.
Node.js
function publishTemplate() { var config = admin.remoteConfig(); var template = config.createTemplateFromJSON( fs.readFileSync('config.json', 'UTF8')); config.publishTemplate(template) .then(function (updatedTemplate) { console.log('Template has been published'); console.log('ETag from server: ' + updatedTemplate.etag); }) .catch(function (err) { console.error('Unable to publish template.'); console.error(err); }); }
Java
try { Template publishedTemplate = FirebaseRemoteConfig.getInstance() .publishTemplateAsync(template).get(); System.out.println("Template has been published"); // See the ETag of the published template. System.out.println("ETag from server: " + publishedTemplate.getETag()); } catch (ExecutionException e) { if (e.getCause() instanceof FirebaseRemoteConfigException) { FirebaseRemoteConfigException rcError = (FirebaseRemoteConfigException) e.getCause(); System.out.println("Unable to publish template."); System.out.println(rcError.getMessage()); } }
Modifica Remote Config utilizzando l'API REST
Questa sezione descrive le funzionalità principali dell'API REST Remote Config all'indirizzo https://firebaseremoteconfig.googleapis.com. Per i dettagli completi, consulta il Riferimento API.
Ottieni un token di accesso per autenticare e autorizzare le richieste API
I progetti Firebase supportano i service account Google, che puoi utilizzare per chiamare le API del server Firebase dal tuo server dell'app o dall'ambiente attendibile. Se stai sviluppando codice localmente o eseguendo il deployment della tua applicazione on-premise, puoi utilizzare le credenziali ottenute utilizzando questo service account per autorizzare le richieste del server.
Puoi visualizzare tutti i service account del tuo progetto Firebase nella scheda
Per autenticare un service account e autorizzarlo ad accedere ai servizi Firebase, devi generare un file di chiave privata in formato JSON.
Per generare un file della chiave privata per il tuo service account:
Nella console Firebase, vai a
Impostazioni > scheda Service account.Fai clic su Genera nuova chiave privata, quindi conferma facendo clic su Genera chiave.
Archivia in modo sicuro il file JSON contenente la chiave.
Quando esegui l'autorizzazione tramite un service account, hai due opzioni per fornire le credenziali alla tua applicazione. Puoi impostare la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS o passare esplicitamente il percorso alla chiave del service account nel codice.
La prima opzione è più sicura ed è vivamente consigliata.
Per impostare la variabile di ambiente:
Imposta la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS sul percorso del file JSON contenente la chiave dell'account di servizio.
Questa variabile si applica solo alla sessione di Shell corrente, quindi se apri una nuova sessione, imposta di nuovo la variabile.
Linux o macOS
export GOOGLE_APPLICATION_CREDENTIALS="KEY_FILE_PATH"
Windows
Con PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_FILE_PATH"
Dopo aver completato i passaggi precedenti, le credenziali predefinite dell'applicazione (ADC) sono in grado di determinare implicitamente le tue credenziali, consentendoti di utilizzare le credenziali del service account durante i test o l'esecuzione in ambienti non Google.
Utilizza le tue credenziali Firebase insieme alla libreria di autenticazione Google per il tuo linguaggio preferito per recuperare un token di accesso OAuth 2.0 di breve durata:
node.js
function getAccessToken() {
return admin.credential.applicationDefault().getAccessToken()
.then(accessToken => {
return accessToken.access_token;
})
.catch(err => {
console.error('Unable to get access token');
console.error(err);
});
}
In questo esempio, la libreria client dell'API di Google autentica la richiesta con un token web JSON o JWT. Per saperne di più, consulta Token web JSON.
Python
def _get_access_token():
"""Retrieve a valid access token that can be used to authorize requests.
:return: Access token.
"""
credentials = ServiceAccountCredentials.from_json_keyfile_name(
'service-account.json', SCOPES)
access_token_info = credentials.get_access_token()
return access_token_info.access_token
Java
public static String getAccessToken() throws IOException {
GoogleCredentials googleCredentials = GoogleCredentials
.fromStream(new FileInputStream("service-account.json"))
.createScoped(Arrays.asList(SCOPES));
googleCredentials.refreshAccessToken();
return googleCredentials.getAccessToken().getTokenValue();
}
Dopo la scadenza del token di accesso, il metodo di aggiornamento del token viene chiamato automaticamente per recuperare un token di accesso aggiornato.
Per autorizzare l'accesso a Remote Config, richiedi l'ambito https://www.googleapis.com/auth/firebase.remoteconfig.
Modifica il modello Remote Config
Quando lavori con i modelli Remote Config, tieni presente che sono sottoposti a controllo delle versioni e che ogni versione ha una durata limitata dal momento della creazione al momento della sostituzione con un aggiornamento: 90 giorni, con un limite totale di 300 versioni archiviate. Per saperne di più, consulta Modelli e controllo delle versioni.
Scarica il modello Remote Config attuale
Puoi utilizzare le API di backend per ottenere la versione attiva corrente del modello Remote Config in formato JSON.
I parametri e i valori parametro creati specificamente come varianti in un esperimento A/B Testing non sono inclusi nei modelli esportati.
Utilizza i seguenti comandi:
cURL
curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -o filenameQuesto comando restituisce il payload JSON in un file e le intestazioni (incluso l'Etag) in un file separato.
Richiesta HTTP non elaborata
Host: firebaseremoteconfig.googleapis.com GET /v1/projects/my-project-id/remoteConfig HTTP/1.1 Authorization: Bearer token Accept-Encoding: gzip
Questa chiamata API restituisce il seguente JSON, insieme a un'intestazione separata che include un ETag da utilizzare per la richiesta successiva.
Convalida il modello Remote Config
Facoltativamente, puoi convalidare gli aggiornamenti prima di pubblicarli.
Convalida gli aggiornamenti del modello aggiungendo il parametro URL ?validate_only=true alla richiesta di pubblicazione.
Nella risposta, un codice di stato 200 e un etag aggiornato con il suffisso -0
indicano che l'aggiornamento è stato convalidato correttamente. Qualsiasi risposta diversa da 200 indica che i dati JSON contengono errori che devi correggere prima della pubblicazione.
Aggiorna il template Remote Config
Dopo aver recuperato un modello e rivisto i contenuti JSON con gli aggiornamenti, puoi pubblicarlo. La pubblicazione di un template come descritto in questa sezione sostituisce l'intero template di configurazione esistente con il file aggiornato e al nuovo template attivo viene assegnato un numero di versione superiore di un'unità rispetto al template sostituito.
Se necessario, puoi utilizzare l'API REST per eseguire il rollback alla versione precedente. Per ridurre il rischio di errori in un aggiornamento, puoi eseguire la convalida prima della pubblicazione.
Le personalizzazioni e le condizioni di Remote Config sono incluse nei modelli scaricati, pertanto è importante tenere presente le seguenti limitazioni quando si tenta di pubblicare in un progetto diverso:
Le personalizzazioni non possono essere importate da un progetto all'altro.
Ad esempio, se hai attivato le personalizzazioni nel progetto e scarichi e modifichi un modello, puoi pubblicarlo nello stesso progetto, ma non in un altro, a meno che non elimini le personalizzazioni dal modello.
Le condizioni possono essere importate da un progetto all'altro, ma tieni presente che eventuali valori condizionali specifici (come ID app o segmenti di pubblico) devono esistere nel progetto di destinazione prima della pubblicazione.
Ad esempio, se hai un parametro Remote Config che utilizza una condizione che specifica un valore della piattaforma
iOS, il modello può essere pubblicato in un altro progetto, perché i valori della piattaforma sono gli stessi per qualsiasi progetto. Tuttavia, se contiene una condizione che si basa su un ID app o un segmento di pubblico utente specifico che non esiste nel progetto di destinazione, la convalida non andrà a buon fine.Se il template che prevedi di pubblicare contiene condizioni che si basano su Google Analytics, Analytics deve essere abilitato nel progetto di destinazione.
cURL
curl --compressed -H "Content-Type: application/json; UTF8" -H "If-Match: last-returned-etag" -H "Authorization: Bearer token" -X PUT https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig -d @filenamePer questo comando curl, puoi specificare i contenuti utilizzando il carattere "@" seguito dal nome file.
Richiesta HTTP non elaborata
Host: firebaseremoteconfig.googleapis.com PUT /v1/projects/my-project-id/remoteConfig HTTP/1.1 Content-Length: size Content-Type: application/json; UTF8 Authorization: Bearer token If-Match: expected ETag Accept-Encoding: gzip JSON_HERE
Poiché si tratta di una richiesta di scrittura, l'ETag viene modificato da questo comando e un ETag aggiornato viene fornito nelle intestazioni della risposta del comando PUT successivo.
Modifica le condizioni di Remote Config
Puoi modificare in modo programmatico le condizioni e i valori condizionali di Remote Config. Con l'API REST, devi modificare direttamente il template per cambiare le condizioni prima di pubblicarlo.
{
"conditions": [{
"name": "android_english",
"expression": "device.os == 'android' && device.country in ['us', 'uk']",
"tagColor": "BLUE"
}, {
"name": "tenPercent",
"expression": "percent <= 10",
"tagColor": "BROWN"
}],
"parameters": {
"welcome_message": {
"defaultValue": {
"value": "Welcome to this sample app"
},
"conditionalValues": {
"tenPercent": {
"value": "Welcome to this new sample app"
}
},
"description": "The sample app's welcome message"
},
"welcome_message_caps": {
"defaultValue": {
"value": "false"
},
"conditionalValues": {
"android_english": {
"value": "true"
}
},
"description": "Whether the welcome message should be displayed in all
capital letters."
}
}
}Le modifiche nello snippet precedente definiscono prima un insieme di condizioni, poi i valori predefiniti e i valori dei parametri basati sulle condizioni (valori condizionali) per ogni parametro. Inoltre, aggiungono una descrizione facoltativa per ogni elemento; come i commenti al codice, queste descrizioni sono destinate agli sviluppatori e non vengono visualizzate nell'app. Viene fornito anche un ETag per il controllo della versione.
Le API di backend di Remote Config forniscono diverse condizioni e operatori di confronto che puoi utilizzare per modificare il comportamento e l'aspetto della tua app. Per scoprire di più sulle condizioni e sugli operatori supportati per queste condizioni, consulta il riferimento alle espressioni condizionali.
Codici di errore HTTP
| Codice di stato | Significato |
|---|---|
| 200 | Aggiornamento completato |
| 400 | Si è verificato un errore di convalida. Ad esempio, una richiesta contenente un numero di chiavi superiore a quello consentito (2000) restituirà 400 (Bad Request) con il messaggio di errore Param count too large.
Inoltre, questo codice di stato HTTPS può verificarsi in queste due situazioni:
|
| 401 | Si è verificato un errore di autorizzazione (non è stato fornito alcun token di accesso o l'API REST Firebase Remote Config non è stata aggiunta al tuo progetto nella console per sviluppatori Cloud) |
| 403 | Si è verificato un errore di autenticazione (è stato fornito un token di accesso errato) |
| 500 | Si è verificato un errore interno. Se si verifica questo errore, invia un ticket di assistenza Firebase |
Un codice di stato 200 indica che il modello Remote Config (parametri, valori e condizioni per il progetto) è stato aggiornato ed è ora disponibile per le app che utilizzano questo progetto. Altri codici di stato indicano che il template Remote Config esistente in precedenza è ancora attivo.
Dopo aver inviato gli aggiornamenti al template, vai alla console Firebase per verificare che le modifiche vengano visualizzate come previsto. Questo è fondamentale perché l'ordine delle condizioni influisce sul modo in cui vengono valutate (la prima condizione che restituisce true ha effetto).
Utilizzo degli ETag e aggiornamenti forzati
L'API REST Remote Config utilizza un tag di entità (ETag) per evitare race condition e aggiornamenti sovrapposti alle risorse. Per scoprire di più sugli ETag, consulta ETag - HTTP.
Per l'API REST, Google consiglia di memorizzare nella cache l'ETag fornito dal comando GET più recente e di utilizzare questo valore ETag nell'intestazione della richiesta If-Match quando esegui i comandi PUT. Se il comando PUT restituisce un codice di stato HTTPS 409, devi eseguire un nuovo comando GET per acquisire un nuovo ETag e un nuovo template da utilizzare con il comando PUT successivo.
Puoi aggirare l'ETag e la protezione che fornisce forzando l'aggiornamento del template Remote Config come segue: If-Match: *. Tuttavia, questo approccio non è consigliato perché rischia di causare la perdita degli aggiornamenti del template Remote Config se più client aggiornano il template Remote Config. Questo tipo di conflitto potrebbe verificarsi con più client che utilizzano l'API o con aggiornamenti in conflitto provenienti da client API e utenti della console Firebase.
Per indicazioni sulla gestione delle versioni dei template Remote Config, consulta Template e controllo delle versioni di Remote Config.
Modifica Remote Config utilizzando l'interfaccia a riga di comando Firebase
L'interfaccia a riga di comando Firebase ti consente di ispezionare, gestire ed eseguire il rollback dei modelli Remote Config, nonché di elencare, ispezionare ed eliminare esperimenti e implementazioni Remote Config direttamente dalla riga di comando.
Prerequisiti e configurazione
Installa l'interfaccia a riga di comando Firebase o esegui l'aggiornamento all'ultima versione.
Accedi a Firebase:
firebase loginImposta il progetto attivo o specifica
--project PROJECT_IDcon ogni comando:firebase use PROJECT_ID
Assicurati che il tuo account o service account disponga delle autorizzazioni IAM richieste:
- Per ispezionare, scaricare o eseguire il rollback dei template Remote Config e gestire i rollout, devi disporre del ruolo Amministratore Firebase Remote Config (
roles/cloudconfig.admin) (o delle autorizzazionicloudconfig.configs.get,cloudconfig.configs.update,cloudconfig.rollouts.get,cloudconfig.rollouts.listecloudconfig.rollouts.archive). Per le operazioni di sola visualizzazione, è sufficiente il ruolo Visualizzatore Firebase Remote Config (roles/cloudconfig.viewer) (cloudconfig.configs.get,cloudconfig.rollouts.getecloudconfig.rollouts.list). - Per gestire gli esperimenti A/B Testing, devi disporre del ruolo Amministratore Firebase A/B Testing (
roles/firebaseabt.admin) (o delle autorizzazionifirebaseabt.experiments.get,firebaseabt.experiments.listefirebaseabt.experiments.delete). Per le operazioni di sola visualizzazione, è sufficiente il ruolo Visualizzatore Firebase A/B Testing (roles/firebaseabt.viewer).
Riepilogo dei comandi dell'interfaccia a riga di comando
| Comando | Descrizione |
|---|---|
firebase remoteconfig:versions:list |
Elenca le versioni recenti del template Remote Config. |
firebase remoteconfig:get |
Recupera un modello Remote Config (scrivendo facoltativamente in un file). |
firebase remoteconfig:rollback |
Esegue il rollback del template Remote Config a una versione precedente. |
firebase remoteconfig:experiments:list |
Elenca tutti gli esperimenti Remote Config nel progetto. |
firebase remoteconfig:experiments:get |
Recupera i dettagli di un esperimento Remote Config specifico. |
firebase remoteconfig:experiments:delete |
Elimina un esperimento Remote Config specifico. |
firebase remoteconfig:rollouts:list |
Elenca tutti i rollout Remote Config nel progetto. |
firebase remoteconfig:rollouts:get |
Recupera i dettagli di un'implementazione Remote Config specifica. |
firebase remoteconfig:rollouts:delete |
Elimina un'implementazione Remote Config specifica. |
Modifica i modelli e le versioni di Remote Config
Utilizza i seguenti comandi per ispezionare, scaricare ed eseguire il rollback dei template Remote Config e della relativa cronologia delle versioni:
Elenca le versioni dei template
Elenca per impostazione predefinita le 10 versioni più recenti del template Remote Config, inclusi il numero di versione, l'ora dell'aggiornamento, l'origine dell'aggiornamento, il tipo di aggiornamento e updateUser.
firebase remoteconfig:versions:list [--limit NUMBER_OF_VERSIONS]--limit NUMBER_OF_VERSIONS: il numero massimo di versioni da restituire. Specifica0per restituire tutte le versioni esistenti (fino al limite di 300 versioni archiviate).
Esempi:
Elenca le 10 versioni più recenti:
firebase remoteconfig:versions:listElenca tutte le versioni disponibili:
firebase remoteconfig:versions:list --limit 0Elenca le 5 versioni più recenti:
firebase remoteconfig:versions:list --limit 5
Ottieni un modello
Recupera il modello Remote Config e restituisce i gruppi di parametri, i parametri, i nomi delle condizioni e la versione. Per impostazione predefinita, recupera l'ultima versione attiva e stampa un riepilogo formattato nel terminale.
firebase remoteconfig:get [-v, --version_number VERSION_NUMBER] [-o, --output FILENAME]-v, --version_number VERSION_NUMBER: il numero di versione del template da recuperare. Se omesso, il valore predefinito è l'ultima versione.-o, --output FILENAME: scrive il payload JSON del template direttamente nel percorso specificato anziché stamparlo su stdout.
Esempi:
Visualizza il template attualmente attivo nel terminale:
firebase remoteconfig:getScarica il modello attualmente attivo in un file JSON:
firebase remoteconfig:get -o remote_config_template.jsonScarica una versione storica specifica (ad esempio, la versione 12) in un file:
firebase remoteconfig:get -v 12 -o remote_config_v12.json
Esegui il rollback di un template
Esegue il rollback del template Remote Config attivo a una versione precedente. In questo modo viene creata una nuova versione attiva con contenuti identici a quelli della versione di destinazione.
firebase remoteconfig:rollback [-v, --version_number VERSION_NUMBER] [--force]-v, --version_number VERSION_NUMBER: il numero della versione di destinazione a cui eseguire il rollback. Se omesso, il valore predefinito è la versione immediatamente precedente (versione corrente meno 1).--force: esegue immediatamente il rollback senza richiedere una conferma interattiva (Y/N). Utile per pipeline CI/CD e script automatici.
Esempi:
Esegui il rollback alla versione precedente con conferma interattiva:
firebase remoteconfig:rollbackEsegui il rollback alla versione 8 senza prompt:
firebase remoteconfig:rollback -v 8 --force
Modifica A/B Testing esperimento
Utilizza i seguenti comandi per elencare, ispezionare ed eliminare gli esperimenti A/B Testing Remote Config direttamente con l'interfaccia a riga di comando:
Elenca esperimenti
Elenca tutti gli esperimenti Remote Config per il progetto, con filtri e paginazione facoltativi.
firebase remoteconfig:experiments:list [--filter EXPRESSION] [--pageSize NUMBER] [--pageToken TOKEN]--filter EXPRESSION: espressione di filtro da applicare all'elenco degli esperimenti.--pageSize NUMBER: numero di esperimenti da restituire per pagina (il valore predefinito è 10).--pageToken TOKEN: token per l'offset della pagina durante il recupero dei risultati impaginati.
Esempio:
firebase remoteconfig:experiments:listVisualizza i dettagli dell'esperimento
Recupera i dettagli completi di un esperimento Remote Config specificato.
firebase remoteconfig:experiments:get EXPERIMENT_IDEsempio:
firebase remoteconfig:experiments:get exp_promo_discount_2026Elimina un esperimento
Elimina l'esperimento Remote Config specificato.
firebase remoteconfig:experiments:delete EXPERIMENT_IDEsempio:
firebase remoteconfig:experiments:delete exp_promo_discount_2026Modifica Remote Config implementazioni
Utilizza i seguenti comandi per elencare, ispezionare ed eliminare i rollout Remote Config direttamente con l'interfaccia a riga di comando:
Elenca implementazioni
Elenca tutti i rollout Remote Config per il progetto, con filtri e paginazione facoltativi.
firebase remoteconfig:rollouts:list [--filter EXPRESSION] [--pageSize NUMBER] [--pageToken TOKEN]--filter EXPRESSION: espressione di filtro da applicare all'elenco di implementazioni.--pageSize NUMBER: il numero di implementazioni da restituire per pagina (il valore predefinito è 10).--pageToken TOKEN: token per l'offset della pagina durante il recupero dei risultati impaginati.
Esempio:
firebase remoteconfig:rollouts:listOttieni i dettagli dell'implementazione
Recupera i dettagli completi di un'implementazione Remote Config specificata.
firebase remoteconfig:rollouts:get ROLLOUT_IDEsempio:
firebase remoteconfig:rollouts:get rollout_new_checkout_flowElimina un'implementazione
Elimina l'implementazione Remote Config specificata.
firebase remoteconfig:rollouts:delete ROLLOUT_IDEsempio:
firebase remoteconfig:rollouts:delete rollout_new_checkout_flowPer informazioni più generali sui comandi dell'interfaccia a riga di comando Firebase, consulta il riferimento dell'interfaccia a riga di comando Firebase.