Как открыть Huawei AppGallery напрямую?

12 ответов

Открытие вашего приложения в галерее приложений Huawei аналогично открытию Google Play Store:

Huawei App Gallery использует собственную схемуappmarket://:

  • Схема: appmarket://
  • Пакет: com.huawei.appmarket

по сравнению с Google Play Store:

  • Схема: market://
  • Пакет: com.android.vending

Вот фрагмент из галереи приложений Huawei:

private void startHuaweiAppGallery() {
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("appmarket://details?id=" + getPackageName()));
    List<ResolveInfo> otherApps = getPackageManager().queryIntentActivities(intent, 0);

    boolean agFound = false;

    for (ResolveInfo app : otherApps) {
        if (app.activityInfo.applicationInfo.packageName.equals("com.huawei.appmarket")) {
            ComponentName psComponent = new ComponentName(app.activityInfo.applicationInfo.packageName, app.activityInfo.name);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_CLEAR_TOP);
            intent.setComponent(psComponent);
            startActivity(intent);

            agFound = true;
            break;
        }
    }

    //Optional, Or copy the Google Play Store URL here (See below)
    if (!agFound) {
        //Your Huawei app ID can be found in the Huawei developer console
        final string HUAWEI_APP_ID = "100864605";

        //ex. https://appgallery.cloud.huawei.com/marketshare/app/C100864605
        intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://appgallery.cloud.huawei.com/marketshare/app/C" + HUAWEI_APP_ID));
        startActivity(intent);
    }
}

Вот фрагмент кода для Google Play:

private void startGooglePlay() {
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName()));
    List<ResolveInfo> otherApps = getPackageManager().queryIntentActivities(intent, 0);

    boolean psFound = false;

    for (ResolveInfo app : otherApps) {
        if (app.activityInfo.applicationInfo.packageName.equals("com.android.vending")) {
            ComponentName psComponent = new ComponentName(app.activityInfo.applicationInfo.packageName, app.activityInfo.name);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_CLEAR_TOP);
            intent.setComponent(psComponent);
            startActivity(intent);

            psFound = true;
            break;
        }
    }
    if (!psFound) {
        intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + getPackageName()));
        startActivity(intent);
    }
}

Я согласен с @Pierre

Но я также думаю, что вы можете разрешить активность с помощью ссылок

https://appgallery8.huawei.com/#/app/C<HUAWEI_APP_ID>

или

https://appgallery.cloud.huawei.com/uowap/index.html#/detailApp/C<HUAWEI_APP_ID>?appId=C<HUAWEI_APP_ID>

Например, https://appgallery.cloud.huawei.com/uowap/index.html.

Если ваше приложение уже опубликовано в галерее приложений Huawei, вы можете использовать этот URL-адрес, чтобы напрямую открыть приложение.

  1. URL-адрес с appid вашего приложения, например appid AppGallery - 27162, затем можно открыть его с помощью этого URL-адреса.

https://appgallery.huawei.com/#/app/C27162

Вы можете заменить appid своим собственным appid.

  1. URL-адрес с именем пакета вашего приложения, например, имя пакета AppGallery - com.huawei.appmarket, затем можно открыть его с помощью этого URL-адреса.

https://appgallery.cloud.huawei.com/appDetail?pkgName=com.huawei.appmarket

Вы можете заменить имя пакета своим собственным именем.

Желаю, чтобы это было полезно.

Похоже, Huawei App Gallery теперь может открывать страницу сведений с тем же URI, который работает для Google Play: market://details?id=<applicationId>

Я только что попробовал это в AppGallery v11.1.2.304 с applicationId, который существует в обоих магазинах: adb shell am start -a "android.intent.action.VIEW" -d "market://details?id=busu.blackscreenbatterysaver"

Простой способ открыть приложение в магазине Huawei App Gallery:

public void reviewApp(String packageName){
        try {
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("appmarket://details?id=" + packageName));
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
        } catch (ActivityNotFoundException anfe) {
            Toast.makeText(this, "Huawei AppGallery not found!", Toast.LENGTH_SHORT).show();
        }
}

затем вызовите его из своей деятельности:

reviewApp(this.getPackageName());

или:

reviewApp("com.myapp.android");

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

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

  • Изготовление значка
  1. Войдите в AppGallery Connect и щелкните Распространение в приложении.
  2. Щелкните вкладку " Создать значок ".
  3. Нажмите " Добавить" и добавьте приложение путем поиска по ключевому слову или идентификатору приложения. (Вы можете сделать значок только для выпущенного приложения.)
  4. Установите тип значка, Отображать значок в, имя канала и реферер. Реферер не является обязательным. Если требуется статистика атрибуции, необходимо установить параметр.
  5. Щелкните Создать значок, чтобы получить значок и ссылку на него.

Посмотрите скриншот ниже:

Запустите Play Store/AppGallery через имя пакета.

      private boolean openInStore(String uri){
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_CLEAR_TOP);
        try {
            startActivity(Intent.createChooser(intent,getString(R.string.open_with)));
            return true;
        } catch (ActivityNotFoundException anfe) {
            return false;
        }
    }

    private void startOpenInStore() {
        String playStoreScheme = "market://details?id=", huaweiScheme = "appmarket://details?id=";
        if (!openInStore(playStoreScheme+getPackageName())) {
            if (!openInStore(huaweiScheme + getPackageName())) {
                openInStore("https://play.google.com/store/apps/details?id=" + getPackageName());
            }
        }
    }

Я думаю, что самым коротким и простым было бы запустить эту простую ссылку:https://appgallery.cloud.huawei.com/ag/n/app/<YOUR_APP_ID>

Не нужно ничего настраивать, остальное сделает Huawei автоматически.

Как получить YOUR_APP_ID?

  1. Перейти в галерею приложений Huawei
  2. Найдите свое приложение (например, WeChat)
  3. Скопируйте идентификатор в конце ссылки (например, https://appgallery.huawei.com/#/app/C5683)
  4. В этом случае APP_ID для WeChat будет C5683
  5. Таким образом, ссылка на приложение Huawei для WeChat будет https://appgallery.cloud.huawei.com/ag/n/app/C5683.

Надеюсь это поможет! Наслаждайтесь ~

Что касается ссылки на страницу сведений о приложении или страницу со списком приложений в AppGallery:

• Ссылка, которую вы упомянули: здесь есть на странице приложения подробно. Huawei поддерживает страницу сведений о приложении с помощью службы значков в AppGallery. Другими словами, вы можете заменить ссылку Google ссылкой на значок Huawei. Вы можете получить подробную информацию об обслуживании бейджей здесь.

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

Надеюсь на эту помощь и дайте мне знать, если возникнут вопросы.

Я нашел более подробный обмен ссылками на приложения AppGallery, и вот ссылка .

Вот как напрямую запустить App Gallery:

      Intent intent = new Intent(Intent.ACTION_VIEW);
Uri.Builder uriBuilder = Uri.parse("https://appgallery.cloud.huawei.com/ag").buildUpon();
intent.setData(uriBuilder.build());
intent.setPackage("com.huawei.appmarket");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

Хорошо, братан. Вы можете использовать имя пакета. com.huawei.appmarket и использовать намерение. Здесь есть похожий вопрос. Запустить приложение из другого приложения на Android

Удачи во всем, что вы делаете

Другие вопросы по тегам