Параметры и условия удаленной настройки


Вы можете настроить шаблоны для вариантов использования как клиента, так и сервера. Шаблоны клиентов передаются любым экземплярам приложений, которые реализуют клиентские SDK Firebase для Remote Config , включая приложения Android, Apple, Web, Unity, Flutter и C++. Параметры и значения Remote Config из шаблонов, специфичных для сервера, передаются реализациям Remote Config (включая Cloud Run и Cloud Functions), которые используют Firebase Admin Node.js SDK v12.1.0+.

При использовании консоли Firebase или серверных API Remote Config вы определяете один или несколько параметров (пары «ключ-значение») и предоставляете для этих параметров значения по умолчанию в приложении. Вы можете переопределить значения по умолчанию в приложении, определив значения параметров. Ключи параметров и значения параметров представляют собой строки, но значения параметров можно преобразовать в другие типы данных, когда вы используете эти значения в своем приложении.

Используя консоль Firebase , Admin SDK или REST API Remote Config , вы можете создавать новые значения по умолчанию для своих параметров, а также условные значения, которые используются для целевых групп экземпляров приложения. Каждый раз, когда вы обновляете свою конфигурацию в консоли Firebase , Firebase создает и публикует новую версию вашего шаблона Remote Config . Предыдущая версия сохраняется, что позволяет вам восстановить или откатить ее по мере необходимости. Эти операции доступны вам в консоли Firebase , Firebase Admin SDK и REST API и более подробно описаны в разделе «Управление версиями шаблонов Remote Config .

В этом руководстве объясняются параметры, условия, правила, условные значения, а также порядок определения приоритетов различных значений параметров в серверной части Remote Config и в вашем приложении. Он также предоставляет подробную информацию о типах правил, используемых для создания условий.

Условия, правила и условные значения

Условие используется для выбора группы экземпляров приложения. Условия состоят из одного или нескольких правил, каждое из которых должно иметь значение true , чтобы условие было признано true для данного экземпляра приложения. Если значение правила не определено (например, когда значение недоступно), это правило будет иметь значение false .

Например, вы можете создать параметр, который определяет имя модели и строку версии модели большого языка (LLM), а также обслуживать ответы из разных моделей на основе специальных правил сигналов . В этом случае вы можете использовать стабильную версию модели в качестве значения по умолчанию для обслуживания большинства запросов и использовать пользовательский сигнал для использования экспериментальной модели для ответа на запросы тестовых клиентов.

Параметр может иметь несколько условных значений, использующих разные условия, а параметры могут использовать общие условия в проекте. На вкладке «Параметры» консоли Firebase вы можете просмотреть процент выборки для условных значений каждого параметра. Эта метрика показывает процент запросов за последние 24 часа, получивших каждое значение.

Приоритет значения параметра

Когда вы используете Remote Config в серверных приложениях с помощью Firebase Admin SDK , вы извлекаете и загружаете весь шаблон, чтобы по требованию извлекать соответствующие значения параметров для каждого клиентского запроса. С параметром может быть связано несколько условных значений.

Следующие правила определяют, какое значение присваивается во время оценки шаблона в определенный момент времени:

  1. Во-первых, условные значения применяются для любых условий, которые оцениваются как true для данного клиентского запроса. Если несколько условий оцениваются как true , первое (верхнее), отображаемое в пользовательском интерфейсе консоли Firebase имеет приоритет, и условные значения, связанные с этим условием, предоставляются при оценке шаблона. Вы можете изменить приоритет условий, перетаскивая условия на вкладке «Условия» .

  2. Если условные значения с условиями, которые оцениваются как true , отсутствуют, во время оценки шаблона предоставляется значение по умолчанию Remote Config . Если параметр не существует в шаблоне или если для значения по умолчанию установлено значение «Использовать по умолчанию в приложении» , то при оценке шаблона для этого параметра не указывается значение.

Дополнительные сведения о загрузке и оценке шаблонов Remote Config в серверных приложениях см. в разделе Использование Remote Config в серверных средах .

Типы данных значений параметров

Remote Config позволяет выбрать тип данных для каждого параметра и проверяет все значения Remote Config на соответствие этому типу перед обновлением шаблона. Тип данных сохраняется и возвращается по запросу getRemoteConfig .

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

  • String
  • Boolean
  • Number
  • JSON

В пользовательском интерфейсе консоли Firebase тип данных можно выбрать из раскрывающегося списка рядом с ключом параметра. В REST API типы можно задать с помощью поля value_type в объекте параметра.

Группы параметров

Remote Config позволяет группировать параметры для более организованного пользовательского интерфейса и повышения удобства использования.

Например, предположим, что вам нужно включить или отключить три разных типа аутентификации при развертывании новой функции входа в систему. С помощью Remote Config вы можете создать три параметра, чтобы включить нужные вам типы, а затем организовать их в группу под названием «Новый вход» без необходимости добавлять префиксы или специальную сортировку.

Вы можете создавать группы параметров с помощью консоли Firebase или REST API Remote Config . Каждая создаваемая группа параметров имеет уникальное имя в шаблоне Remote Config . При создании групп параметров имейте в виду:

  • Параметры могут быть включены только в одну группу в любой момент времени, а ключ параметра должен быть уникальным для всех параметров.
  • Имена групп параметров ограничены 256 символами.
  • Если вы используете и REST API, и консоль Firebase , убедитесь, что вся логика REST API обновлена ​​для обработки групп параметров при публикации.

