Справочник условных выражений Remote Config

На этой странице содержится справочная информация по созданию условных выражений с использованием API серверной части Remote Config или консоли Firebase. Для получения дополнительной информации о настройке и использовании API - интерфейсов бэкэнда, см Modify Remote Config программно .

Элементы, используемые для создания условий

REST API Remote Config поддерживает те же элементы, которые можно использовать для создания условий при настройке Remote Config с помощью консоли Firebase:

Элемент Описание
&&

Используется для создания логического «И» элементов при использовании более одного элемента для условия. Если элемент используется в синтаксисе REST без && , этот элемент рассматривается как условие.

Примечание: пространство требуется до и после амперсанда. Например: element1 && element2 .

app.build

Оценивает в значение TRUE или FALSE в зависимости от значения числа строить приложения.

Примечание: Доступно только на устройствах Apple , и Android. Для Apple, используйте значение CFBundleVersion и для Android, используйте значение VersionCode .

app.version

Оценивает в значение TRUE или FALSE на основе стоимости номера версии о приложении.

Примечание: Для Android устройств используют значение versionName , и для Apple , устройства используют значение CFBundleShortVersionString .

app.id Элемент, основанный на идентификаторе приложения Firebase.
app.audiences Элемент , который имеет значение TRUE , или FALSE на основе присутствия пользователя или отсутствии в одном или более аудитории Firebase Analytics (ов) .
app.predictionScores.id Элемент, который оценивает процентную вероятность пользователя вызывающего абонента для данного идентификатора прогнозов Firebase.
app.userProperty Элемент , который имеет значение TRUE или FALSE на основании числового или строкового значения в Firebase Analytics User собственности .
app.operatingSystemAndVersion

Элемент, основанный на операционной системе, в которой запущено приложение. Оценивает в TRUE , когда ОС и версия ОС соответствует указанной цели.

Примечание: Доступно только для веб - приложений.

app.browserAndVersion

Элемент, основанный на браузере, в котором запущено приложение. Оцениваю в TRUE , когда браузер и браузер версия соответствует указанной цели.

Примечание: Доступно только для веб - приложений.

app.firebaseInstallationId Элемент, основанный на идентификаторах конкретных установок устройства. Принимает значение TRUE , когда код установки соответствует одному из указанных идентификаторов установки.
device.country Элемент, основанный на регионе / стране, в которой находится устройство, с использованием стандарта ISO 3166-1 alpha-2 (например, США или Великобритания). Оцениваю в TRUE , когда страна соответствует ожидаемому коду страны.
device.dateTime Элемент, основанный на времени последней выборки, выполняемой устройством. Использует формат даты ISO с возможностью указать фиксированный часовой пояс; например, dateTime('2017-03-22T13:39:44', 'America/Los_Angeles') .
device.language Элемент, основанный на языке, выбранном на устройстве. Язык представлен с помощью языкового тега IETF, такого как es-ES, pt-BR или en-US. Оценивает в TRUE , когда язык совпадает с ожидаемым код языка.
device.os Элемент, основанный на операционной системе, используемой на устройстве (Apple или Android). Оценивает в TRUE , если операционная система устройства является ожидаемым типом.
percent Принимает значение TRUE , основанный на включении пользователя в случайным образом распределены фракционной процентили (с размерами образца размером до 0,000001%).

Одноэлементное условие содержит три поля:

  1. Произвольно определено name (до 100 символов)
  2. Условное выражение , которое вычисляется в значение TRUE или FALSE , состоящий из элементов , показанных выше.
  3. (Необязательно) tagColor , который может быть " BLUE ", " BROWN ", " CYAN ", " DEEP_ORANGE ", " GREEN ", " INDIGO ", " LIME ", " ORANGE ", " PINK ", " PURPLE ", или « TEAL ». Цвет не чувствителен к регистру и влияет только на то, как условия отображаются в консоли Firebase.

Поддерживаемые операторы

Например, app.build.notContains([123, 456]) возвращает значение TRUE , если фактическое приложение сборка 123 или 492, но возвращает значение FALSE , если фактическое приложение сборка 999. Например, app.version.notContains([123, 456]) возвращает значение TRUE , если текущая версия приложения 123 или 492, но возвращает значение FALSE , если текущая версия приложения 999.
Элемент Поддерживаемые операторы Описание
app.audiences .inAtLeastOne([...]) Возвращает TRUE , если фактическая аудитория соответствует по крайней мере одно имя аудитории в списке.
Например:

app.audiences.inAtLeastOne(['Audience 1', 'Audience 2'])

