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

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

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

Remote Config организует параметры и условия в шаблоны . В зависимости от вашей архитектуры вы можете использовать клиентские шаблоны, серверные шаблоны или оба варианта:

  • Параметры и условия в клиентских шаблонах : предоставление конфигураций экземплярам клиентских приложений на платформах Apple, Android, Web, Flutter, Unity и C++. Выбор экземпляров приложения на основе аудиторий Google Analytics , версий приложения, платформы, языка устройства, страны, процентилей пользователей и пользовательских сигналов на стороне клиента.

  • Параметры и условия в шаблонах сервера : Передача конфигураций в бэкэнд-среды, такие как Cloud Run , Cloud Functions for Firebase или контейнеризированные серверы, с использованием Firebase Admin SDK для Node.js, Python, Go и Java. Оценка параметров на стороне сервера с минимальной задержкой с помощью пользовательских сигналов сервера и случайных процентных распределений.

Сравните шаблоны клиента и сервера.

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

Особенность Шаблоны клиентов Шаблоны серверов
Целевые среды Клиентские приложения (Apple, Android, Web, Flutter, Unity, C++) Серверные среды ( Cloud Run , Cloud Functions for Firebase , GKE , бэкэнд-сервисы)
Поддерживаемые SDK SDK клиента Firebase Firebase Admin SDK (Node.js, Python, Go, Java)
Модель оценки Загрузка и кэширование на клиентских устройствах; активация осуществляется кодом приложения. Загружается в память сервера; обрабатывается по запросу с практически нулевой задержкой.
Правила условий Версия приложения, ОС/платформа, язык устройства, страна/регион, аудитории Analytics и свойства пользователя, пользователь в случайном процентиле, первое открытие приложения, пользовательские сигналы клиента. Пользователь в случайном процентном соотношении, пользовательские сигналы сервера
Типичные сценарии использования Внедрение новых функций, сезонные акции, темы оформления пользовательского интерфейса, A/B Testing , персонализация. Выбор модели и подсказки ИИ, флаги функций на стороне сервера, ограничение скорости запросов на бэкэнде, динамическая маршрутизация.
Подробное руководство Параметры в клиентских шаблонах Параметры в шаблонах сервера

Основные концепции

Независимо от того, работаете ли вы с клиентскими или серверными шаблонами, Remote Config объединяет основные концепции:

Параметры

Параметры представляют собой пары ключ-значение, которые вы определяете в консоли Firebase или с помощью API бэкэнда Remote Config .

  • Ключи параметров : строковые идентификаторы для ваших параметров. Ключи могут содержать до 256 символов, должны начинаться с символа подчеркивания или английской буквы (AZ, az) и могут включать цифры.
  • Значения параметров : значения, присвоенные вашим параметрам. Значения хранятся в виде строк, но вы можете выбрать типы данных в консоли для проверки значений на соответствие таким форматам, как String , Boolean , Number или JSON .
  • Значения по умолчанию : базовое значение, присваиваемое, когда никакие правила условий не применяются. Вы можете определить значения по умолчанию внутри приложения в своем коде, а также значения по умолчанию шаблона в бэкэнде Remote Config .

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

Условия позволяют нацеливать запросы к конкретным сегментам пользователей приложения или серверу с помощью настраиваемых значений параметров:

  • Правила : Индивидуальные критерии оцениваются на основе метаданных клиента или контекста запроса (например, номера версии, страны или пользовательского сигнала).
  • Условия : Именованные наборы из одного или нескольких правил. Для того чтобы условие считалось true все правила в рамках условия должны иметь true .
  • Условные значения : Альтернативные значения, присваиваемые параметру, когда условие оценивается как true . Если несколько условий оцениваются как true , приоритет отдается условию с наивысшим приоритетом в консоли Firebase .

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

Для организации конфигураций, содержащих десятки или сотни параметров, можно использовать группы параметров . Группы обеспечивают визуальную организацию в консоли Firebase и логическую группировку в REST API.

  • Параметр может принадлежать только к одной группе одновременно.
  • Ключи параметров остаются уникальными для всего проекта независимо от группировки.
  • Группировка не меняет способ обращения к значениям параметров в коде вашего SDK.

Инструкции по созданию и управлению группами см. в подробных руководствах по параметрам клиента или сервера .

Версионирование шаблонов и откаты

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

Чтобы узнать больше об управлении версиями шаблонов, см. раздел «Управление версиями шаблонов Remote Config .

Квоты и лимиты

В рамках проекта Firebase Remote Config устанавливает следующие ограничения:

  • Параметры : до 3000 параметров на проект.
  • Условия : до 2000 условий на проект.
  • Длина ключа параметра : до 256 символов.
  • Общая длина строкового значения : до 1 000 000 символов для всех значений параметров в рамках проекта.

Полный список ограничений см. в разделе «Квоты и ограничения» .

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