Esta página contém informações de referência para criar expressões condicionais usando as APIs de back-end do Configuração remota ou o Console do Firebase. Para mais informações sobre como configurar e usar as APIs de back-end, consulte Modificar o Configuração remota de maneira programática.
Elementos usados para criar condições
A API REST do Configuração remota é compatível com os mesmos elementos que você pode usar para criar condições ao configurar o Configuração remota usando o Console do Firebase:
Elemento | Descrição |
---|---|
&& |
Usado para criar um "e" lógico de elementos caso você use mais de um elemento para uma condição. Se um elemento for usado na sintaxe REST sem Observação: é necessário inserir um espaço antes e depois do "e" comercial. Exemplo:
|
app.build |
Elemento que muda para Observação: disponível apenas em dispositivos Apple e Android. Para Apple, use o valor de CFBundleVersion e, para Android, use o valor de versionCode. |
app.version |
Elemento que muda para Observação: para dispositivos Android, use o valor de versionName e, para dispositivos Apple, use o valor de CFBundleShortVersionString. |
app.id |
Um elemento baseado no ID do app no Firebase |
app.audiences |
Elemento que muda para TRUE ou FALSE com base na presença ou ausência do usuário em um ou mais públicos do Firebase Analytics. |
app.userProperty |
Elemento que muda para TRUE ou FALSE com base no valor numérico ou de string de uma propriedade do usuário do Firebase Analytics. |
app.operatingSystemAndVersion |
Um elemento baseado no sistema operacional em que um app está sendo executado.
Ele muda para Observação: disponível apenas para apps da Web. |
app.browserAndVersion |
Um elemento baseado no navegador em que um app está sendo executado.
Ele muda para Observação: disponível apenas para apps da Web. |
app.firebaseInstallationId |
Um elemento baseado nos IDs das instalações específicas dos dispositivos.
Ele muda para TRUE quando o ID de instalação
corresponde a um dos IDs de instalação especificados. |
device.country |
Um elemento com base na região/país em que um dispositivo está localizado, usando o padrão ISO 3166-1 Alpha-2 (por exemplo, US ou UK). Ele muda para TRUE quando um país corresponde a um código de país esperado. |
device.dateTime |
Um elemento baseado no horário da última busca que o dispositivo realizou.
Usa o formato de data ISO com a opção de especificar um fuso horário fixo. Por exemplo, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') . |
device.language |
Um elemento baseado no idioma selecionado em um dispositivo. O idioma é representado por uma tag de idioma IETF, como es-ES, pt-BR ou en-US.
Ele muda para TRUE quando o idioma corresponde a um código de idioma
esperado. |
device.os |
Um elemento baseado no sistema operacional usado em um dispositivo, que pode ser Apple ou Android.
Ele muda para TRUE quando o SO do dispositivo é do tipo esperado. |
percent |
Elemento que muda para TRUE com base na inclusão de um usuário em um percentil fracionário atribuído aleatoriamente, com tamanhos de amostra de 0,000001%. |
Uma condição de elemento único contém três campos:
- Definido arbitrariamente
name
(até 100 caracteres) - Uma expressão condicional que muda para
TRUE
ouFALSE
, composta pelos elementos mostrados acima - (Opcional) A
tagColor
, que pode ser "BLUE
", "BROWN
", "CYAN
", "DEEP_ORANGE
", "GREEN
", "INDIGO
", "LIME
", "ORANGE
", "PINK
", "PURPLE
", ou "TEAL
". A cor não diferencia maiúsculas de minúsculas e afeta apenas a maneira como as condições são exibidas no Console do Firebase.
Operadores compatíveis
Por exemplo,app.build.notContains([123, 456])
retorna TRUE
se o build real do app for 123 ou 492, mas retorna FALSE
se o build real for 999.
Por exemplo, app.version.notContains([123, 456])
retorna TRUE
se a versão real do app for 123 ou 492, mas retorna FALSE
se a versão real for 999.
Elemento | Operadores compatíveis | Descrição |
---|---|---|
app.audiences |
.inAtLeastOne([...]) |
Retornará TRUE se o público real corresponder a pelo menos um nome de público da lista.Exemplo: app.audiences.inAtLeastOne(['Audience 1', 'Audience 2']) |
app.audiences |
.notInAtLeastOne([...]) |
Retornará TRUE se o público real não corresponder a pelo menos um nome de público da lista. |
app.audiences |
.inAll([...]) |
Retornará TRUE se o público real for um membro de todos os nomes de público da lista. |
app.audiences |
.notInAll([...]) |
Retornará TRUE se o público real não for membro de nenhum público da lista. |
app.userProperty |
< , <= , == , != ,
>= , > |
Retornará TRUE se a propriedade do usuário real for numericamente comparável ao valor especificado de forma que corresponda ao operador. |
app.userProperty |
.contains([...]) |
Retornará TRUE se algum dos valores de destino for uma substring da propriedade do usuário real. |
app.userProperty |
.notContains([...]) |
Retornará TRUE se nenhum dos valores de destino for uma substring da propriedade do usuário real. |
app.userProperty |
.exactlyMatches([...]) |
Retornará TRUE se a propriedade do usuário real corresponder exatamente (com distinção entre maiúsculas e minúsculas) a qualquer um dos valores de destino na lista. |
app.userProperty |
.matches([...]) |
Retornará TRUE se qualquer expressão regular de destino na lista corresponder a uma substring ou a todo o valor real. Para gerar a correspondência de toda a string, use "^" antes da expressão regular e "$" no final dela. Usa a sintaxe RE2. |
app.id |
== |
Retornará TRUE caso o valor especificado corresponda ao ID do app. |
app.build |
< , <= , == , != ,
>= , > |
Retornará TRUE se o build real do app for comparável de maneira numérica
ao valor especificado de uma forma correspondente ao operador. |
app.build |
.contains([...]) |
Retornará TRUE se algum dos valores de destino for uma substring do build real do app. Por exemplo, "a" e "bc" são substrings de "abc". |
app.build |
.notContains([...]) |
Retornará TRUE se nenhum dos valores de destino for uma substring do build real do app. |
app.build |
.exactlyMatches([...]) |
Retornará TRUE se o build real do aplicativo corresponder exatamente a qualquer um dos valores de destino na lista. |
app.build |
.matches([...]) |
Retornará TRUE se qualquer expressão regular de destino na lista corresponder a uma substring ou a todo o valor real. Para gerar a correspondência de toda a string, use "^" antes da expressão regular e "$" no final dela. Usa a sintaxe RE2. |
app.version |
< , <= , == , != ,
>= , > |
Retornará TRUE se a versão real do app for comparável de maneira numérica
ao valor especificado de uma forma correspondente ao operador. |
app.version |
.contains([...]) |
Retornará TRUE se algum dos valores de destino for uma substring da versão real do app, por exemplo, "a" e "bc" são substrings de "abc". |
app.version |
.notContains([...]) |
Retornará TRUE se nenhum dos valores de destino for uma substring da versão real do app. |
app.version |
.exactlyMatches([...]) |
Retornará TRUE se a versão real do app corresponder exatamente a qualquer um dos valores de destino na lista. |
app.version |
.matches([...]) |
Retornará TRUE se qualquer expressão regular de destino na lista corresponder a uma substring ou a todo o valor real. Para gerar a correspondência de toda a string, use "^" antes da expressão regular e "$" no final dela. Usa a sintaxe RE2. |
app.operatingSystemAndVersion |
.inOne([...]) |
Retornará TRUE se o SO e a versão corresponderem a qualquer um dos valores desejados na lista.Exemplo: app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')]) |
app.browserAndVersion |
.inOne([...]) |
Retornará TRUE se o navegador e a versão corresponderem a qualquer um dos valores desejados na lista.Exemplo: app.browserAndVersion.inOne([browserName('Chrome').anyVersion]) |
app.firebaseInstallationId |
in [...] |
Retornará TRUE se o ID de instalação corresponder a
algum especificado na lista. Exemplo de uso: app.firebaseInstallationId
in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7'] |
device.country |
in [...] |
Retorna TRUE se o país do dispositivo corresponder a algum país especificado na lista. Exemplo de uso: device.country in
['gb', 'us'] .
O código do país do dispositivo é determinado por meio do endereço IP do dispositivo na solicitação ou do código do país determinado pelo Firebase Analytics (se os dados do Analytics forem compartilhados com o Firebase). |
device.dateTime |
<= , > |
Compara o horário atual com o horário de destino da condição e avalia como TRUE ou FALSE com base no operador. Exemplo de uso: dateTime < dateTime('2017-03-22T13:39:44') . |
device.language |
in [...] |
Retornará TRUE se qualquer um dos idiomas do app corresponder a um idioma na lista. Exemplo de uso: device.language in ['en-UK', 'en-US'] . |
device.os |
== , != |
Retornará TRUE se o sistema operacional do dispositivo for comparável ao valor nesse campo correspondente ao operador. |
percent |
<= , > |
Retornará TRUE se o valor no campo percent for comparável ao valor atribuído aleatoriamente que corresponde ao operador.
|