app.audiences .notInAtLeastOne([...]) Возвращает TRUE , если фактическая аудитория не соответствует по крайней мере одно имя аудитории в списке.
app.audiences .inAll([...]) Возвращает TRUE , если фактическая аудитория является членом каждого имени аудитории в списке.
app.audiences .notInAll([...]) Возвращает TRUE , если фактическая аудитория не является членом какой - либо аудитории в списке.
app.predictionScores.id .between(..., ...) Возвращает TRUE , если пользователь вызывающего процентиля вероятности прогноза находится в заданном диапазоне.
Например:

app.predictionScores.id('churn').between(0.25, 1.00)

app.userProperty < , <= , == , != , >= , > Возвращает TRUE , если фактическое свойство пользователя численно сравнивается со значением , заданным способом , который соответствует оператору.
app.userProperty .contains([...]) Возвращает TRUE , если какая - либо из целевых значений подстроки фактической собственности пользователя.
app.userProperty .notContains([...]) Возвращает TRUE , если ни один из целевых значений не является подстрока фактической собственности пользователя.
app.userProperty .exactlyMatches([...]) Возвращает TRUE , если фактическое свойство пользователя точно соответствует (с учетом регистра) любой из целевых значений в списке.
app.userProperty .matches([...]) Возвращает TRUE , если цель регулярное выражение в списке соответствует подстроку, или все, фактическое значение. Чтобы принудительно сопоставить всю строку, перед регулярным выражением ставьте «^» и добавляйте к нему суффикс «$». Использует RE2 синтаксис.
app.id == Возвращает TRUE , если значение , указанное соответствует идентификатору приложения приложения.
app.build < , <= , == , != , >= , > Возвращает TRUE , если фактическое приложение сборка численно сравнивается со значением , заданным способом , который соответствует оператору.
app.build .contains([...]) Возвращает TRUE , если какой - либо из целевых значений является подстрока фактического приложения сборки, например, «а» и «до н.э.» являются подстроки «Азбуки».
app.build .notContains([...]) Возвращает TRUE , если ни один из целевых значений не является подстрока фактического приложения сборки.
app.build .exactlyMatches([...]) Возвращает TRUE , если фактическое приложение сборка точно совпадает с любой из целевых значений в списке.
app.build .matches([...]) Возвращает TRUE , если цель регулярное выражение в списке соответствует подстроку, или все, фактическое значение. Чтобы принудительно сопоставить всю строку, перед регулярным выражением ставьте «^» и добавляйте к нему суффикс «$». Использует RE2 синтаксис.
app.version < , <= , == , != , >= , > Возвращает TRUE , если текущая версия приложения численно сравнивается со значением , заданным способом , который соответствует оператору.
app.version .contains([...]) Возвращает TRUE , если какой - либо из целевых значений является подстрока фактической версии приложения, например, «а» и «до н.э.» являются подстроки «Азбуки».
app.version .notContains([...]) Возвращает TRUE , если ни один из целевых значений не является подстрока актуальной версии приложения.
app.version .exactlyMatches([...]) Возвращает TRUE , если текущая версия приложения точно совпадает с любой из целевых значений в списке.
app.version .matches([...]) Возвращает TRUE , если цель регулярное выражение в списке соответствует подстроку, или все, фактическое значение. Чтобы принудительно сопоставить всю строку, перед регулярным выражением ставьте «^» и добавляйте к нему суффикс «$». Использует RE2 синтаксис.
app.operatingSystemAndVersion .inOne([...]) Возвращает TRUE , если ОС и версия совпадает с любым из целевых значений в списке.
Например:

    app.operatingSystemAndVersion.inOne([operatingSystemName('Macintosh').version.==('10.15')])
    

app.browserAndVersion .inOne([...]) Возвращает TRUE , если браузер и версия совпадает с любым из целевых значений в списке.
Например:

    app.browserAndVersion.inOne([browserName('Chrome').anyVersion])
    

app.firebaseInstallationId in [...] Возвращает TRUE , если идентификатор установки соответствует любому указанному в списке. Пример использования: app.firebaseInstallationId in ['eyJhbGciOiJFUzI1N_iIs5', 'eapzYQai_g8flVQyfKoGs7']
device.country in [...] Возвращает TRUE , если страна соответствует параметрам устройства по любому указанному в списке. Пример использования: device.country in ['gb', 'us'] . Код страны устройства определяется с использованием IP-адреса устройства в запросе или кода страны, определенного Firebase Analytics (если данные Analytics передаются Firebase).
device.dateTime <= , > Сравнивает текущее время заданного времени состояния и имеет значение TRUE или FALSE на основе оператора. Пример использования: dateTime < dateTime('2017-03-22T13:39:44') .
device.language in [...] Возвращает TRUE , если любой из языков приложения в соответствие языка в списке. Пример использования: device.language in ['en-UK', 'en-US'] .
device.os == , != Возвращает TRUE , если операционная система устройства сравнивает значение в этой области , соответствующей оператор.
percent <= , > Возвращает TRUE , если значение в percent поля сравнивается со значением , которое было рандомизировано соответствием оператора.