Шаблоны 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, CLI Firebase, 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.