Questa pagina contiene informazioni di riferimento per la creazione di espressioni condizionali utilizzando le API di backend Remote Config o la console Firebase. Per ulteriori informazioni sulla configurazione e sull'utilizzo delle API di backend, vedi Modificare Remote Config in modo programmatico.
Elementi utilizzati per creare le condizioni
L'API REST Remote Config supporta gli stessi elementi che puoi utilizzare per creare condizioni durante la configurazione di Remote Config utilizzando la console Firebase:
Elemento | Descrizione |
---|---|
&& |
Utilizzato per creare un "and" logico di elementi se si utilizza più di un elemento
per una condizione. Se un elemento viene utilizzato nella sintassi REST senza
Nota:è necessario uno spazio prima e dopo le e commerciali. Ad esempio:
|
app.build |
Restituisce 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 Nota: per i dispositivi Android utilizza il valore di versionName, mentre 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 dall'evento
Google Analytics first_open . Utilizza il formato data ISO con l'opzione per 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 Nota:disponibile solo per le app web. |
app.browserAndVersion |
Un elemento basato sul browser su cui è in esecuzione un'app.
Restituisce Nota:disponibile solo per le app web. |
app.firebaseInstallationId |
Un elemento basato sugli ID di installazioni di dispositivi specifici.
Restituisce TRUE quando l'ID
installazione corrisponde a uno degli ID installazione specificati. |
app.customSignal |
Un elemento che restituisce TRUE o FALSE in base
al valore numerico, semantico o stringa delle condizioni degli indicatori personalizzati. |
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 l'opzione per 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 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 è del tipo previsto. |
percent |
Restituisce TRUE in base all'inclusione di un utente in una percentuale frazionaria assegnata in modo casuale (con dimensioni del campione pari allo 0,000001%). |
Una condizione a un solo elemento contiene tre campi:
- Un
name
definito in modo arbitrario (fino a 100 caratteri) - Un'espressione condizionale che restituisce
TRUE
oFALSE
, composta dagli elementi mostrati sopra. - (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 console Firebase.
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 effettiva dell'app è 123 o 492, ma restituisce FALSE
se la
versione effettiva dell'app è 999.
Elemento | Operatori supportati | Descrizione |
---|---|---|
app.audiences |
.inAtLeastOne([...]) |
Restituisce TRUE se il segmento di pubblico effettivo corrisponde ad almeno un nome del 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 del segmento di pubblico nell'elenco. |
app.audiences |
.inAll([...]) |
Restituisce TRUE se il segmento di pubblico effettivo è membro di ogni
nome del segmento di pubblico nell'elenco. |
app.audiences |
.notInAll([...]) |
Restituisce TRUE se il pubblico effettivo non è membro di alcun
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.Esempio 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
(rispettando la distinzione tra maiuscole e minuscole) a uno dei valori target nell'elenco. |
app.userProperty |
.matches([...]) |
Restituisce TRUE se qualsiasi espressione regolare di destinazione 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 di destinazione è 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 dei valori target nell'elenco. |
app.build |
.matches([...]) |
Restituisce TRUE se 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 come suffisso
"$". Utilizza la sintassi
RE2. |
app.version |
< , <= , == , != ,
>= , > |
Restituisce TRUE se la versione effettiva dell'app 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 effettiva dell'app, ad esempio "a" e "bc" sono sottostringhe di
"abc". |
app.version |
.notContains([...]) |
Restituisce TRUE se nessuno dei valori target è una sottostringa
della versione effettiva dell'app. |
app.version |
.exactlyMatches([...]) |
Restituisce TRUE se la versione effettiva dell'app corrisponde esattamente a
uno dei valori target nell'elenco. |
app.version |
.matches([...]) |
Restituisce TRUE se 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 come suffisso
"$". 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 dei
valori target nell'elenco.Ad esempio: app.browserAndVersion.inOne([browserName('Chrome').anyVersion]) |
app.firebaseInstallationId |
in [...] |
Restituisce TRUE se l'ID installazione
corrisponde a uno di quelli specificati nell'elenco. Esempio 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 effettiva dell'indicatore personalizzato.
|
app.customSignal |
.notContains([...]) |
Restituisce TRUE se uno dei valori target è una sottostringa della
condizione effettiva dell'indicatore personalizzato.
|
app.customSignal |
.exactlyMatches([...]) |
Restituisce TRUE se la condizione dell'indicatore personalizzato effettivo corrisponde esattamente (rispettando la distinzione tra maiuscole e minuscole) a uno dei valori target nell'elenco.
|
app.customSignal |
.matches([...]) |
Restituisce TRUE se una qualsiasi espressione regolare target nell'elenco
corrisponde a una sottostringa o all'intera condizione effettiva del segnale personalizzato. 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 dell'indicatore 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 di quelli specificati nell'elenco. Esempio 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 vengono condivisi con Firebase). |
device.dateTime |
<= , > |
Confronta l'ora attuale
con l'ora di destinazione della condizione e restituisce TRUE o
FALSE in base all'operatore. Esempio di utilizzo:
dateTime < dateTime('2017-03-22T13:39:44') . |
device.language |
in [...] |
Restituisce TRUE se una delle lingue dell'app corrisponde a una lingua
nell'elenco. Esempio 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 seed per selezionare un nuovo gruppo di istanze dell'app assegnato in modo casuale per un determinato intervallo di percentuale, come descritto in Tipi di regole di condizione. Per farlo, fornisci il nome del seme prima dell'operatore, come nel seguente esempio: percent('keyName') <= 10 Per configurare un intervallo specifico, puoi utilizzare l'operatore percent between 20 and 60 Per configurare un intervallo di utenti compreso tra 60 e 80 utilizzando un seed personalizzato: percent('seedName') between 60 and 80 |