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

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

  1. На устройстве пользователя должен быть установлен RuStore. 
  2. Версия RuStoreApp на устройстве пользователя должна быть актуальной.  
  3. Пользователь должен быть авторизован в RuStore.
  4. Пользователь и приложение не должны быть заблокированы в RuStore.  
  5. Приложению RuStore должна быть разрешена установка приложений.

В ответ на данный метод вы получите объект AppUpdateInfo, который будет содержать в себе информацию о необходимости обновления. Запросите информацию заранее, чтобы запросить у пользователя запуск скачивания обновления без задержки и в удобный для пользователя момент времени. 

Пример вызова метода GetAppUpdateInfo()
long requestId = GetAppUpdateInfo(
    [](long requestId, TSharedPtr<FURuStoreAppUpdateInfo, ESPMode::ThreadSafe> response) {
        // Process response
    },
    [](long requestId, TSharedPtr<FURuStoreError, ESPMode::ThreadSafe> error) {
        // Process error
    }
);

Blueprint-реализация:

image

Колбэк Success возвращает структуру AppUpdateInfo в параметре Response:

Объект AppUpdateInfo содержит набор параметров, необходимых для определения доступности обновления:

  • updateAvailability - доступность обновления:
    • UPDATE_NOT_AVAILABLE - обновление не нужно. 
    • UPDATE_AVAILABLE - обновление требуется загрузить или обновление уже загружено на устройство пользователя.   
    • DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS - обновление уже скачивается или установка уже запущена. 
    • UNKNOWN - статус по умолчанию.
  • installStatus - статус установки обновления, если пользователь уже устанавливает обновление в текущий момент времени:
    • DOWNLOADED - скачано. 

    • DOWNLOADING - скачивается. 

    • FAILED - ошибка. 

    • INSTALLING - устанавливается. 

    • PENDING - в ожидании. 

    • UNKNOWN - по умолчанию. 

Запуск скачивания обновления возможен только в том случае, если поле updateAvailability содержит значение UPDATE_AVAILABLE.

Колбэк Failure возвращает структуру FURuStoreError с информацией об ошибке в параметре Error. Детальнее с ними можно ознакомиться в разделе Возможные ошибки.

После получения AppUpdateInfo можно проверить доступность принудительного обновления используя метод CheckIsImmediateUpdateAllowed().

Пример вызова метода CheckIsImmediateUpdateAllowed()
bool available = URuStoreAppUpdateManager::Instance()->CheckIsImmediateUpdateAllowed();

Blueprint-реализация:

image

Обновлено 6 декабря 2023 г.
Was this information helpful?