Обновление:
пользователь открывает приложение, и требуется обновление, тогда мы хотели бы показать всплывающее окно с кнопкой, которая перенаправит пользователя прямо в AppGallery, откуда можно установить новейшую версию.
Совместные операционные службы предоставляет возможность Обновление приложения. Ваше приложение может вызвать API-интерфейс обновления HMS Core SDK, чтобы проверить, доступна ли более поздняя версия в AppGallery, и отобразить всплывающее окно с вопросом, нужно ли обновлять приложение.
Процесс разработки:
Пользователь запускает проверку обновлений, например, запустив приложение или вручную выполнив проверку на странице проверки обновлений.
Приложение вызывает JosApps.getAppUpdateClient, чтобы запросить инициализацию экземпляра AppUpdateClient.
AppUpdateClient client = JosApps.getAppUpdateClient(this);
HMS Core SDK возвращает в приложение экземпляр AppUpdateClient текущего приложения.
Приложение вызывает app. checkAppUpdate, чтобы запросить проверку обновлений.
public void checkUpdate() {
AppUpdateClient client = JosApps.getAppUpdateClient(this);
client.checkAppUpdate(this, new UpdateCallBack(this));
}
HMS Core SDK запрашивает информацию о последней версии приложения в AppGallery.
AppGallery отправляет информацию о версии приложения обратно в HMS Core SDK.
HMS Core SDK отправляет результат проверки в приложение через обратный вызов.
Приложение проверяет экземпляр ApkUpgradeInfo. возвращается методом onUpdateInfo в результате обратного вызова и проверяет, доступно ли обновление.
private static class UpdateCallBack implements CheckUpdateCallBack {
private ManinActivity apiActivity;
private UpdateCallBack(GameApiActivity apiActivity) {
this.apiActivity = apiActivity;
}
public void onUpdateInfo(Intent intent) {
if (intent != null) {
// Obtain the update status code. Default_value indicates the default return code when status cannot be obtained, which is determined by the app.
int status = intent.getIntExtra(UpdateKey.STATUS, DEFAULT_VALUE);
// Error code. You are advised to record it.
int rtnCode = intent.getIntExtra(UpdateKey.FAIL_CODE, DEFAULT_VALUE);
// Failure information. You are advised to record it.
String rtnMessage = intent.getStringExtra(UpdateKey.FAIL_REASON);
Serializable info = intent.getSerializableExtra(UpdateKey.INFO);
// Check whether the app has an update by checking whether info obtained is of the ApkUpgradeInfo type.
if (info instanceof ApkUpgradeInfo) {
// Call the showUpdateDialog API to display the update pop-up. The demo has an independent button for displaying the pop-up. Therefore, this API is not called here. For details, please refer to the checkUpdatePop() method.
apiActivity.showLog("There is a new update");
apiActivity.apkUpgradeInfo = (ApkUpgradeInfo) info;
}
apiActivity.showLog("onUpdateInfo status: " + status + ", rtnCode: " + rtnCode + ", rtnMessage: " + rtnMessage);
}
}
}
- Приложение вызывает приложение . showUpdateDialog, чтобы запросить отображение всплывающего окна обновления для пользователя.
public void checkUpdatePop(boolean forceUpdate) {
AppUpdateClient client = JosApps.getAppUpdateClient(this);
client.showUpdateDialog(this, apkUpgradeInfo, forceUpdate);
Log.i(TAG, "checkUpdatePop success");
}
HMS Core SDK отображает всплывающее окно обновления для пользователя.
Пользователь выбирает обновление приложения на странице подтверждения обновления.
HMS Core SDK отправляет в AppGallery запрос на загрузку последней версии установочного пакета приложения.
AppGallery возвращает пакет приложения в HMS Core SDK. HMS Core SDK начинает установку приложения после завершения загрузки.
Вы можете использовать служба значков, предоставляемая HUAWEI AppGallery для сбора статистики о загрузках приложений в AppGallery и предоставления пользователям услуги автоматической установки.
Когда пользователь нажимает ваш значок в канале, он перенаправляется на страницу сведений о вашем приложении в AppGallery. Пользователь может нажать «Установить», чтобы автоматически загрузить и установить ваше приложение.
Изготовление значка
- Войдите в AppGallery Connect и нажмите Распространение в приложении.
- Перейдите на вкладку Создать значок.
- Нажмите Добавить и добавьте приложение, выполнив поиск по ключевому слову или идентификатору приложения. (Вы можете сделать значок только для выпущенного приложения.)
- Задайте Тип значка, Отображать значок на, Название канала и Переход. Реферер не является обязательным. Если требуется статистика атрибуции, необходимо установить параметр.
- Щелкните Создать значок, чтобы получить значок и ссылку на него.
person
shirley
schedule
27.11.2020