Скачивание обновлений
После подтверждения доступности обновления вы можете запросить у пользователя скачивание обновления, но перед этим необходимо запустить слушатель статуса скачивания обновления, используя метод listener().
RustoreUpdateClient.listener((value) { print( "listener installStatus ${value.installStatus}" ); print( "listener bytesDownloaded ${value.bytesDownloaded}" ); print( "listener totalBytesToDownload ${value.totalBytesToDownload}" ); print( "listener installErrorCode ${value.installErrorCode}" ); if (value.installStatus == INSTALL_STATUS_DOWNLOADED) { // тут можно вызывать метод complete() } }); |
Объект state описывает текущий статус скачивания обновления. Объект содержит:
- installStatus — статус установки обновления, если пользователь уже устанавливает обновление в текущий момент времени:
-
INSTALL_STATUS_DOWNLOADED — скачано.
-
INSTALL_STATUS_DOWNLOADING — скачивается.
-
INSTALL_STATUS_FAILED — ошибка.
-
INSTALL_STATUS_INSTALLING — устанавливается.
-
INSTALL_STATUS_PENDING — в ожидании.
- INSTALL_STATUS_UNKNOWN — по умолчанию.
-
- bytesDownloaded — количество загруженных байт.
- totalBytesToDownload — общее количество байт, которое необходимо скачать.
- installErrorCode — код ошибки во время скачивания.
Детальнее с возможными ошибками можно ознакомиться в разделе «Возможные ошибки».
Скачивание с UI от RuStore
Для запуска скачивания обновления приложения вызовите метод download().
RustoreUpdateClient.download().then((value) { print( "download code ${value.code}" ); }).catchError((err) { print( "download err ${err}" ); }); |
Если пользователь подтвердил скачивание обновления, то value.code = ACTIVITY_RESULT_OK, если отказался, то value.code = ACTIVITY_RESULT_CANCELED.
После вызова метода вы можете следить за статусом скачивания обновления в слушателе. Если в слушателе вы получили статус INSTALL_STATUS_DOWNLOADED, то вы можете вызвать метод установки обновления. Рекомендуем уведомить пользователя о готовности установки обновления.
Метод может вернуть ошибку. Возможные ошибки
Принудительное обновление
Для запуска скачивания обязательного обновления приложения вызовите метод immediate().
RustoreUpdateClient.immediate().then((value) {
print("immediate code ${value.code}");
}).catchError((err) {
print("immediate err ${err}");
});
|
Если пользователь подтвердил скачивание обновления, то value.code = ACTIVITY_RESULT_OK, если отказался, то value.code = ACTIVITY_RESULT_CANCELED.
После вызова метода вы можете следить за статусом скачивания обновления в слушателе. Если в слушателе вы получили статус INSTALL_STATUS_DOWNLOADED, то вы можете вызвать метод установки обновления. Рекомендуем уведомить пользователя о готовности установки обновления.
Метод может вернуть ошибку. Детальнее со списком ошибок можно ознакомиться в разделе Возможные ошибки
Тихое обновление
Для запуска скачивания обновления приложения без интерфейса RuStore вызовите метод silent().
RustoreUpdateClient.silent().then((value) {
print("silent code ${value.code}");
}).catchError((err) {
print("silent err ${err}");
});
|
После вызова метода вы можете следить за статусом скачивания обновления в слушателе. Если в слушателе вы получили статус INSTALL_STATUS_DOWNLOADED, то вы можете вызвать метод установки обновления. Рекомендуем уведомить пользователя о готовности установки обновления.
Метод может вернуть ошибку. Детальнее со списком ошибок можно ознакомиться в разделе Возможные ошибки