Riferimento per l'espressione condizionale di Remote Config

Questa pagina contiene informazioni di riferimento per la creazione di espressioni condizionali utilizzando le API di backend Remote Configo la console Firebase. Per ulteriori informazioni sulla configurazione e sull'utilizzo delle API di backend, consulta Modificare Remote Config a livello di programmazione.

Elementi utilizzati per creare le condizioni

L'API REST di Remote Config supporta gli stessi elementi che puoi utilizzare per creare le condizioni quando configuri Remote Config utilizzando la console Firebase:

Elemento Descrizione
&&

Utilizzato per creare un "and" logico di elementi se utilizzi più di un elemento per una condizione. Se un elemento viene utilizzato nella sintassi REST senza il && , viene trattato come una condizione.

Nota:è necessario uno spazio prima e dopo le e commerciali. Ad esempio: element1 && element2.

app.build

Restituisce TRUE o FALSE in base al valore del numero di build di un'app.

Nota:disponibile solo su dispositivi Apple e Android. Per Apple, utilizza il valore di CFBundleVersion e per Android, utilizza il valore di versionCode.

app.version

Restituisce TRUE o FALSE in base al valore del numero di versione di un'app.

Nota:per i dispositivi Android utilizza il valore di versionName, e per i dispositivi Apple utilizza il valore di CFBundleShortVersionString.

app.id Un elemento basato sull'ID app Firebase dell'app.
app.audiences Un elemento che restituisce TRUE o FALSE in base alla presenza o all'assenza dell'utente in uno o più segmenti di pubblico di Firebase Analytics.
app.firstOpenTimestamp Un elemento basato sulla prima volta che l'utente avvia un'app, ottenuto da l'evento Google Analytics first_open. Utilizza il formato data ISO con la possibilità di specificare un fuso orario fisso, ad esempio, app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles'). Se non viene specificato alcun fuso orario, viene utilizzato il fuso orario GMT.
app.userProperty Un elemento che restituisce TRUE o FALSE in base al valore numerico o stringa di una Google Analytics Proprietà utente.
app.operatingSystemAndVersion

Un elemento basato sul sistema operativo su cui è in esecuzione un'app. Restituisce TRUE quando il sistema operativo e la versione del sistema operativo corrispondono al target specificato.

Nota:disponibile solo per le app web.

app.browserAndVersion

Un elemento basato sul browser su cui è in esecuzione un'app. Restituisce TRUE quando il browser e la versione del browser corrispondono al target specificato.

Nota:disponibile solo per le app web.

app.firebaseInstallationId Un elemento basato sugli ID di installazioni di dispositivi specifici. Restituisce TRUE quando l' ID di installazione corrisponde a uno degli ID di installazione specificati.
app.customSignal Un elemento che restituisce TRUE o FALSE in base al valore numerico, semantico o stringa delle condizioni dell'indicatore personalizzato.
device.country Un elemento basato sulla regione/sul paese in cui si trova un dispositivo, utilizzando lo standard ISO 3166-1 alpha-2 (ad esempio, US o UK). Restituisce TRUE quando un paese corrisponde a un codice paese previsto.
device.dateTime Un elemento basato sull'ora dell'ultimo recupero eseguito dal dispositivo. Utilizza il formato data ISO con la possibilità di specificare un fuso orario fisso, ad esempio dateTime('2017-03-22T13:39:44', 'America/Los_Angeles').
device.language Un elemento basato sulla lingua selezionata su un dispositivo. La lingua è rappresentata utilizzando un tag di lingua IETF come es-ES, pt-BR o en-US. Restituisce TRUE quando una lingua corrisponde a un codice lingua previsto.
device.os Un elemento basato sul sistema operativo utilizzato su un dispositivo (Apple o Android). Restituisce TRUE quando il sistema operativo del dispositivo è il tipo previsto.
percent Restituisce TRUE in base all'inclusione di un utente in una percentuale frazionaria assegnata in modo casuale (con dimensioni del campione anche dello 0,000001%).

Una condizione a elemento singolo contiene tre campi:

  1. Un name definito in modo arbitrario (fino a 100 caratteri).
  2. Un'espressione condizionale che restituisce TRUE o FALSE, composta dagli elementi mostrati sopra.
  3. (Facoltativo) Il tagColor, che può essere "BLUE", "BROWN", "CYAN", "DEEP_ORANGE", "GREEN", "INDIGO", "LIME", "ORANGE", "PINK", "PURPLE" o "TEAL". Il colore non fa distinzione tra maiuscole e minuscole e influisce solo sulla visualizzazione delle condizioni nella Firebase console.

