Проверка наличия обновлений

Прежде чем запрашивать обновление, проверьте, доступно ли обновление для вашего приложения. Для проверки наличия обновлений вызовите метод getAppUpdateInfo(). При вызове данного метода проверяются следующие условия:

  1. На устройстве пользователя должен быть установлен RuStore. 
  2. Версия RuStoreApp на устройстве пользователя должна быть актуальной.  
  3. Пользователь и приложение не должны быть заблокированы в 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.

Метод может вернуть ошибку. Возможные ошибки

Обновлено 31 мая 2023 г.
Was this information helpful?