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 символов для всех значений параметров в рамках проекта.
Полный список ограничений см. в разделе «Квоты и ограничения» .
Следующие шаги
- Клиентские приложения : Узнайте, как настраивать параметры, правила таргетинга и приоритет в разделе «Параметры и условия» в клиентских шаблонах .
- Серверные приложения : Узнайте, как настраивать параметры сервера, пользовательские сигналы и оценку сервера в разделе «Параметры и условия» в шаблонах сервера .
- Начните работу с клиентскими SDK : настройте клиентское приложение, следуя руководству «Начало работы с Firebase Remote Config .
- Начните работу с серверными SDK : настройте свою серверную среду, используя руководство «Использование Remote Config в серверных средах» .
- Автоматизация обновлений : Узнайте, как программно изменять шаблоны в разделе «Программное изменение Remote Config .