Operatori supportati

Ad esempio, app.build.notContains([123, 456]) restituisce TRUE se la build dell'app effettiva è 123 o 492, ma restituisce FALSE se la build dell'app effettiva è 999.

Ad esempio, app.version.notContains([123, 456]) restituisce TRUE se la versione dell'app effettiva è 123 o 492, ma restituisce FALSE se la versione dell'app effettiva è 999.

Elemento Operatori supportati Descrizione
app.audiences .inAtLeastOne([...])

Restituisce TRUE se il segmento di pubblico effettivo corrisponde ad almeno un nome di segmento di pubblico nell'elenco.
Ad esempio:

app.audiences.inAtLeastOne(['Audience 1', 'Audience 2'])

app.audiences .notInAtLeastOne([...])

Restituisce TRUE se il segmento di pubblico effettivo non corrisponde ad almeno un nome di segmento di pubblico nell'elenco.

app.audiences .inAll([...])

Restituisce TRUE se il segmento di pubblico effettivo è membro di ogni nome di segmento di pubblico nell'elenco.

app.audiences .notInAll([...])

Restituisce TRUE se il segmento di pubblico effettivo non è membro di alcun segmento di pubblico nell'elenco.

app.firstOpenTimestamp <=, >

Confronta l'ora dell'evento first_open con l'ora specificata nella condizione e restituisce TRUE o FALSE in base all'operatore.
Esempi di utilizzo:
app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles').
Per specificare un intervallo:
app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00') Se non viene specificato alcun fuso orario, viene utilizzato il fuso orario GMT.

app.userProperty <, <=, ==, !=, >=, >

Restituisce TRUE se la proprietà utente effettiva viene confrontata numericamente con il valore specificato in modo che corrisponda all'operatore.

app.userProperty .contains([...])

Restituisce TRUE se uno dei valori target è una sottostringa della proprietà utente effettiva.

app.userProperty .notContains([...])

Restituisce TRUE se nessuno dei valori target è una sottostringa della proprietà utente effettiva.

app.userProperty .exactlyMatches([...])

Restituisce TRUE se la proprietà utente effettiva corrisponde esattamente (con distinzione tra maiuscole e minuscole) uno qualsiasi dei valori target nell'elenco.

app.userProperty .matches([...])

Restituisce TRUE se una qualsiasi espressione regolare target nell' elenco corrisponde a una sottostringa o all' intero valore effettivo. Per forzare la corrispondenza dell'intera stringa, anteponi all'espressione regolare "^" e aggiungi il suffisso "$". Utilizza la sintassi RE2.

app.id ==

Restituisce TRUE se il valore specificato corrisponde all'ID app dell'app.

app.build <, <=, ==, !=, >=, >

Restituisce TRUE se la build dell'app effettiva viene confrontata numericamente con il valore specificato in modo che corrisponda all'operatore.

app.build .contains([...])

Restituisce TRUE se uno dei valori target è una sottostringa della build dell'app effettiva, ad esempio "a" e "bc" sono sottostringhe di "abc".

app.build .notContains([...])

Restituisce TRUE se nessuno dei valori target è una sottostringa della build dell'app effettiva.

app.build .exactlyMatches([...])

Restituisce TRUE se la build dell'app effettiva corrisponde esattamente a uno qualsiasi dei valori target nell'elenco.

app.build .matches([...])

Restituisce TRUE se una qualsiasi espressione regolare target nell' elenco corrisponde a una sottostringa o all'intero valore effettivo. Per forzare la corrispondenza dell'intera stringa, anteponi all'espressione regolare "^" e aggiungi il suffisso con "$". Utilizza la sintassi RE2.

app.version <, <=, ==, !=, >=, >

Restituisce TRUE se la versione dell'app effettiva viene confrontata numericamente con il valore specificato in modo che corrisponda all'operatore.

app.version .contains([...])

Restituisce TRUE se uno dei valori target è una sottostringa della versione dell'app effettiva, ad esempio "a" e "bc" sono sottostringhe di "abc".

app.version .notContains([...])

