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)
  },
  "rolloutValue": {
    object (RolloutValue)
  }
  // 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 )

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

rolloutValue

object ( RolloutValue )

Динамическое значение развертывания, управляемое службой Firebase ABT Experiment.

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

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

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

string

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

RolloutValue

Информация, связанная с внедрением.

JSON-представление
{
  "rolloutId": string,
  "value": string,
  "percent": number
}
Поля
rolloutId

string

Идентификатор, связывающий значение параметра с экспериментом внедрения.

value

string

Указанное пользователем значение, которое необходимо развернуть.

percent

number

Процент пользователей, которые получат значение внедрения.

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

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

Перечисления
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" } .