Перейти к основному содержимому

Remote Config Flutter

Краткое содержание

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

Как это работает
Remote Config позволяет управлять настройками приложения, заданными по умолчанию, и переопределять их для всех пользователей или конкретных сегментов. Это обеспечивает гибкость в управлении интерфейсом и функциональностью без обновления кода.

Шаг 1. Инициализация
В статье приведена пошаговая инструкция по инициализации Remote Config с использованием Dart-кода. Необходимо создать объект конфигурации и инициализировать плагин.

Шаг 2. Установка значений по умолчанию
Задайте значения по умолчанию для параметров конфигурации. Это обеспечит работу приложения до получения Remote Config с сервера. В статье приведён пример кода для установки значений.

Шаг 3. Настройка параметров запросов
Минимальный интервал между запросами к серверу можно настроить с помощью метода setMinFetchInterval. Это помогает предотвратить частые запросы.

Шаг 4. Получение и активация значений с сервера
Чтобы получить обновленные значения с сервера, вызовите метод fetchRemoteConfigValues и активируйте их с помощью activate(). В статье описаны два способа: отдельный вызов fetch и activate, а также метод fetchRemoteConfigValuesAndActivate.

Получение значений после активации
После активации значения становятся доступны через метод configValue(String key). Также можно получить значение по умолчанию с помощью defaultValue(String key).

Дальнейшие шаги
После добавления Remote Config необходимо настроить эксперимент в интерфейсе МТС Аналитики. Данные будут передаваться после запуска эксперимента и релиза приложения.

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

Возможности

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

Как это работает

В приложении прописываются дефолтные значения — они определяют, как выглядит и ведёт себя интерфейс. Через Remote Config вы сможете управлять этими настройками и переопределять их для всех пользователей или конкретных сегментов.

Шаг 1. Инициализация

Проинициализируйте Remote Config`

MtsAnalyticsConfig config = MtsAnalyticsConfig()
..logLevel = LogLevel.DEBUG
..crashReportingEnabled = true
..backgroundTimeout = 120
..activeTimeout = 90
..eventStorageLimit = 3000
..networkTrafficEnabled = false
..androidFlowId = ""
..iosFlowId = "";
final mtsAnalyticsPlugin = MtsAnalyticsPlugin();
mtsAnalyticsPlugin.init(config);
mtsAnalyticsPlugin.remoteConfig.init(config);

Шаг 2. Установка значений по умолчанию

Задайте значения по умолчанию для параметров конфигурации. Это обеспечит работу приложения до получения Remote Config с сервера

MtsAnalyticsConfig config = MtsAnalyticsConfig()
..logLevel = LogLevel.DEBUG
..crashReportingEnabled = true
..backgroundTimeout = 120
..activeTimeout = 90
..eventStorageLimit = 3000
..networkTrafficEnabled = false
..androidFlowId = ""
..iosFlowId = "";
final mtsAnalyticsPlugin = MtsAnalyticsPlugin();
mtsAnalyticsPlugin.init(config);
mtsAnalyticsPlugin.remoteConfig.init(config);

mtsAnalyticsPlugin.remoteConfig.setDefaultsMap({
'key1': 'true',
'key2': 'blue',
'key3': '13.40',
'key4': '100',
'key5': '{ "childKey": "child value"}',
});

В начало

Шаг 3. Настройка параметров запросов

Fetch interval

Минимальный интервал minFetchInterval (мс.) между последовательными запросами к серверу. Используйте для предотвращения частых запросов. Значение по умолчанию: 300000

MtsAnalyticsConfig config = MtsAnalyticsConfig()
..logLevel = LogLevel.DEBUG
..crashReportingEnabled = true
..backgroundTimeout = 120
..activeTimeout = 90
..eventStorageLimit = 300000
..networkTrafficEnabled = false
..androidFlowId = ""
..iosFlowId = "";
final mtsAnalyticsPlugin = MtsAnalyticsPlugin();
mtsAnalyticsPlugin.init(config);
mtsAnalyticsPlugin.remoteConfig.init(config);
mtsAnalyticsPlugin.remoteConfig.setMinFetchInterval(300);

Шаг 4. Получение и активация значений с сервера

Чтобы получить обновленные значения с сервера, вызовите метод fetchRemoteConfigValues. После получения активируйте их с помощью метода activate().

Получение config

MtsAnalyticsConfig config = MtsAnalyticsConfig()
..logLevel = LogLevel.DEBUG
..crashReportingEnabled = true
..backgroundTimeout = 120
..activeTimeout = 90
..eventStorageLimit = 3000
..networkTrafficEnabled = false
..androidFlowId = ""
..iosFlowId = "";
final mtsAnalyticsPlugin = MtsAnalyticsPlugin();
mtsAnalyticsPlugin.init(config);
mtsAnalyticsPlugin.remoteConfig.init(config);
mtsAnalyticsPlugin.remoteConfig.fetchRemoteConfigValues();
mtsAnalyticsPlugin.remoteConfig.activate();

Получение и активация

MtsAnalyticsConfig config = MtsAnalyticsConfig()
..logLevel = LogLevel.DEBUG
..crashReportingEnabled = true
..backgroundTimeout = 120
..activeTimeout = 90
..eventStorageLimit = 3000
..networkTrafficEnabled = false
..androidFlowId = ""
..iosFlowId = "";
final mtsAnalyticsPlugin = MtsAnalyticsPlugin();
mtsAnalyticsPlugin.init(config);
mtsAnalyticsPlugin.remoteConfig.init(config);
mtsAnalyticsPlugin.remoteConfig.fetchRemoteConfigValuesAndActivate();

В начало

Получение значений после активации

После успешной активации полученные значения будут доступны через метод configValue(String key)

MtsAnalyticsConfig config = MtsAnalyticsConfig()
..logLevel = LogLevel.DEBUG
..crashReportingEnabled = true
..backgroundTimeout = 120
..activeTimeout = 90
..eventStorageLimit = 3000
..networkTrafficEnabled = false
..androidFlowId = ""
..iosFlowId = "";
final mtsAnalyticsPlugin = MtsAnalyticsPlugin();
mtsAnalyticsPlugin.init(config);
mtsAnalyticsPlugin.remoteConfig.init(config);
mtsAnalyticsPlugin.remoteConfig.fetchRemoteConfigValuesAndActivate();
final result = mtsAnalyticsPlugin.remoteConfig.configValue('date');

Получение значений по умолчанию

Если требуется получить значение по умолчанию, используйте поле defaultValue(String key)

MtsAnalyticsConfig config = MtsAnalyticsConfig()
..logLevel = LogLevel.DEBUG
..crashReportingEnabled = true
..backgroundTimeout = 120
..activeTimeout = 90
..eventStorageLimit = 3000
..networkTrafficEnabled = false
..androidFlowId = ""
..iosFlowId = "";
final mtsAnalyticsPlugin = MtsAnalyticsPlugin();
mtsAnalyticsPlugin.init(config);
mtsAnalyticsPlugin.remoteConfig.init(config);
mtsAnalyticsPlugin.remoteConfig.fetchRemoteConfigValuesAndActivate();
final result = mtsAnalyticsPlugin.remoteConfig.defaultValue('date');

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

После добавления Remote Config продуктологу или аналитику необходимо настроить эксперимент в интерфейсе МТС Аналитики. Данные будут передаваться после запуска эксперимента и релиза приложения.