Проверка наличия обновлений
Прежде чем запрашивать обновление, проверьте, доступно ли обновление для вашего приложения. Для проверки наличия обновлений вызовите метод getAppUpdateInfo(). При вызове данного метода проверяются следующие условия:
- На устройстве пользователя должен быть установлен RuStore.
- Версия RuStoreApp на устройстве пользователя должна быть актуальной.
- Пользователь и приложение не должны быть заблокированы в RuStore.
В ответ на данный метод вы получите объект AppUpdateInfo, который будет содержать в себе информацию о необходимости обновления. Запросите данный объект заранее и закэшируйте его, чтобы запросить у пользователя запуск скачивания обновления без задержки и в удобный для пользователя момент времени.
var appUpdateInfo: AppUpdateInfo? = null
updateManager .getAppUpdateInfo() .addOnSuccessListener { info -> appUpdateInfo = info } .addOnFailureListener { throwable -> } |
Объект AppUpdateInfo содержит набор параметров, необходимых для определения доступности обновления:
- updateAvailability — доступность обновления:
- UNKNOWN — статус по умолчанию;
- UPDATE_NOT_AVAILABLE — обновление не нужно;
- UPDATE_AVAILABLE — обновление требуется загрузить или обновление уже загружено на устройство пользователя;
- DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS — обновление уже загружается или установка уже запущена.
- installStatus — статус установки обновления, если пользователь уже устанавливает обновление в текущий момент времени:
- UNKNOWN — по умолчанию;
- DOWNLOADED — загружено;
- DOWNLOADING — загружается;
- FAILED — ошибка;
- INSTALLING — устанавливается;
- PENDING — в ожидании.
Запуск загрузки обновления возможен только в том случае, если поле updateAvailability содержит значение UPDATE_AVAILABLE.
Метод может вернуть ошибку. Возможные ошибки