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