Перейти к содержанию

Remote Config: Гибкое управление приложением без релизов

Remote Config — инструмент для централизованного управления поведением и внешним видом приложения в режиме реального времени. Любые изменения применяются мгновенно для миллионов пользователей мобильных, веб- и серверных клиентов, без необходимости выпуска новых версий или перезапуска приложения.


Ключевые возможности Remote Config

  • Мгновенное включение и отключение функций: Управляйте фича-флагами за секунды, тестируйте новые возможности или быстро отключайте проблемные компоненты.
  • Управление по окружениям: Настраивайте разные значения параметров для каждого окружения, включайте и отключайте функции независимо.
  • Динамическое изменение интерфейса: Меняйте тексты, баннеры, цвета, элементы меню и другие составляющие UI/UX "на лету", адаптируясь к потребностям пользователей или маркетинговым кампаниям.
  • Гибкая настройка параметров: Корректируйте лимиты, тарифы, игровые коэффициенты, URL-адреса внешних сервисов и другие важные значения без релиза новой версии приложения и обновлений в сторах.
  • Оперативное реагирование на инциденты: Ограничивайте доступ, временно отключайте модули и минимизируйте последствия сбоев.

Принцип работы

  1. Централизованное хранилище:
    • Параметры конфигураций хранятся на защищённых серверах Remote Config
    • Управление осуществляется через единый веб-интерфейс
    • Для каждого параметра можно задать разные значения по окружениям
  2. Запрос конфигураций клиентом:
    • Клиентские приложения или бэкенд-сервисы запрашивают актуальные конфигурации через API (см. Remote Config API)
    • Окружение определяется автоматически по токену — клиент ничего не передаёт явно
  3. Мгновенное применение: Полученные значения немедленно применяются в приложении.
%%{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

Быстрый старт

Начать использовать Remote Config можно за четыре шага:

  1. Определите объекты управления: Решите, какие аспекты вашего приложения вы хотите контролировать удаленно (например, доступность новой функции, текст приветственного сообщения, лимит на загрузку файлов).
  2. Создайте параметры в интерфейсе: Задайте ключ, тип данных, значение и описание (см. Создание параметра). При создании значение применяется ко всем окружениям.
  3. Настройте окружения: При необходимости измените значения и статус параметра отдельно для каждого окружения (см. Управление параметрами).
  4. Интегрируйте API: Реализуйте в коде приложения запрос и применение актуальных конфигураций.

Дополнительные возможности

В будущих версиях платформы появится SDK для популярных языков программирования.


Пример: Запуск новой акции

Представьте, что вы хотите запустить новую акцию в интернет-магазине в определенную дату и время.

  1. Создайте параметр: new_year_promo_enabled (тип Boolean) со значением false.
  2. Интегрируйте в код: Добавьте в приложение логику, которая проверяет значение этого флага и на стороне клиента решает, показывать акцию или нет.
  3. Разверните приложение: Выпустите новую версию приложения. Акция остается невидимой для всех, так как флаг выключен.
  4. Протестируйте в тестовом окружении: Измените значение флага на true в тестовом окружении и убедитесь, что всё работает корректно.
  5. Активируйте в проде: Когда будете готовы, измените значение флага на true в продовом окружении и опубликуйте изменения. Акция мгновенно станет доступна всем пользователям без необходимости нового релиза.

Безопасность и контроль доступа

Мы уделяем особое внимание безопасности ваших конфигураций:

  • Авторизация: Все операции по изменению параметров в веб-интерфейсе доступны только авторизованным пользователям.
  • Ролевая модель: Гибкая система ролей позволяет гранулированно настраивать права доступа к управлению конфигурациями, гарантируя, что только ответственные сотрудники смогут вносить критические изменения.

Дальнейшие шаги