Huawei AppGallery: ссылка на приложение в списке приложений

есть ли возможность разместить ссылку на список приложений в AppGallery?

В Google мы обычно делаем это:

http://play.google.com/store/apps/details?id=com.example.myapp

Я нашел эту страницу: https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-applinking-createlinks-byagc, но, похоже, это отличается от того, о чем я спрашиваю.


person Andy Res    schedule 26.11.2020    source источник


Ответы (2)


Обновление:

пользователь открывает приложение, и требуется обновление, тогда мы хотели бы показать всплывающее окно с кнопкой, которая перенаправит пользователя прямо в AppGallery, откуда можно установить новейшую версию.

Совместные операционные службы предоставляет возможность Обновление приложения. Ваше приложение может вызвать API-интерфейс обновления HMS Core SDK, чтобы проверить, доступна ли более поздняя версия в AppGallery, и отобразить всплывающее окно с вопросом, нужно ли обновлять приложение.

Процесс разработки:

  1. Пользователь запускает проверку обновлений, например, запустив приложение или вручную выполнив проверку на странице проверки обновлений.

  2. Приложение вызывает JosApps.getAppUpdateClient, чтобы запросить инициализацию экземпляра AppUpdateClient.

AppUpdateClient client = JosApps.getAppUpdateClient(this);
  1. HMS Core SDK возвращает в приложение экземпляр AppUpdateClient текущего приложения.

  2. Приложение вызывает app. checkAppUpdate, чтобы запросить проверку обновлений.

public void checkUpdate() {
    AppUpdateClient client = JosApps.getAppUpdateClient(this);
    client.checkAppUpdate(this, new UpdateCallBack(this));
}
  1. HMS Core SDK запрашивает информацию о последней версии приложения в AppGallery.

  2. AppGallery отправляет информацию о версии приложения обратно в HMS Core SDK.

  3. HMS Core SDK отправляет результат проверки в приложение через обратный вызов.

  4. Приложение проверяет экземпляр 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);
        }
    }
}
  1. Приложение вызывает приложение . showUpdateDialog, чтобы запросить отображение всплывающего окна обновления для пользователя.
public void checkUpdatePop(boolean forceUpdate) {
    AppUpdateClient client = JosApps.getAppUpdateClient(this);
    client.showUpdateDialog(this, apkUpgradeInfo, forceUpdate);
    Log.i(TAG, "checkUpdatePop success");
}
  1. HMS Core SDK отображает всплывающее окно обновления для пользователя.

  2. Пользователь выбирает обновление приложения на странице подтверждения обновления.

  3. HMS Core SDK отправляет в AppGallery запрос на загрузку последней версии установочного пакета приложения.

  4. AppGallery возвращает пакет приложения в HMS Core SDK. HMS Core SDK начинает установку приложения после завершения загрузки.


Вы можете использовать служба значков, предоставляемая HUAWEI AppGallery для сбора статистики о загрузках приложений в AppGallery и предоставления пользователям услуги автоматической установки.

Когда пользователь нажимает ваш значок в канале, он перенаправляется на страницу сведений о вашем приложении в AppGallery. Пользователь может нажать «Установить», чтобы автоматически загрузить и установить ваше приложение.

Изготовление значка

  1. Войдите в AppGallery Connect и нажмите Распространение в приложении.
  2. Перейдите на вкладку Создать значок.
  3. Нажмите Добавить и добавьте приложение, выполнив поиск по ключевому слову или идентификатору приложения. (Вы можете сделать значок только для выпущенного приложения.)
  4. Задайте Тип значка, Отображать значок на, Название канала и Переход. Реферер не является обязательным. Если требуется статистика атрибуции, необходимо установить параметр.
  5. Щелкните Создать значок, чтобы получить значок и ссылку на него.
person shirley    schedule 27.11.2020
comment
Еще раз спасибо за быстрый ответ @shirley. Думаю, я не очень ясно выразился, просто чтобы дать вам немного больше контекста: мы реализуем механизм принудительного обновления в приложении, поэтому представьте, что пользователь открывает приложение и требуется обновление, тогда мы хотели бы показать всплывающее окно с кнопкой, которая перенаправит пользователя прямо в AppGallery, откуда можно установить новейшую версию. Поэтому в этом случае мы не хотели бы отображать значок. Тем временем я обнаружил следующее: appgallery.huawei.com/#/app/C ★app_id ›, похоже, это работает. Что вы думаете? - person Andy Res; 02.12.2020
comment
@AndyRes Да, я думаю, что вам нужно checkAppUpdate. - person shirley; 02.12.2020
comment
Это не работает, статус всегда 3. И я получаю странную ошибку в журналах - ›W / UpdateSDKCheckTask: UpdateSDK получать информацию об обновлении не рекомендуется, причина: удалить старую версию перед установкой, та же подпись: 1 - person baribar; 08.04.2021

Я полагаю, вы хотите открывать не в браузере, а через намерение, на которое реагирует AppGallery.

Вы можете использовать market://details?id=com.example.myapp, который работает как в AppGallery, так и в Play Store.

Из AndroidManifest.xml AppGallery:

<intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:scheme="market" android:host="details"/>
</intent-filter>
person Roy Solberg    schedule 02.12.2020