Remote Config iOS
Краткое содержание
Remote Config — инструмент для настройки поведения и внешнего вида приложения без изменения кода и публикации. Он позволяет задавать значения по умолчанию, получать обновления с сервера и активировать их для использования в приложении без выпуска новых версий.
Как это работает
Remote Config позволяет управлять настройками приложения, заданными по умолчанию, и переопределять их для всех пользователей или конкретных сегментов.
Шаг 1. Инициализация
Создайте экземпляр Remote Config:
let remoteConfig = MTMetricsApp.remoteConfig
Шаг 2. Установка значений по умолчанию
Задайте значения по умолчанию для параметров конфигурации:
из plist-файла
remoteConfig.setDefaults(plistName: "DefaultConfig")
из словаря
remoteConfig.setDefaults(dict: [
"welcome_message": "Добро пожаловать!",
"new_feature_flag": false,
"max_items": 10
])
Шаг 3. Настройка параметров запросов
Установите минимальный интервал между запросами и время ожидания ответа от сервера:
remoteConfig.minFetchInterval = 350
remoteConfig.fetchTimeout = 30
Шаг 4. Получение и активация значений с сервера
Получите и активируйте значения с сервера как можно раньше при старте приложения. Используйте асинхронный метод или completion handler:
Task {
let status = await remoteConfig.fetchRemoteConfigValues()
if status == .success {
remoteConfig.activate()
}
}
Шаг 5. Получение значений после активации
После активации значения доступны через метод configValue(_:). Для получения значений по умолчанию используйте defaultValue(_:).
Дальнейшие шаги
После добавления Remote Config необходимо настроить эксперимент в интерфейсе МТС Аналитики. Данные будут передаваться после запуска эксперимента и релиза приложения.
Remote Config — это инструмент, позволяющий настроить поведение и внешний вид приложения без изменения кода и публикации приложения.
Remote Config позволяет задавать значения по умолчанию, получать обновления с сервера и активировать их для использования в приложении без необходимости выпуска новых версий.
Как это работает
В приложении прописываются дефолтные значения — они определяют, как выглядит и ведёт себя интерфейс. Через Remote Config вы сможете управлять этими настройками и переопределять их для всех пользователей или конкретных сегментов.
Шаг 1. Инициализация
Создайте экземпляр Remote Config`
let remoteConfig = MTMetricsApp.remoteConfig
Шаг 2. Установка значений по умолчанию
Задайте значения по умолчанию для параметров конфигурации. Это обеспечит работу приложения до получения Remote Config с сервера:
- из plist-файла
remoteConfig.setDefaults(plistName: "DefaultConfig")
- из словаря
remoteConfig.setDefaults(dict: [
"welcome_message": "Добро пожаловать!",
"new_feature_flag": false,
"max_items": 10
])
Шаг 3. Настройка параметров запросов
Рекомендуем установить относительно небольшой минимальный интервал выборки.
Если приложение выполняет запрос слишком часто за короткий период времени, SDK возвращает throttle — запрос не выполняется.
minFetchInterval
Минимальный интервал (в секундах) между последовательными запросами к сервер у. Используйте для предотвращения частых запросов. Значение по умолчанию: 300 (сек.)
remoteConfig.minFetchInterval = 350
fetchTimeout
Максимальное время ожидания ответа от сервера (в секундах). Значение по умолчанию: 30 (сек.)
remoteConfig.fetchTimeout = 30
Шаг 4. Получение и активация значений с сервера
Рекомендуется получать и активировать значения с сервера как можно раньше при старте приложения, чтобы события попадали в текущий эксперимент.
-
Чтобы получить обновленные значения с сервера, вызовите метод
fetchRemoteConfigValues. -
Активируйте значения с помощью метода
activate().
Асинхронное получение:
Task {
let status = await remoteConfig.fetchRemoteConfigValues()
if status == .success {
remoteConfig.activate()
}
}
С использованием completion handler:
Если хотите получить и активировать значения за один вызов, используйте
remoteConfig.fetchRemoteConfigValues { status in
if status == .success {
remoteConfig.activate()
}
}
Асинхронное получение и активация:
Task {
do {
let status = try await remoteConfig.fetchRemoteConfigValuesAndActivate()
if status == .success {
print("Конфигурация успешно обновлена и активирована")
}
} catch {
print("Ошибка при получении и активации: \(error)")
}
}
Шаг 5. Получение значений после активации
После успешной активации полученные значения будут доступны через метод configValue(_:). Этот метод возвращает объект, реализующий протокол MTRemoteConfigValue, который позволяет получить значение в различных форматах
if let welcomeMessage = remoteConfig.configValue("welcome_message")?.stringValue {
print("Сообщение приветствия: \(welcomeMessage)")
}