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


Вы можете настроить шаблоны для случаев использования как клиента, так и сервера. Клиентские шаблоны обслуживаются любыми экземплярами приложений, которые реализуют клиентские 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 backend вы определяете один или несколько параметров (пар ключ-значение) и предоставляете значения по умолчанию в приложении для этих параметров. Вы можете переопределить значения по умолчанию в приложении, определив значения параметров. Ключи и значения параметров являются строками, но значения параметров могут быть преобразованы в другие типы данных, когда вы используете эти значения в своем приложении.

Используя консоль 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 . Если параметр не существует в шаблоне или если значение по умолчанию установлено на 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 . Чтобы создать или изменить группу:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сравнения строк для этого правила чувствительны к регистру. При использовании оператора exact matches , contains , does not contain или contains regex можно выбрать несколько значений.

При использовании оператора 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 в серверных средах .

,


Вы можете настроить шаблоны для случаев использования как клиента, так и сервера. Клиентские шаблоны обслуживаются любыми экземплярами приложений, которые реализуют клиентские 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 backend вы определяете один или несколько параметров (пар ключ-значение) и предоставляете значения по умолчанию в приложении для этих параметров. Вы можете переопределить значения по умолчанию в приложении, определив значения параметров. Ключи и значения параметров являются строками, но значения параметров могут быть преобразованы в другие типы данных, когда вы используете эти значения в своем приложении.

Используя консоль 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 . Если параметр не существует в шаблоне или если значение по умолчанию установлено на Use in-app default , то при оценке шаблона для этого параметра не предоставляется значение.

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

Значение параметра Типы данных

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

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

  • String
  • Boolean
  • Number
  • JSON

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

С помощью узла администратора Firebase Admin.js SDK 12.5.0 и выше вы можете использовать условные значения пользовательского сигнала в соответствии с произвольными условиями, которые вы определяете в вашем приложении. Это позволяет адаптировать ответ сервера для каждого запроса клиента.

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

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

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

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

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

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

При использовании оператора 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 Project и Server для использования Remote Config , см. Использование Remote Config в средах сервера .