Скачивание обновления
Для запуска скачивания обновления приложения вызовите метод StartUpdateFlow().
Доступны три сценария обновления:
EURuStoreAppUpdateOptions::DELAYED – отложенное обновление.
EURuStoreAppUpdateOptions::SILENT – тихое обновление.
EURuStoreAppUpdateOptions::IMMEDIATE – принудительное обновление.
Для повторного вызова метода StartUpdateFlow() запросите AppUpdateInfo, повторно используя метод GetAppUpdateInfo().
EURuStoreAppUpdateOptions appUpdateOptions = EURuStoreAppUpdateOptions::DELAYED; long requestId = StartUpdateFlow( appUpdateOptions, []( long requestId, EURuStoreUpdateFlowResult response) { // Process response }, []( long requestId, TSharedPtr<FURuStoreError, ESPMode::ThreadSafe> error) { // Process error } ); |
Blueprint-реализация:
Колбэк 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.
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FRuStoreOnStateUpdatedInstanceDelegate, int64, listenerId, FURuStoreInstallState, state); UPROPERTY(BlueprintAssignable, Category = "RuStore AppUpdate Manager" ) FRuStoreOnStateUpdatedInstanceDelegate OnStateUpdatedInstanceEvent; |
Blueprint-реализация:
После получения статуса EURuStoreInstallStatus::DOWNLOADED в поле installStatus, может быть вызван метод установки обновления.