Перейти к основному содержимому

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

примечание

Сведения о проверке наличия обновлений представлены для следующих языков программирования

  • Kotlin;
  • Java;
  • Unity;
  • Godot;
  • Flutter;
  • Unreal Engine;
  • Defold.

Способ проверки наличия обновления отличается в зависимости от используемого языка программирования.


Прежде чем запрашивать обновление, проверьте, доступно ли обновление для вашего приложения. Для проверки наличия обновлений вызовите метод 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.

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