Вы можете настроить шаблоны как для клиентских, так и для серверных приложений. Клиентские шаблоны передаются любым экземплярам приложений, реализующим клиентские 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 или API бэкенда Remote Config вы определяете один или несколько параметров (пар «ключ-значение») и указываете для них значения по умолчанию в приложении. Вы можете переопределить значения по умолчанию в приложении, определив значения параметров. Ключи и значения параметров являются строками, но значения параметров могут быть преобразованы в другие типы данных при использовании этих значений в приложении.
Используя консоль Firebase , Admin SDK или REST API Remote Config REST API) , вы можете создавать новые значения по умолчанию для параметров, а также условные значения, используемые для целевых групп экземпляров приложения. Каждый раз при обновлении конфигурации в консоли 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 вы извлекаете и загружаете весь шаблон, чтобы по запросу извлекать соответствующие значения параметров для каждого клиентского запроса. С параметром может быть связано несколько условных значений.
Следующие правила определяют, какое значение присваивается при оценке шаблона в определенный момент времени:
Сначала к любым условиям, которые оцениваются как
true
для данного клиентского запроса, применяются условные значения . Если несколько условий оцениваются какtrue
, приоритет имеет первое (верхнее) условие, отображаемое в интерфейсе консоли Firebase , и условные значения, связанные с этим условием, предоставляются при оценке шаблона. Вы можете изменить приоритет условий, перетаскивая их на вкладке «Условия» .Если условных значений с условиями, дающими значение
true
, нет, при оценке шаблона предоставляется значение по умолчанию Remote Config . Если параметр отсутствует в шаблоне или для него установлено значение по умолчанию Use in-app default , то при оценке шаблона значение для этого параметра не предоставляется.
Дополнительные сведения о загрузке и оценке шаблонов 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 . Чтобы создать или изменить группу:
- Выберите Управление группами .
- Установите флажки для параметров, которые вы хотите добавить, и выберите Переместить в группу .
- Выберите существующую группу или создайте новую, введя имя и описание, а затем выбрав «Создать новую группу» . После сохранения группы её можно опубликовать с помощью кнопки «Опубликовать изменения» .
Типы правил условий
Шаблоны Remote Config для серверных приложений поддерживают следующие типы условий:
Пользователь в случайном процентном соотношении
Используйте это поле, чтобы применить изменение к случайной выборке экземпляров приложения (с размером выборки всего 0,0001%), используя виджет-ползунок для сегментации случайно перемешанных пользователей (экземпляров приложения) в группы.
Каждый экземпляр приложения постоянно сопоставляется со случайным целым или дробным числом в соответствии с начальным значением , определенным в данном проекте.
Правило будет использовать ключ по умолчанию (отображается как «Изменить начальное значение» в консоли Firebase ), если вы не измените начальное значение. Вы можете вернуть правило к использованию ключа по умолчанию, очистив поле «Начальное значение» .
Чтобы последовательно обрабатывать одни и те же экземпляры приложений в заданных процентных диапазонах, используйте одно и то же начальное значение для всех условий. Или выберите новую случайно назначенную группу экземпляров приложений для заданного процентного диапазона, указав новое начальное значение.
Например, чтобы создать два связанных условия, каждое из которых будет применяться к 5% пользователей приложения, не перекрывающимся друг с другом, можно настроить одно условие на соответствие процентному значению от 0% до 5%, а другое — на соответствие диапазону от 5% до 10%. Чтобы некоторые пользователи случайным образом попадали в обе группы, используйте разные начальные значения для правил в каждом условии.
Чтобы узнать, как добавлять случайные процентные условия в ваше приложение, см. раздел Настройка серверного приложения .
Пользовательские условия сигнала
В Firebase Admin Node.js SDK 12.5.0 и выше вы можете использовать пользовательские значения условных сигналов для соответствия произвольным условиям, заданным в вашем приложении. Это позволяет адаптировать ответ сервера к каждому клиентскому запросу.
Например, если вы работаете над серверным приложением, которое использует генеративный ИИ для создания ответов с различными моделями, настроенными для определенных платформ, вы можете сделать следующее:
- Добавьте параметры
prompt
иmodel_name
в шаблон сервера Remote Config . - Добавьте пользовательские условия сигнала со значением
platform
для каждой платформы, на которую вы хотите настроить таргетинг. - Добавьте значения по умолчанию в шаблон Remote Config сервера, а также условные значения для каждого определенного вами условия платформы.
- Обновите код приложения, чтобы установить и использовать пользовательский сигнал
platform
.
Теперь ваше приложение может извлекать соответствующую подсказку и модель во время оценки шаблона и использовать их для возврата индивидуальных ответов каждому клиенту.
Для создания пользовательских условий сигналов в консоли Firebase можно использовать следующие типы правил.
Категория оператора | Оператор(ы) | Ценить | Примечание |
---|---|---|---|
Текст | точно соответствует, содержит, не содержит, содержит регулярное выражение | Сравнение строк для этого правила чувствительно к регистру. При использовании операторов регулярного выражения exact matches , contains , does not contain или contains можно выбрать несколько значений. Используя оператор contains regex , вы можете создавать регулярные выражения в формате 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 вы можете увидеть последнего пользователя, изменившего условие, и дату его изменения рядом с полем «Последнее изменение» для каждого условия.