6.0.0
Общие сведения
RuStore In-app updates SDK поддерживает актуальную версию приложения на устройстве пользователя. Это помогает пользователю увидеть обновления, оценить улучшение производительности и результат исправления ошибок.
Пример пользовательского сценария
Используйте RuStore In-app updates SDK для реализации различных способов обновлений. В настоящий момент поддерживаются: отложенное, тихое (без UI от RuStore) и принудительное обновление.
Ознакомьтесь с приложением-примером чтобы узнать, как правильно интегрировать SDK обновлений.
![img](/help/assets/images/8c0c1aa079e8c1e20e0708fb329b3d63-42e8a206c312c7532d52edacbc5a84c2.webp)
Условия корректной работы SDK
Для работы RuStore In-app updates SDK необходимо соблюдение следующих условий.
- ОС Android версии 7.0 или выше
- Версия RuStore на устройстве пользователя актуальная
- Пользователь авторизован в RuStore
- Приложению RuStore разрешена установка приложений
Подключение в проект
Для подключения пакета к проекту выполните следующую команду.
// HTTPS
npm install git+https://git@gitflic.ru/project/rustore/react-native-rustore-update-sdk.git
// SSH
npm install git+ssh://git@gitflic.ru/project/rustore/react-native-rustore-update-sdk.git
Создание менеджера обновлений
Для работы механизма обновлений необходимо выполнить инициализацию SDK
RustoreUpdateClient.init();
Проверка наличия обновлений
Прежде чем запрашивать обновление, проверьте, доступно ли обновление для вашего приложения. Для проверки наличия обновлений вызовите методgetAppUpdateInfo()
. При вызове данного метода проверяются следующие условия.
- На устройстве пользователя установлена актуальная версия RuStore.
- Пользователь и приложение не должны быть заблокированы в RuStore.
- Приложению RuStore разрешена установка приложений.
- Пользователь авторизован в RuStore.
В ответ на данный метод вы получите объект appUpdateInfo, который будет содержать в себе информацию о необходимости обновления.
try {
const appUpdateInfo = await RustoreUpdateClient.getAppUpdateInfo();
console.log(appUpdateInfo);
} catch (err) {
console.log(err);
}
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
.
Скачивание и установка обновлений
Использование слушателя (listener)
После подтверждения доступности обновления (AppUpdateInfo
) вы можете запросить статус скачивания обновления — для этого запустите слушатель статуса скачивания обновления.