Questa pagina contiene informazioni di riferimento per la creazione di espressioni condizionali utilizzando le API back-end di Remote Config o la console Firebase. Per ulteriori informazioni sulla configurazione e l'utilizzo delle API di back-end, consulta Modify Remote Config a livello di programmazione .
Elementi utilizzati per creare condizioni
L'API REST di 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 "e" 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 la e commerciale. Ad esempio: |
app.build | Restituisce Nota: disponibile solo su dispositivi Apple e Android. Per Apple, usa il valore di CFBundleVersion e per Android, usa il valore di versionCode . |
app.version | Restituisce Nota: per i dispositivi Android utilizzare il valore di versionName e per i dispositivi Apple utilizzare 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 first_open di Google Analytics. 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 GMT. |
app.userProperty | Un elemento che restituisce TRUE o FALSE in base al valore numerico o stringa di una proprietà utente di Firebase Analytics . |
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 in 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 di installazione corrisponde a uno degli ID di installazione specificati. |
device.country | Un elemento basato sulla regione/paese in cui si trova un dispositivo, utilizzando lo standard ISO 3166-1 alpha-2 (ad esempio, Stati Uniti o Regno Unito). 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 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 è 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 fino a 0,000001%). |
Una condizione a elemento singolo contiene tre campi:
- Un
name
definito arbitrariamente (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 sul modo in cui le condizioni vengono visualizzate nella console Firebase.
Operatori supportati
Elemento | Operatori supportati | Descrizione |
---|---|---|
app.audiences | .inAtLeastOne([...]) | Restituisce TRUE se il destinatario effettivo corrisponde ad almeno un nome destinatario nell'elenco.Per esempio: app.audiences.inAtLeastOne(['Audience 1', 'Audience 2']) |
app.audiences | .notInAtLeastOne([...]) | Restituisce TRUE se il pubblico effettivo non corrisponde ad almeno un nome destinatario nell'elenco. |
app.audiences | .inAll([...]) | Restituisce TRUE se il destinatario effettivo è un membro di ogni nome destinatario nell'elenco. |
app.audiences | .notInAll([...]) | Restituisce TRUE se il pubblico effettivo non è un 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 GMT. |
app.userProperty | < , <= , == , != , >= , > | Restituisce TRUE se la proprietà utente effettiva viene confrontata numericamente con il valore specificato in un modo che corrisponde all'operatore. |
app.userProperty | .contains([...]) | Restituisce TRUE se uno dei valori di destinazione è una sottostringa della proprietà utente effettiva. |
app.userProperty | .notContains([...]) | Restituisce TRUE se nessuno dei valori di destinazione è una sottostringa della proprietà utente effettiva. |
app.userProperty | .exactlyMatches([...]) | Restituisce TRUE se la proprietà dell'utente effettivo corrisponde esattamente (con distinzione tra maiuscole e minuscole) a uno qualsiasi dei valori di destinazione nell'elenco. |
app.userProperty | .matches([...]) | Restituisce TRUE se un'espressione regolare di destinazione nell'elenco corrisponde a una sottostringa o all'intero valore effettivo. Per forzare la corrispondenza dell'intera stringa, far precedere l'espressione regolare da "^" e aggiungere 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 effettiva dell'app 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 effettiva dell'app, ad esempio "a" e "bc" sono sottostringhe di "abc". |
app.build | .notContains([...]) | Restituisce TRUE se nessuno dei valori di destinazione è una sottostringa della build effettiva dell'app. | Ad esempio, app.build | .exactlyMatches([...]) | Restituisce TRUE se la build effettiva dell'app corrisponde esattamente a uno dei valori di destinazione nell'elenco. |
app.build | .matches([...]) | Restituisce TRUE se un'espressione regolare di destinazione nell'elenco corrisponde a una sottostringa o all'intero valore effettivo. Per forzare la corrispondenza dell'intera stringa, far precedere l'espressione regolare da "^" e aggiungere il 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 di destinazione è 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 di destinazione è una sottostringa della versione effettiva dell'app. | Ad esempio,
app.version | .exactlyMatches([...]) | Restituisce TRUE se la versione effettiva dell'app corrisponde esattamente a uno dei valori di destinazione nell'elenco. |
app.version | .matches([...]) | Restituisce TRUE se un'espressione regolare di destinazione nell'elenco corrisponde a una sottostringa o all'intero valore effettivo. Per forzare la corrispondenza dell'intera stringa, far precedere l'espressione regolare da "^" e aggiungere il suffisso "$". Utilizza la sintassi RE2 . |
app.operatingSystemAndVersion | .inOne([...]) | Restituisce TRUE se il sistema operativo e la versione corrispondono a uno dei valori di destinazione nell'elenco.Per 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 di destinazione nell'elenco.Per esempio: app.browserAndVersion.inOne([browserName('Chrome').anyVersion]) |
app.firebaseInstallationId | in [...] | Restituisce TRUE se l'id di installazione corrisponde a uno qualsiasi specificato nell'elenco. Esempio di utilizzo: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7'] |
device.country | in [...] | Restituisce TRUE se il paese del dispositivo corrisponde a uno specificato 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 sono condivisi con Firebase). |
device.dateTime | <= , > | Confronta l'ora corrente con l'ora target 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 in quel campo che corrisponde all'operatore. |
percent | <= , > , between | Restituisce TRUE se il valore nel campo percent viene confrontato con il valore che è stato assegnato in modo casuale corrispondente all'operatore.Puoi specificare un seme per selezionare un nuovo gruppo di istanze dell'app assegnato in modo casuale per un determinato intervallo percentuale, come descritto in Tipi di regole di condizione . Per fare ciò, fornire il nome del seme prima dell'operatore, come nell'esempio seguente: percent('keyName') <= 10 Per configurare un intervallo specifico, è possibile utilizzare l'operatore percent between 20 and 60 Per configurare un intervallo di utenti compreso tra 60 e 80 utilizzando un seme personalizzato: percent('seedName') between 60 and 80 |