RemoteConfig

RemoteConfig представляет шаблон Remote Config.

Шаблон Remote Config проекта оценивается во время выборки каждого экземпляра приложения.

Разрешенное значение параметра определяется следующим образом:

Учитывая conditional values , которые относятся к true conditions для экземпляра приложения, разрешенным значением параметра является условное значение, name которого является самым ранним в conditions list .

В противном случае, если параметр имеет default value , разрешенному значению присваивается значение по умолчанию.

В противном случае параметр не имеет значения и не учитывается в результатах, получаемых экземпляром приложения.

Например, предположим, что у нас есть ключ параметра fruit со значением по умолчанию pear и подкартой условного значения {"is_ios": "apple", "is_in_20_percent": "banana"} где "is_ios" и "is_20_percent" — имена условий в упорядоченном виде. список условий. Значение fruit будет оцениваться как apple , если is_ios истинно. В противном случае, если is_in_20_percent имеет значение true , fruit будет оцениваться как banana , а если is_ios и is_in_20_percent оба являются ложными, fruit будет оцениваться как pear . Если значение по умолчанию не было указано, а is_ios и is_in_20_percent были ложными, значение fruit не будет возвращено с сервера Remote Config клиенту.

После публикации шаблона Remote Config проекта посредством успешного вызова projects.updateRemoteConfig клиенты могут получить значения этих параметров и отобразить их пользователям.

JSON-представление
{
  "conditions": [
    {
      object (RemoteConfigCondition)
    }
  ],
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  },
  "version": {
    object (Version)
  },
  "parameterGroups": {
    string: {
      object (RemoteConfigParameterGroup)
    },
    ...
  }
}
Поля
conditions[]

object ( RemoteConfigCondition )

Список условий в порядке убывания приоритета.

Значения записей google.firebase.remoteconfig.v1.RemoteConfigCondition.name должны быть уникальными.

parameters

map (key: string, value: object ( RemoteConfigParameter ))

Сопоставление ключей параметров с их необязательными значениями по умолчанию и необязательными условными значениями.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

version

object ( Version )

Только вывод, кроме description версии. Метаданные, связанные с определенной версией шаблона. Поле описания версии можно указать в вызовах projects.updateRemoteConfig .

parameterGroups

map (key: string, value: object ( RemoteConfigParameterGroup ))

Сопоставление названий групп параметров с их описаниями и сгруппированными параметрами. Имя группы является изменяемым, но должно быть уникальным среди групп в конфигурации. Имя ограничено 256 символами и предназначено для чтения человеком. Допускаются любые символы Юникода.

Группы имеют список параметров, который позволяет пользователям API группировать параметры, связанные с одной и той же функцией или темой, для упрощения организационного доступа.

Например, группа параметров с названием «Поиск V2» может иметь description «Новое представление мобильного поиска» и содержать параметры макета и шрифта нового поиска.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

Удаленноеконфигусловие

Условие, ориентированное на определенную группу пользователей. Список этих условий составляет часть объекта RemoteConfig.

JSON-представление
{
  "name": string,
  "expression": string,
  "tagColor": enum (ConditionDisplayColor)
}
Поля
name

string

Необходимый. Непустое и уникальное имя этого условия.

expression

string

Необходимый. Логика этого состояния.

Ожидаемый синтаксис этого поля см. в документации по выражениям условий .

tagColor

enum ( ConditionDisplayColor )

Необязательный. Цвет, связанный с этим условием, для отображения в консоли Firebase. Если не указать это значение или указать «CONDITION_DISPLAY_COLOR_UNSPECIFIED», консоль выберет произвольный цвет для связи с условием.

СостояниеДисплейЦвет

Список цветов, связанных с условиями, для целей отображения.

Перечисления
CONDITION_DISPLAY_COLOR_UNSPECIFIED
BLUE Синий
BROWN Коричневый
CYAN Голубой
DEEP_ORANGE он же «Красный апельсин»
GREEN Зеленый
INDIGO Индиго
LIME Лайм
ORANGE Апельсин
PINK Розовый
PURPLE Фиолетовый
TEAL Бирюзовый