Создайте или измените группы параметров с помощью консоли Firebase

Вы можете сгруппировать параметры на вкладке «Параметры» консоли Firebase . Чтобы создать или изменить группу:

  1. Выберите «Управление группами» .
  2. Установите флажки для параметров, которые вы хотите добавить, и выберите «Переместить в группу» .
  3. Выберите существующую группу или создайте новую группу, введя имя и описание и выбрав Создать новую группу . После сохранения группы ее можно будет опубликовать с помощью кнопки «Опубликовать изменения» .

Типы правил условий

Шаблоны Remote Config для серверных приложений поддерживают следующие типы условий:

Пользователь в случайном проценте

Используйте это поле, чтобы применить изменение к случайной выборке экземпляров приложения (с размером выборки всего 0,0001%), используя виджет ползунка для разделения случайно перетасованных пользователей (экземпляров приложения) на группы.

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

Правило будет использовать ключ по умолчанию (отображается как «Изменить начальное значение» в консоли Firebase ), если вы не измените начальное значение. Вы можете вернуть правилу использование ключа по умолчанию, очистив поле «Исходное значение» .

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

Например, чтобы создать два связанных условия, каждое из которых применяется к непересекающимся 5% пользователей приложения, вы можете настроить одно условие для соответствия проценту от 0% до 5%, а другое условие — для соответствия диапазону от 5% до 5%. 10%. Чтобы позволить некоторым пользователям случайным образом появляться в обеих группах, используйте разные начальные значения для правил в каждом условии.

Чтобы узнать, как добавить случайные процентные условия в ваше приложение, см. раздел Настройка серверного приложения .

Пользовательские сигналы

С Firebase Admin Node.js SDK 12.5.0 и выше вы можете использовать тип условия «Пользовательский сигнал» для соответствия произвольным условиям, которые вы определяете в своем приложении. Это позволяет адаптировать ответ сервера для каждого запроса клиента.

Например, если вы работаете над серверным приложением, которое использует генеративный искусственный интеллект для создания ответов с помощью различных моделей, настроенных для конкретных платформ, вы можете сделать следующее:

  1. Добавьте параметры prompt и model_name в шаблон сервера Remote Config .
  2. Добавьте специальные сигналы со значением platform для каждой платформы, на которую вы хотите ориентироваться.
  3. Добавьте значения по умолчанию в шаблон Remote Config для конкретного сервера и условные значения для каждого определенного вами условия платформы.
  4. Обновите код приложения, чтобы установить и использовать специальный сигнал platform .

Теперь ваше приложение может извлекать соответствующее приглашение и модель во время оценки шаблона и использовать их для возврата индивидуальных ответов каждому клиенту.

Вы можете использовать следующие типы правил для создания пользовательских сигналов в консоли Firebase .

Категория оператора Оператор(ы) Ценить Примечание
Текст точно соответствует, содержит, не содержит, содержит регулярное выражение

При сравнении строк для этого правила учитывается регистр. При использовании оператора регулярного выражения «точно соответствует» , «содержит» , «не содержит » или «содержит» вы можете выбрать несколько значений.

Используя оператор contains regex , вы можете создавать регулярные выражения в формате RE2 . Ваше регулярное выражение может соответствовать всей строке целевой версии или ее части. Вы также можете использовать привязки ^ и $ для соответствия началу, концу или всей целевой строке.

Числа <, <=, =, !=, >, >= Число, содержащее не более десяти цифр с каждой стороны десятичной точки.
Версии <, <=, =, !=, >, >= Число, обозначающее соответствующие номера версий (например, 2.1.0).

Чтобы узнать, как добавить пользовательские сигналы в ваше приложение, см. раздел Настройка серверного приложения .

Параметры и условия поиска

Вы можете искать ключи параметров, значения параметров и условия вашего проекта из консоли Firebase , используя поле поиска в верхней части вкладки « Параметры Remote Config .

Ограничения на параметры и условия

В проекте Firebase вы можете иметь до 2000 параметров и до 500 условий. Ключи параметров могут иметь длину до 256 символов, должны начинаться с символа подчеркивания или английской буквы (AZ, az), а также могут включать цифры. Общая длина строк значений параметров в проекте не может превышать 1 000 000 символов.

Просмотр изменений параметров и условий

Вы можете просмотреть последние изменения в шаблонах Remote Config из консоли Firebase . По каждому отдельному параметру и состоянию вы можете:

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

  • Если изменение произошло в тот же день, просмотрите количество минут или часов, прошедших с момента публикации изменения в активном шаблоне Remote Config .

  • Если изменение произошло один или несколько дней назад, просмотрите дату публикации изменения в активном шаблоне Remote Config .

История изменений параметров

На странице «Параметры Remote Config в столбце «Последняя публикация» отображается последний пользователь, который изменил каждый параметр, а также дата последней публикации изменения:

  • Чтобы просмотреть метаданные изменений для сгруппированных параметров, разверните группу параметров.

  • Чтобы отсортировать данные по возрастанию или убыванию по дате публикации, щелкните метку столбца «Последняя публикация» .

История изменений условий

На странице « Условия Remote Config вы можете увидеть последнего пользователя, который изменил условие, и дату, когда он его изменил, рядом с полем «Последнее изменение» для каждого условия.

Следующие шаги

Чтобы настроить проект Firebase и серверное приложение для использования Remote Config , см. раздел Использование Remote Config в серверных средах .