1.0.1
Общие сведения
RuStore In-app updates SDK поддерживает актуальную версию приложения на устройстве пользователя. Это помогает пользователю увидеть обновления, оценить улучшение производительности и результат исправления ошибок.
Пример пользовательского сценария
Используйте RuStore In-app updates SDK для реализации различных способов обновлений. В настоящий момент поддерживаются: отложенное, тихое (без UI от RuStore) и принудительное обновление.
- Kotlin
- Java
Ознакомьтесь с приложением-примером чтобы узнать, как правильно интегрировать SDK обновлений.
Ознакомьтес ь с приложением-примером чтобы узнать, как правильно интегрировать SDK обновлений.
Условия корректной работы SDK
Для работы RuStore In-app updates SDK необходимо соблюдение следующих условий.
- Kotlin
- Java
- Приложение загружено в Консоль RuStore.
- Приложение прошло модерацию (публиковать приложение необязательно).
- Подпись тестируемой сборки (например,
debug
) приложения должна совпадать с подписью сборки приложения, которая была загружена в консоль и прошла модерацию ранее (например,release
).
- ОС Android версии 7.0 или выше.
- Версия RuStore на устройстве пользователя актуальная.
- Пользователь авторизован в RuStore.
- Приложению RuStore разрешена установка приложений.
- Приложение загружено в Консоль RuStore.
- Приложение прошло модерацию (публиковать приложение необязательно).
- Подпись тестируемой сборки (например,
debug
) приложения должна совпадать с подписью сборки приложения, которая была загружена в консоль и прошла модерацию ранее (например,release
).
- ОС Android версии 7.0 или выше.
- Версия RuStore на устройстве пользователя актуальная.
- Пользователь авторизован в RuStore.
- Приложению RuStore разрешена установка приложений.
Подключение в проект
- Kotlin
- Java
Подключите репозиторий.
repositories {
maven {
url = uri("https://artifactory-external.vkpartner.ru/artifactory/maven")
}
}
Чтобы подключить з ависимости SDK необходимо добавить следующий фрагмент кода в свой конфигурационный файл.
dependencies {
implementation("ru.rustore.sdk:appupdate:1.0.1")
}
Подключите репозиторий.
repositories {
maven {
url = uri("https://artifactory-external.vkpartner.ru/artifactory/maven")
}
}
Чтобы подключить зависимости SDK необходимо добавить следующий фрагмент кода в свой конфигурационный файл.
dependencies {
implementation("ru.rustore.sdk:appupdate:1.0.1")
}
Создание менеджера обновлений
- Kotlin
- Java
Перед вызовом методов библиотеки необходимо создать менеджер обновлений.
val updateManager = RuStoreAppUpdateManagerFactory.create(context)
Перед вызовом методов библиотеки необходимо создать менеджер обновлений.
RuStoreAppUpdateManager ruStoreAppUpdateManager = RuStoreAppUpdateManagerFactory.INSTANCE.create(context);
Проверка наличия обновлений
- Kotlin
- Java
getAppUpdateInfo()
. При вызове данного метода проверяются следующие условия.
- На устройстве пользователя установлена актуальная версия RuStore.
- Пользователь и приложение не должны быть заблокированы в RuStore.
- Приложению RuStore разрешена установка приложений.
- Пользователь авторизован в RuStore.
AppUpdateInfo
, который будет содержать в себе информацию о необходимости обновления. Запросите этот объект заранее и закэшируйте его, чтобы запросить у пользователя запуск скачивания обновления без задержки и в удобный для пользователя момент времени.
ruStoreAppUpdateManager
.getAppUpdateInfo()
.addOnSuccessListener { appUpdateInfo ->
if (appUpdateInfo.updateAvailability == UpdateAvailability.UPDATE_AVAILABLE) {
// Обновление доступно(здесь можно зарегистрировать listener и начать загрузку)
}
}
.addOnFailureListener { throwable ->
Log.e(TAG, "getAppUpdateInfo error", throwable)
}
AppUpdateInfo
содержит набор параметров, необходимых для определения доступности обновления.
-
updateAvailability
— доступность обновления:UNKNOWN (int == 0)
— по умолчанию;UPDATE_NOT_AVAILABLE (int == 1)
— обновление не нужно;UPDATE_AVAILABLE (int == 2)
— обновление требуется загрузить или обновление уже загружено на устройство пользователя;DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS (int == 3)
— обновление уже скачивается или установка уже запущена.
-
installStatus
— статус установки обновления, если пользователь уже устанавливает обновление в текущий момент времени:UNKNOWN (int == 0)
— по умолчанию;DOWNLOADED (int == 1)
— скачано;DOWNLOADING (int == 2)
— скачивается;FAILED (int == 3)
— ошибка;PENDING (int == 5)
— в ожидании.
Запуск скачивания обновления возможен только в том случае, если поле updateAvailability
содержит значение UPDATE_AVAILABLE
.
getAppUpdateInfo()
. При вызове данного метода проверяются следующие условия.
- На устройстве пользователя установлена актуальная версия RuStore.
- Пользователь и приложение не должны быть заблокированы в RuStore.
- Приложению RuStore разрешена установка приложений.
- Пользователь авторизован в RuStore.
AppUpdateInfo
, который будет содерж ать в себе информацию о необходимости обновления. Запросите этот объект заранее и закэшируйте его, чтобы запросить у пользователя запуск скачивания обновления без задержки и в удобный для пользователя момент времени.
ruStoreAppUpdateManager
.getAppUpdateInfo()
.addOnSuccessListener(appUpdateInfo -> {
if (appUpdateInfo.getUpdateAvailability() == UpdateAvailability.UPDATE_AVAILABLE) {
// Обновление доступно(здесь можно зарегистрировать listener и начать загрузку)
}
})
.addOnFailureListener(throwable ->
Log.e(TAG, "getAppUpdateInfo error", throwable)
);
AppUpdateInfo
содержит набор параметров, необходимых для определения доступности обновления.
-
updateAvailability
— доступность обновления:UNKNOWN (int == 0)
— по умолчанию;UPDATE_NOT_AVAILABLE (int == 1)
— обновление не нужно;UPDATE_AVAILABLE (int == 2)
— обновление требуется загрузить или обновление уже загружено на устройство пользователя;DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS (int == 3)
— обновление уже скачивается или установка уже запущена.
-
installStatus
— статус установки обновления, если пользователь уже устанавливает обновление в текущий момент времени:UNKNOWN (int == 0)
— по умолчанию;DOWNLOADED (int == 1)
— скачано;DOWNLOADING (int == 2)
— скачивается;FAILED (int == 3)
— ошибка;PENDING (int == 5)
— в ожидании.
Запуск скачивания обновления возможен только в том случае, если поле updateAvailability
содержит значение UPDATE_AVAILABLE
.
Скачивание и установка обновлений
Использование слушателя
После подтверждения доступности обновления (AppUpdateInfo
) вы можете запросить статус скачивания обновления — для этого запустите слушатель статуса скачивания обновления.