RemoteConfigParameter

Значение параметра, связанное с ключом параметра в google.firebase.remoteconfig.v1.RemoteConfig.parameters .

Чтобы параметр имел какой-либо эффект, как минимум, должна присутствовать запись defaultValue или conditionalValues .

JSON-представление
{
  "defaultValue": {
    object (RemoteConfigParameterValue)
  },
  "conditionalValues": {
    string: {
      object (RemoteConfigParameterValue)
    },
    ...
  },
  "description": string,
  "valueType": enum (ParameterValueType)
}
Поля
defaultValue

object ( RemoteConfigParameterValue )

Необязательно — значение, которое нужно установить для параметра, если ни одно из названных условий не имеет значения true .

conditionalValues

map (key: string, value: object ( RemoteConfigParameterValue ))

Необязательно — карта ( condition name , значение). Имя_условия с наивысшим приоритетом (тот, который указан первым в списке условий RemoteConfig) определяет значение этого параметра.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

description

string

Необязательный. Описание этого параметра. Его длина должна быть меньше или равна 256 символам. Описание может содержать любые символы Юникода.

valueType

enum ( ParameterValueType )

Тип данных для всех значений этого параметра в текущей версии шаблона. По умолчанию — ParameterValueType.STRING , если не указано.

RemoteConfigParameterValue

Ресурс RemoteConfigParameterValue содержит значение, которое может иметь параметр.

JSON-представление
{

  // Union field value_option can be only one of the following:
  "value": string,
  "useInAppDefault": boolean,
  "personalizationValue": {
    object (PersonalizationValue)
  }
  // End of list of possible types for union field value_option.
}
Поля
Поле объединения value_option . RemoteConfigParameterValue состоит либо из строки (значения), либо из логического значения (use_in_app_default, для которого установлено значение true, если применимо). value_option может быть только одним из следующих:
value

string

Строковое значение, которому присвоен параметр.

useInAppDefault

boolean

Если это правда, параметр исключается из значений параметра, возвращаемых клиенту.

personalizationValue

object ( PersonalizationValue )

Динамическое, зависящее от пользователя значение, вычисляемое при получении конфигурации.

ПерсонализацияЗначение

Содержит необходимую информацию для получения персонализированного значения.

JSON-представление
{
  "personalizationId": string
}
Поля
personalizationId

string

Идентификатор, представляющий определение персонализации. Это определение используется для разрешения значения во время выборки конфигурации. Это сгенерированное системой значение не следует изменять.

ПараметрЗначениеТип

Допустимые типы данных для значений параметров.

Перечисления
PARAMETER_VALUE_TYPE_UNSPECIFIED Универсальный прием для нераспознанных значений перечисления.
STRING Представляет строковые значения.
BOOLEAN Представляет логические значения («истина» или «ложь»).
NUMBER Представляет как положительные, так и отрицательные целые числа и значения с плавающей запятой.
JSON Представляет значения JSON.

Группа параметров удаленной конфигурации

Именованная группа параметров. Группировка параметров предназначена только для целей управления и не влияет на получение значений параметров на стороне клиента.

JSON-представление
{
  "description": string,
  "parameters": {
    string: {
      object (RemoteConfigParameter)
    },
    ...
  }
}
Поля
description

string

Необязательный. Описание группы. Его длина должна быть меньше или равна 256 символам. Описание может содержать любые символы Юникода.

parameters

map (key: string, value: object ( RemoteConfigParameter ))

Сопоставление ключей параметров с их необязательными значениями по умолчанию и необязательными условными значениями для параметров, принадлежащих к этой группе. Параметр появляется только один раз для каждого RemoteConfig: несгруппированный параметр появляется на верхнем уровне; параметр, организованный в группу, отображается на карте параметров своей группы.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .