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


Вы можете настроить шаблоны как для клиентских, так и для серверных сценариев использования. Клиентские шаблоны предоставляются любым экземплярам приложений, реализующим клиентские 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 Admin Python SDK v6.7.0+
  • Firebase Admin Go SDK v4.17.0+
  • Firebase Admin Java SDK v9.7.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% до 10%. Чтобы некоторые пользователи случайным образом попадали в обе группы, используйте разные начальные значения для правил в каждом условии.

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

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

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

  • Firebase Admin Node.js SDK v12.1.0+
  • Firebase Admin Python SDK v6.7.0+
  • Firebase Admin Go SDK v4.17.0+
  • Firebase Admin Java SDK v9.7.0+

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Изменить историю изменений для заданных условий

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

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

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