Google is committed to advancing racial equity for Black communities. See how.
This page was translated by the Cloud Translation API.
Switch to English

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

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

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

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

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

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

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

app.build

Принимает значение TRUE или FALSE зависимости от значения номера сборки приложения.

Примечание. Доступно только на устройствах iOS. Используйте значение CFBundleVersion .

app.version

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

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

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

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

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

app.browserAndVersion

Элемент, основанный на браузере, в котором запущено приложение. Возвращает значение 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 Элемент, основанный на операционной системе, используемой на устройстве (iOS или 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 если какое-либо из целевых значений является подстрокой фактической сборки приложения, например, «a» и «bc» являются подстроками «abc».
app.build .notContains([...]) Возвращает TRUE если ни одно из целевых значений не является подстрокой фактической сборки приложения.
app.build .exactlyMatches([...]) Возвращает TRUE если фактическая сборка приложения точно соответствует любому из целевых значений в списке.
app.build .matches([...]) Возвращает TRUE если какое-либо целевое регулярное выражение в списке соответствует подстроке фактического значения или целому. Чтобы принудительно сопоставить всю строку, перед регулярным выражением ставьте «^» и добавляйте к нему суффикс «$». Использует синтаксис RE2 .
app.version < , <= , == != , >= , > Возвращает TRUE если фактическая версия приложения численно сравнивается со значением, указанным способом, соответствующим оператору.
app.version .contains([...]) Возвращает TRUE если любое из целевых значений является подстрокой фактической версии приложения, например, «a» и «bc» являются подстроками «abc».
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])
    

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 сравнивается со значением, которое было случайно присвоено в соответствии с оператором.

Параметры с пустыми строками и без значения

Когда вы создаете или редактируете значения параметров в веб-консоли Remote Config, у вас есть возможность установить для параметра значение строковое значение (пустая строка) или значение Нет (что приводит к использованию вместо этого значения по умолчанию в приложении. значения в шаблоне Remote Config).

Когда вы используете Remote Config API для получения шаблона Remote Config для вашего проекта в формате JSON, значение No не отображается, как показано ниже:

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

Точно так же (пустая строка) представлена, как показано ниже:

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