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