Скачивание обновления

Для запуска скачивания обновления приложения вызовите метод StartUpdateFlow().

Доступны три сценария обновления:

EURuStoreAppUpdateOptions::DELAYED – отложенное обновление.

EURuStoreAppUpdateOptions::SILENT – тихое обновление.

EURuStoreAppUpdateOptions::IMMEDIATE – принудительное обновление.

Для повторного вызова метода StartUpdateFlow() запросите AppUpdateInfo, повторно используя метод GetAppUpdateInfo().

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

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

image

image

image

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

Колбэк Success возвращает значение EURuStoreUpdateFlowResult в параметре Response:

  • EURuStoreUpdateFlowResult::RESULT_OK (-1) - обновление выполнено, код может быть не получен, т.к. приложение в момент обновления завершается.
  • EURuStoreUpdateFlowResult::RESULT_CANCELED (0) - флоу прервано пользователем или произошла ошибка. Предполагается, что при получении этого кода, следует завершить работу приложения.
  • EURuStoreUpdateFlowResult::ACTIVITY_NOT_FOUND (2) - RuStore не установлен, либо установлена версия, которая не поддерживает принудительное обновление (RuStore versionCode < 191)

После вызова метода StartUpdateFlow() за статусом скачивания обновления можно следить в событии OnStateUpdatedInstanceEvent.

Событие OnStateUpdatedInstanceEvent
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FRuStoreOnStateUpdatedInstanceDelegate, int64, listenerId, FURuStoreInstallState, state);
 
 
UPROPERTY(BlueprintAssignable, Category = "RuStore AppUpdate Manager")
FRuStoreOnStateUpdatedInstanceDelegate OnStateUpdatedInstanceEvent;

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

image

После получения статуса EURuStoreInstallStatus::DOWNLOADED в поле installStatus, может быть вызван метод установки обновления.

 

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