Шаблоны Remote Config представляют собой наборы параметров и условий в формате JSON, созданные для вашего проекта Firebase. Remote Config организует конфигурации в виде шаблонов , которые можно создавать, обновлять, версионировать и откатывать.
В зависимости от вашей архитектуры вы можете создавать и управлять клиентскими шаблонами, серверными шаблонами или обоими типами шаблонов:
Клиентские шаблоны : Предоставляют конфигурации для экземпляров клиентских приложений на платформах Apple, Android, Web, Flutter, Unity и C++. Клиентские шаблоны поддерживают условия, основанные на аудиториях Google Analytics , версиях приложений, платформе, языке устройства, стране, процентилях пользователей и пользовательских сигналах.
Шаблоны сервера : Предоставляют конфигурации для бэкэнд-сред, таких как Cloud Run , Cloud Functions for Firebase или контейнеризированные серверы, используя Firebase Admin SDK для Node.js, Python, Go и Java. Шаблоны сервера оценивают параметры на стороне сервера с минимальной задержкой, используя пользовательские сигналы сервера и случайное распределение в процентах.
Сравните шаблоны клиента и сервера.
Клиентские и серверные шаблоны поддерживаются независимо друг от друга в рамках вашего проекта Firebase. Используйте следующую таблицу, чтобы понять, чем отличаются клиентские и серверные шаблоны:
| Особенность | Шаблоны клиентов | Шаблоны серверов |
|---|---|---|
| Целевые среды | Клиентские приложения (Apple, Android, Web, Flutter, Unity, C++) | Серверные среды ( Cloud Run , Cloud Functions for Firebase , GKE , бэкэнд-сервисы) |
| Поддерживаемые SDK | SDK клиента Firebase | Firebase Admin SDK (Node.js, Python, Go, Java) |
| Инструменты управления | Консоль Firebase , Firebase CLI, REST API, Firebase Admin SDK | Консоль Firebase |
| Расположение консоли | Параметры и условия | Параметры и условия |
| Загрузка шаблонов по умолчанию | Поддерживаются (XML для Android, PLIST для iOS, JSON для веб-браузеров) | Неприменимо (значения по умолчанию определены в коде сервера или бэкэнде) |
| Подробное руководство | Управление шаблонами клиентов | Управление шаблонами серверов |
Жизненный цикл шаблонов и версионирование
Независимо от того, работаете ли вы с клиентскими или серверными шаблонами, Remote Config предоставляет встроенные средства контроля версий и управления жизненным циклом:
Создание и отслеживание версий
При каждом обновлении параметров или условий Remote Config создает новый версионированный шаблон Remote Config и сохраняет предыдущий шаблон в качестве версии, которую можно восстановить или откатить при необходимости. Номера версий увеличиваются последовательно, начиная с исходного значения, сохраненного в Remote Config .
Все шаблоны содержат поле version , включающее метаданные о конкретной версии, такие как:
-
versionNumber: Порядковый номер версии шаблона. -
updateTime: Отметка времени публикации шаблона. -
updateUser: Адрес электронной почты или идентификационные данные пользователя, внесшего обновление. -
updateOrigin: Способ внесения изменений (например,CONSOLE,REST_APIилиADMIN_SDK_NODE). -
updateType: Характер изменения (например,INCREMENTAL_UPDATEилиFORCED_UPDATE).
Ограничения на количество версий и срок хранения
Существует ограничение в 300 сохраненных версий для каждого типа шаблонов за все время их существования (300 клиентских шаблонов и 300 серверных шаблонов), включая номера сохраненных версий для удаленных шаблонов. Если вы опубликуете более 300 версий шаблонов для каждого типа шаблонов за все время существования проекта, самые ранние версии будут удалены, и будет поддерживаться максимальное количество версий этого типа — 300.
Откаты
Вы можете в любой момент откатиться к любой сохраненной версии шаблона. При откате Remote Config создаст новую версию, содержимое которой будет соответствовать выбранной исторической версии. Например, откат с версии 10 до версии 6 создаст версию 11 с конфигурацией из версии 6.
Импорт и экспорт
Вы можете загрузить свой активный шаблон в виде JSON-файла и опубликовать его в том же проекте или в другом проекте. Эта возможность позволяет вам:
- Сохраняйте определения шаблонов в системе контроля версий (например, Git).
- Интегрируйте развертывание конфигураций в конвейеры CI/CD.
- Обеспечивайте перенос конфигураций между этапами (например, от проекта разработки или тестирования к производственному проекту).
- Перенос конфигураций между проектами.
Параметры и значения параметров, созданные специально в качестве вариантов в эксперименте A/B Testing не включаются в экспортируемые шаблоны.
Настройки шаблона по умолчанию
Для клиентских приложений вы можете загрузить файлы, содержащие значения параметров по умолчанию в формате XML, PLIST или JSON, чтобы включить их в состав приложения. Инструкции см. в разделе «Загрузка значений параметров по умолчанию для шаблона Remote Config .
Следующие шаги
- Шаблоны клиентов : Узнайте, как управлять шаблонами клиентов, устанавливать их версии, загружать и публиковать их в разделе «Управление шаблонами клиентов и версионированием Remote Config .
- Шаблоны серверов : Узнайте, как управлять, версионировать и публиковать шаблоны серверов в разделе «Управление шаблонами серверов и версионированием Remote Config .
- Параметры и условия : Узнайте, как работают параметры и условия, в обзоре параметров и условий Remote Config .
- Автоматизация обновлений : Узнайте, как программно изменять шаблоны в разделе «Программное изменение Remote Config .