Esta página contém informações de referência para criar expressões condicionais usando APIs de back-end do Configuração remota ou o Console do Firebase. Para obter mais informações sobre como configurar e usar APIs de back-end, consulte Modificar a Configuração remota programaticamente .
Elementos usados para criar condições
A API REST do Configuração remota oferece suporte aos mesmos elementos que você pode usar para criar condições ao configurar a Configuração remota usando o Firebase Console:
Elemento | Descrição |
---|---|
&& | Usado para criar um "e" lógico de elementos se estiver usando mais de um elemento para uma condição. Se um elemento for usado na sintaxe REST sem Nota: é necessário um espaço antes e depois do E comercial. Por exemplo: |
app.build | Avalia como Nota: 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 | Avalia como Nota: Para dispositivos Android use o valor versionName e para dispositivos Apple use o valor CFBundleShortVersionString . |
app.id | Um elemento baseado no Firebase App ID do aplicativo |
app.audiences | Um elemento avaliado como TRUE ou FALSE com base na presença ou ausência do usuário em um ou mais públicos-alvo do Firebase Analytics . |
app.firstOpenTimestamp | Um elemento baseado na primeira vez que o usuário inicia um aplicativo, obtido no evento first_open do Google Analytics. Usa formato de data ISO com a opção de especificar um fuso horário fixo; por exemplo, app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') . Se nenhum fuso horário for especificado, GMT será usado. |
app.userProperty | Um elemento avaliado como 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 no qual um aplicativo está sendo executado. Avalia como Nota: Disponível apenas para aplicativos da Web. |
app.browserAndVersion | Um elemento baseado no navegador no qual um aplicativo está sendo executado. Avalia como Nota: Disponível apenas para aplicativos da Web. |
app.firebaseInstallationId | Um elemento baseado nos IDs de instalações de dispositivos específicos. Avalia como TRUE quando o ID de instalação corresponde a um dos IDs de instalação especificados. |
device.country | Um elemento baseado na região/país em que um dispositivo está localizado, usando o padrão ISO 3166-1 alfa-2 (por exemplo, EUA ou Reino Unido). Avalia como TRUE quando um país corresponde a um código de país esperado. |
device.dateTime | Um elemento baseado na hora da última busca executada pelo dispositivo. Usa 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 usando uma tag IETF Language, como es-ES, pt-BR ou en-US. Avalia como TRUE quando um idioma corresponde a um código de idioma esperado. |
device.os | Um elemento baseado no sistema operacional usado em um dispositivo (Apple ou Android). Avalia como TRUE quando o sistema operacional do dispositivo é do tipo esperado. |
percent | Avalia como TRUE com base na inclusão de um usuário em uma porcentagem fracionária atribuída aleatoriamente (com tamanhos de amostra tão pequenos quanto 0,000001%). |
Uma condição de elemento único contém três campos:
- Um
name
definido arbitrariamente (até 100 caracteres) - Uma expressão condicional avaliada como
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 forma como as condições são exibidas no console do Firebase.
Operadores suportados
Elemento | Operadores suportados | Descrição |
---|---|---|
app.audiences | .inAtLeastOne([...]) | Retorna TRUE se o público real corresponder a pelo menos um nome de público na lista.Por exemplo: app.audiences.inAtLeastOne(['Audience 1', 'Audience 2']) |
app.audiences | .notInAtLeastOne([...]) | Retorna TRUE se o público real não corresponder a pelo menos um nome de público na lista. |
app.audiences | .inAll([...]) | Retorna TRUE se o público real for membro de todos os nomes de público da lista. |
app.audiences | .notInAll([...]) | Retorna TRUE se o público real não for membro de nenhum público da lista. |
app.firstOpenTimestamp | <=, > | Compara a hora do evento first_open com a hora especificada na condição e retorna TRUE ou FALSE com base no operador.Uso de amostra: app.firstOpenTimestamp >= ('2022-10-31T14:37:47', 'America/Los_Angeles') .Para especificar um intervalo: app.firstOpenTimestamp >= ('2022-11-01T00:00:00') && app.firstOpenTimestamp < ('2022-12-01T00:00:00') Se nenhum fuso horário for especificado, GMT será usado. |
app.userProperty | < , <= , == , != , >= , > | Retorna TRUE se a propriedade real do usuário for numericamente comparada ao valor especificado de uma forma que corresponda ao operador. |
app.userProperty | .contains([...]) | Retorna TRUE se algum dos valores de destino for uma substring da propriedade real do usuário. |
app.userProperty | .notContains([...]) | Retorna TRUE se nenhum dos valores de destino for uma substring da propriedade real do usuário. |
app.userProperty | .exactlyMatches([...]) | Retorna TRUE se a propriedade real do usuário corresponder exatamente (diferenciando maiúsculas de minúsculas) a qualquer um dos valores de destino na lista. |
app.userProperty | .matches([...]) | Retorna TRUE se qualquer expressão regular de destino na lista corresponder a uma substring ou ao valor real inteiro. Para forçar a correspondência de toda a string, preceda a expressão regular com "^" e coloque no sufixo "$". Usa sintaxe RE2 . |
app.id | == | Retorna TRUE se o valor especificado corresponder ao ID do aplicativo do aplicativo. |
app.build | < , <= , == , != , >= , > | Retorna TRUE se a compilação real do aplicativo for numericamente comparada ao valor especificado de uma forma que corresponda ao operador. |
app.build | .contains([...]) | Retorna TRUE se algum dos valores de destino for uma substring da compilação real do aplicativo — por exemplo, "a" e "bc" são substrings de "abc". |
app.build | .notContains([...]) | Retorna TRUE se nenhum dos valores de destino for uma substring da construção real do aplicativo. | Por exemplo, app.build | .exactlyMatches([...]) | Retorna TRUE se a compilação real do aplicativo corresponder exatamente a qualquer um dos valores de destino na lista. |
app.build | .matches([...]) | Retorna TRUE se qualquer expressão regular de destino na lista corresponder a uma substring ou ao valor real inteiro. Para forçar a correspondência de toda a string, preceda a expressão regular com "^" e coloque no sufixo "$". Usa sintaxe RE2 . |
app.version | < , <= , == , != , >= , > | Retorna TRUE se a versão real do aplicativo for numericamente comparada ao valor especificado de uma forma que corresponda ao operador. |
app.version | .contains([...]) | Retorna TRUE se algum dos valores de destino for uma substring da versão real do aplicativo — por exemplo, "a" e "bc" são substrings de "abc". |
app.version | .notContains([...]) | Retorna TRUE se nenhum dos valores de destino for uma substring da versão real do aplicativo. | Por exemplo,
app.version | .exactlyMatches([...]) | Retorna TRUE se a versão real do aplicativo corresponder exatamente a qualquer um dos valores de destino na lista. |
app.version | .matches([...]) | Retorna TRUE se qualquer expressão regular de destino na lista corresponder a uma substring ou ao valor real inteiro. Para forçar a correspondência de toda a string, preceda a expressão regular com "^" e coloque no sufixo "$". Usa sintaxe RE2 . |
app.operatingSystemAndVersion | .inOne([...]) | Retorna TRUE se o sistema operacional e a versão corresponderem a qualquer um dos valores de destino na lista.Por exemplo: app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')]) |
app.browserAndVersion | .inOne([...]) | Retorna TRUE se o navegador e a versão corresponderem a qualquer um dos valores de destino na lista.Por exemplo: app.browserAndVersion.inOne([browserName('Chrome').anyVersion]) |
app.firebaseInstallationId | in [...] | Retorna TRUE se o ID de instalação corresponder a qualquer um 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 qualquer país especificado na lista. Exemplo de uso: device.country in ['gb', 'us'] . O código do país do dispositivo é determinado usando o endereço IP do dispositivo na solicitação ou o 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 alvo 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 [...] | Retorna TRUE se algum dos idiomas do aplicativo corresponder a um idioma da lista. Exemplo de uso: device.language in ['en-UK', 'en-US'] . |
device.os | == , != | Retorna TRUE se o sistema operacional do dispositivo for comparado ao valor nesse campo correspondente ao operador. |
percent | <= , > , between | Retorna TRUE se o valor no campo percent for comparado ao valor que foi atribuído aleatoriamente de acordo com o operador.Você pode especificar uma semente para selecionar um novo grupo de instâncias de aplicativo atribuído aleatoriamente para um determinado intervalo de porcentagem, conforme descrito em Tipos de regras de condição . Para fazer isso, forneça o nome da semente antes do operador, como no exemplo a seguir: percent('keyName') <= 10 Para configurar um intervalo específico, você pode usar o operador percent between 20 and 60 Para configurar um intervalo de usuários entre 60 e 80 usando uma semente personalizada: percent('seedName') between 60 and 80 |