Параметры и условия Remote Config

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 символов, должны начинаться с символа подчеркивания или буквы латинского алфавита (A–Z, a–z) и могут включать цифры.
  • Значения параметров. Значения, назначенные параметрам. Значения хранятся в виде строк, но в консоли можно выбрать типы данных, чтобы проверить значения на соответствие таким форматам, как 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 символов для всех значений параметров в проекте.

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

Дальнейшие действия