SDK Remote Config для Flutter (версия 1.0.0)
SDK Remote Config – это облачный сервис, который позволяет изменять поведение и внешний вид вашего приложения, не требуя от пользователей загрузки обновления приложения. Плагин инкапсулирует в себе запрос конфигурации с сервера, кэширование, фоновое обновление. Имеет удобный интерфейс API для получения данных.
Пример реализации
Ознакомьтесь с приложением-примером, чтобы узнать, как правильно интегрировать SDK Remote Config.
Ключевые особенности
- Выбор наиболее удобного механизма обновления конфигурации.
- Возможность указывать процент распространения конфигурации на аудиторию.
- Возможность передавать дополнительную информацию для построения воронки конкретной конфигурации. Формировать конфигурацию можно даже для конкретных пользователей.
- Набор callback, который можно использовать для аналитики.
- Минимальное количество внешних зависимостей.
Подключение в проект
Для подключения пакета к проекту нужно выполнить следующую команду.
flutter pub add flutter_rustore_remoteconfig
Эта команда добавит строч ку в файл pubspec.yaml
.
dependencies:
flutter_rustore_remoteconfig: ^1.0.0
Инициализация
Создание RemoteConfigClient
Инициализация RemoteConfigClient
должна происходить в момент Application.onCreate()
, так как при запуске фоновой синхронизации SDK должна быть проинициализирована.
Для работы с конфигом нужно создать RemoteConfigClient
с помощью метода create
.
create(
String appId,
PluginUpdateBehavior updateBehavior,
int interval, StaticParameters parameters,
Function? onBackgroundJobErrors,
Function? onFirstLoadComplete,
Function? onMemoryCacheUpdated,
Function? onInitComplete,
Function? onPersistentStorageUpdated,
Function? onRemoteConfigNetworkRequestFailure}
)
Пример вызова метода create
.
FlutterRustoreRemoteconfig.create(
appId,
behavior,
interval,
Parameters(),
onBackgroundJobErrors: (value) {
},
onFirstLoadComplete: (value) {
},
onMemoryCacheUpdated: (value) {
},
onInitComplete: (value) {
},
onPersistentStorageUpdated: (value) {
},
onRemoteConfigNetworkRequestFailure: (value) {
});
appId
- Application id вашего проекта Remote config;
behavior
- ролитика обновления SDK;
interval
- время для изменения политики обновления snapshot;
parameters
- статические параметры SDK;
Function? onBackgroundJobErrors
- возвращает ошибку фоновой работы;
Function? onFirstLoadComplete
- вызывается при окончании первой загрузки;
Function? onMemoryCacheUpdated
- вызывается при измененияя кэша в памяти;
Function? onInitComplete
- вызывается при окончании инциализации;
Function? onPersistentStorageUpdated
- вызывается при изменении постоянного хранилища;
Function? onRemoteConfigNetworkRequestFailure
- вызывается при ошибке сетевого запроса Remote Сonfig.
Опциональные параметры RemoteConfigClientBuilder
Параметр | Описание |
---|---|
OsVersion | Условие в конфигураторе: Os Version Позволят сравнивать OsVersion со значением, установленным в интерфейсе. По умолчанию OsVersion не передается, в этом случае возвращается конфиг по умолчанию. |
DeviceModel | Условие в конфигураторе: Device Model Позволят сравнивать DeviceModel со значением, установленным в интерфейсе. По умолчанию DeviceModel не передается, у этом случае возвращается конфиг по умолчанию. |
Language | Условие в конфигураторе: Language Позволят сравнивать Language со значением, установленным в интерфейсе. По умолчанию Language не передается, у этом случае возвращается конфиг по умолчанию.Для передачи Language необходимо реализовать ConfigRequestParameterProvider . |
Account | Условие в конфигураторе: Account Позволят сравнивать account со значением, установленным в интерфейсе.Условие в конфигураторе: Account Percentile Позволят раздавать конфиг по значению account на определенный процент.Условие в конфигураторе: Interval Account Percentile Позволят раздавать конфиг по значению account на определенный процент и в определенный день.Для передачи Account необходимо реализовать ConfigRequestParameterProvider . |
DeviceId | Условие в конфигураторе: DeviceID Позволят сравнивать DeviceId со значением, установленным в интерфейсе.Условие в конфигураторе: DeviceID Percentile Позволят раздавать конфиг по значению DeviceId на определенный процент.Условие в конфигураторе: Interval DeviceID Percentile Позволят раздавать конфиг по значению DeviceId на определенный процент и в определенный день. |
AppVersion | Условие в конфигураторе: App Version Позволят сравнивать AppVersion со значением, установленным в интерфейсе. |
Environment | Условие в конфигураторе: App Environment Позволят сравнивать Environment со значением, установленным в интерфейсеEnvironment может принимать значения: Alpha , Beta , Release .Этот параметр удобно использовать для тестирования конфигурации на различных сборках приложения. |
AppBuild | Условие в конфигураторе: App Build Позволят сравнивать AppBuild со значением, установленным в интерфейсе. |
UpdateBehaviour
UpdateBehaviour
— это параметр, определяющий поведение SDK.
При создании экземпляра RemoteConfigClientBuilder
, по умолчанию используется значение UpdateBehaviour.Default
с интервалом синхронизации 15 минут.
Установить другое поведение SDK можно передав значение в метод create
.
enum PluginUpdateBehavior {
actualBehavior,
defaultBehavior,
snapshotBehavior,
}