Referência de expressão condicional do Configuração remota

Veja nesta página as informações de referência para criar expressões condicionais usando a API REST do Configuração remota ou o Console do Firebase. Para ver mais informações sobre como configurar e usar a API REST, consulte a seção Usar a API REST do Configuração remota.

Elementos usados para criar condições

A API REST é compatível com os mesmos elementos usados para criar condições durante a configuração do Configuração remota por meio do 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 && , ele será tratado como uma condição.

Observação: é necessário inserir um espaço antes e depois do "e" comercial. Por exemplo: element1 && element2.

app.version Elemento que muda para TRUE ou FALSE com base no valor numérico da versão de um app.
app.id Um elemento baseado no código 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.
device.country Um elemento baseado 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 um país corresponde a um código de idioma esperado.
device.os Um elemento baseado no sistema operacional usado em um dispositivo, que pode ser iOS ou Android. Ele muda para TRUE quando o SO do dispositivo é do tipo esperado.
app.userProperty Um 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.
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:

  1. um campo name definido arbitrariamente (até 100 caracteres)
  2. uma expressão condicional que muda para TRUE ou FALSE, composta pelos elementos mostrados acima
  3. (opcional) o campo tagColor, que pode ser "BLUE", "BROWN", "CYAN", "DEEP_ORANGE", "GREEN", "INDIGO", "LIME", "ORANGE", "PINK", "PURPLE" ou "TEAL". A cor é indiferente a maiúsculas e afeta apenas a maneira como as condições são exibidas no Console do Firebase.

Operadores compatíveis

Por exemplo, app.version.notContains([123, 456]) retorna FALSE se a versão real do app for 123 ou 456, mas retorna TRUE se a versão real for 999.
Elemento Operadores compatíveis Descrição
app.audiences .inAtLeastOne([...]) Retorna TRUE caso o público real corresponda a pelo menos um nome de público da lista.
Por 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. Use a sintaxe RE2.
app.id == Retornará TRUE se o valor especificado corresponder ao código do app.
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.
device.country in [...] Retornará TRUE se o país do dispositivo, que é determinado pelo endereço IP atual do dispositivo no Android ou pela propriedade countryCode no iOS, corresponder a qualquer país na lista. Exemplo de uso: device.country in ['gb', 'us'].
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. Uso de amostra: 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 e correspondente ao operador.
app.predictions .inAtLeastOne([...]) Retornará TRUE se o código do perfil de risco de previsões de segmentação indicado for previsto. Atualmente, essa condição é compatível apenas com a segmentação de um código de perfil de risco de previsões. Exemplo de uso: app.predictions.inAtLeastOne(['pred']) retornará TRUE se "pred" for previsto.

Parâmetros com strings vazias e sem valor

Ao criar ou editar valores de parâmetros no console da Web do Configuração remota, você pode definir o valor do parâmetro como um valor de string, (string vazia), ou como Nenhum valor. Esta ação resulta no uso do valor padrão no app em vez do valor do modelo do Configuração remota.

Quando você usa a API Remote Config para receber o modelo do Configuração remota para seu projeto no formato JSON, Nenhum valor é representado conforme mostrado abaixo:

"myCondition" : {
  "useInAppDefault" : true
},

Da mesma forma, (string vazia) é representada da seguinte maneira:

"myCondition" : {
  "value" : ""
},

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.