Restituisce TRUE se nessuno dei valori target è una sottostringa di della versione dell'app effettiva.

app.version .exactlyMatches([...])

Restituisce TRUE se la versione dell'app effettiva corrisponde esattamente a uno qualsiasi dei valori target nell'elenco.

app.version .matches([...])

Restituisce TRUE se una qualsiasi espressione regolare target nell' elenco corrisponde a una sottostringa o all'intero valore effettivo. Per forzare la corrispondenza dell'intera stringa, anteponi all'espressione regolare "^" e aggiungi il suffisso con "$". Utilizza la sintassi RE2.

app.operatingSystemAndVersion .inOne([...])

Restituisce TRUE se il sistema operativo e la versione corrispondono a uno qualsiasi dei valori target nell'elenco.
Ad esempio:

    app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh')
    .version.==('10.15')])
    

app.browserAndVersion .inOne([...])

Restituisce TRUE se il browser e la versione corrispondono a uno qualsiasi dei valori target nell'elenco.
Ad esempio:

    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
    

app.firebaseInstallationId in [...]

Restituisce TRUE se l'ID di installazione corrisponde a uno qualsiasi degli ID specificati nell'elenco. Esempi di utilizzo: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']

app.customSignal <, <=, ==, !=, >=, >

Restituisce TRUE se la condizione del segnale personalizzato viene confrontata numericamente con il valore specificato in modo che corrisponda all'operatore.

app.customSignal .contains([...])

Restituisce TRUE se uno dei valori target è una sottostringa della condizione del segnale personalizzato effettivo.

app.customSignal .notContains([...])

Restituisce TRUE se uno dei valori target è una sottostringa della condizione del segnale personalizzato effettivo.

app.customSignal .exactlyMatches([...])

Restituisce TRUE se la condizione del segnale personalizzato effettivo corrisponde esattamente a uno qualsiasi dei valori target nell'elenco (con distinzione tra maiuscole e minuscole).

app.customSignal .matches([...])

Restituisce TRUE se una qualsiasi espressione regolare target nell'elenco corrisponde a una sottostringa o all'intera condizione del segnale personalizzato effettivo. Per forzare la corrispondenza dell'intera stringa, anteponi all'espressione regolare "^" e aggiungi il suffisso "$". Utilizza la sintassi RE2.

version(app.customSignal) <, <=, ==, !=, >=, >

Restituisce TRUE se la condizione del segnale personalizzato viene confrontata semanticamente con il valore specificato in modo che corrisponda all'operatore.

device.country in [...]

Restituisce TRUE se il paese del dispositivo corrisponde a uno qualsiasi dei paesi specificati nell'elenco. Esempi di utilizzo: device.country in ['gb', 'us']. Il codice paese del dispositivo viene determinato utilizzando l' indirizzo IP del dispositivo nella richiesta o il codice paese determinato da Firebase Analytics (se i dati di Analytics sono condivisi con Firebase).

device.dateTime <=, >

Confronta l'ora attuale con l'ora target della condizione e restituisce TRUE o FALSE in base all'operatore. Esempi di utilizzo: dateTime < dateTime('2017-03-22T13:39:44').

device.language in [...]

Restituisce TRUE se una qualsiasi delle lingue dell'app corrisponde a una lingua nell'elenco. Esempi di utilizzo: device.language in ['en-UK', 'en-US'].

device.os ==, != Restituisce TRUE se il sistema operativo del dispositivo viene confrontato con il valore nel campo corrispondente all'operatore.
percent <=, >, between

Restituisce TRUE se il valore nel campo percent viene confrontato con il valore assegnato in modo casuale corrispondente all'operatore.

Puoi specificare un valore di inizializzazione per selezionare un nuovo gruppo di istanze dell'app assegnato in modo casuale per un determinato intervallo di percentuali, come descritto in Tipi di regole di condizione.

Per farlo, fornisci il nome del valore di inizializzazione prima dell'operatore, come nel seguente esempio:

percent('keyName') <= 10

Per configurare un intervallo specifico, puoi utilizzare l' between operatore. Per configurare un intervallo di utenti compreso tra 20 e 60 utilizzando il valore di inizializzazione predefinito:

percent between 20 and 60

Per configurare un intervallo di utenti compreso tra 60 e 80 utilizzando un valore di inizializzazione personalizzato:

percent('seedName') between 60 and 80