Remote Config: Гибкое управление приложением без релизов¶
Remote Config — инструмент для централизованного управления поведением и внешним видом приложения в режиме реального времени. Любые изменения применяются мгновенно для миллионов пользователей мобильных, веб- и серверных клиентов, без необходимости выпуска новых версий или перезапуска приложения.
Ключевые возможности Remote Config
- Мгновенное включение и отключение функций: Управляйте фича-флагами за секунды, тестируйте новые возможности или быстро отключайте проблемные компоненты.
- Управление по окружениям: Настраивайте разные значения параметров для каждого окружения, включайте и отключайте функции независимо.
- Динамическое изменение интерфейса: Меняйте тексты, баннеры, цвета, элементы меню и другие составляющие UI/UX "на лету", адаптируясь к потребностям пользователей или маркетинговым кампаниям.
- Гибкая настройка параметров: Корректируйте лимиты, тарифы, игровые коэффициенты, URL-адреса внешних сервисов и другие важные значения без релиза новой версии приложения и обновлений в сторах.
- Оперативное реагирование на инциденты: Ограничивайте доступ, временно отключайте модули и минимизируйте последствия сбоев.
Принцип работы¶
- Централизованное хранилище:
- Параметры конфигураций хранятся на защищённых серверах Remote Config
- Управление осуществляется через единый веб-интерфейс
- Для каждого параметра можно задать разные значения по окружениям
- Запрос конфигураций клиентом:
- Клиентские приложения или бэкенд-сервисы запрашивают актуальные конфигурации через API (см. Remote Config API)
- Окружение определяется автоматически по токену — клиент ничего не передаёт явно
- Мгновенное применение: Полученные значения немедленно применяются в приложении.
%%{init: { 'theme': 'base', 'themeVariables': {
'primaryColor': '#000000',
'fontFamily': 'Arial',
'primaryTextColor': '#ffffff',
'primaryBorderColor': '#7C0097',
'lineColor': '#ffffff',
'secondaryColor': 'transparent',
'tertiaryColor': 'transparent'
} } }%%
flowchart TB
subgraph platform["**Платформа**"]
A[Веб-консоль]
B(Ядро PWS)
C{Remote Config API}
end
subgraph clients["**Клиенты**"]
D[Мобильное приложение]
E[Веб-приложение]
F[Серверное приложение]
end
A -- "Сохраняет и публикует" --> B
B -- "Предоставляет данные" --> C
C --> D
C --> E
C --> F
classDef transparent fill:transparent,stroke:#7C0097
class management,platform,clients transparent
Быстрый старт¶
Начать использовать Remote Config можно за четыре шага:
- Определите объекты управления: Решите, какие аспекты вашего приложения вы хотите контролировать удаленно (например, доступность новой функции, текст приветственного сообщения, лимит на загрузку файлов).
- Создайте параметры в интерфейсе: Задайте ключ, тип данных, значение и описание (см. Создание параметра). При создании значение применяется ко всем окружениям.
- Настройте окружения: При необходимости измените значения и статус параметра отдельно для каждого окружения (см. Управление параметрами).
- Интегрируйте API: Реализуйте в коде приложения запрос и применение актуальных конфигураций.
Дополнительные возможности
В будущих версиях платформы появится SDK для популярных языков программирования.
Пример: Запуск новой акции¶
Представьте, что вы хотите запустить новую акцию в интернет-магазине в определенную дату и время.
- Создайте параметр:
new_year_promo_enabled(типBoolean) со значениемfalse. - Интегрируйте в код: Добавьте в приложение логику, которая проверяет значение этого флага и на стороне клиента решает, показывать акцию или нет.
- Разверните приложение: Выпустите новую версию приложения. Акция остается невидимой для всех, так как флаг выключен.
- Протестируйте в тестовом окружении: Измените значение флага на
trueв тестовом окружении и убедитесь, что всё работает корректно. - Активируйте в проде: Когда будете готовы, измените значение флага на
trueв продовом окружении и опубликуйте изменения. Акция мгновенно станет доступна всем пользователям без необходимости нового релиза.
Безопасность и контроль доступа¶
Мы уделяем особое внимание безопасности ваших конфигураций:
- Авторизация: Все операции по изменению параметров в веб-интерфейсе доступны только авторизованным пользователям.
- Ролевая модель: Гибкая система ролей позволяет гранулированно настраивать права доступа к управлению конфигурациями, гарантируя, что только ответственные сотрудники смогут вносить критические изменения.
Дальнейшие шаги¶
- Создание параметра: Узнайте, как добавить ваш первый параметр.
- Управление параметрами: Освойте работу с окружениями, редактирование, публикацию и другие операции с параметрами.
- Работа через API: Изучите возможности программного взаимодействия с Remote Config.