繁体   English   中英

如何直接打开华为应用市场?

[英]How to open the Huawei AppGallery directly?

我知道可以在 Google Play商店中打开我的应用程序(基于包名称) ,但是如何在华为 AppGallery 中执行相同操作?

在华为应用程序库中打开您的应用程序类似于打开 Google Play 商店:

华为应用程序库使用自己的方案appmarket://

  • 方案: appmarket://
  • 包: com.huawei.appmarket

Google Play 商店对比

  • 方案: market://
  • 包: com.android.vending

以下是华为应用程序库的片段

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);
    }
}

编辑

华为应用程序库现在也支持与Google Play Store相同的Schememarket://com.huawei.appmarket

我同意@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#/detailApp/C101652909?appId=C101652909

在华为应用程序商店中打开应用的简单方法:

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");

通过包名称启动 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());
            }
        }
    }

如果您的应用已经在华为应用市场上发布,那么您可以直接使用这个url打开应用。

  1. 带有你的applcation的appid的URL,例如AppGallery的appid是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

你可以用你自己的包名替换包名。

希望它可以有所帮助。

似乎华为应用程序库现在可以使用适用于 Google Play 的相同 URI 打开详细信息页面: 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"

您可以使用华为应用市场提供的徽章服务来推广您的应用,包括准备制作徽章的材料、配置应用链接、获取referrer统计等。 通过该服务,您可以高效地统计应用市场中的应用下载量,并为用户提供静默安装服务,提升推广效果。

当用户在频道中点击您的徽章时,用户将被重定向到 AppGallery 上您的应用详细信息页面。 用户可以点击安装以自动下载并安装您的应用程序。

  • 制作徽章
  1. 登录AppGallery Connect并点击应用内分发
  2. 单击制作徽章选项卡。
  3. 单击添加并通过按关键字或应用程序 ID 搜索来添加应用程序。 (您只能为已发布的应用制作徽章。)
  4. 套装徽章类型显示徽章中频道名称引用 推荐人是可选的。 如果需要进行归因统计,则需要设置该参数。
  5. 单击生成徽章以获取徽章及其链接。

检查下面的屏幕截图: 徽章服务

至于如何链接到 AppGallery 上的应用详情页面或应用列表页面:

• 您引用的链接:此处指向应用程序详细信息页面。 华为确实支持使用 AppGallery 上的徽章服务的应用详细信息页面。 换句话说,您可以用华为徽章链接替换谷歌链接。 您可以在此处获取徽章服务的详细信息

• 对于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);

我认为最短和最简单的方法是运行这个简单的链接: https ://appgallery.cloud.huawei.com/ag/n/app/<YOUR_APP_ID>

无需配置任何东西,其余的将由华为自动处理。

如何获取YOUR_APP_ID?

  1. 前往华为应用图库
  2. 搜索您的应用程序(例如微信
  3. 复制链接末尾的ID(例如https://appgallery.huawei.com/#/app/C5683
  4. 在这种情况下,微信的 APP_ID 将是C5683
  5. 所以微信的​​华为应用链接是https://appgallery.cloud.huawei.com/ag/n/app/C5683

希望这可以帮助! 享受~

好吧兄弟。 您可以使用包名称。 com.huawei.appmarket 并使用 Intent。 这里有一个类似的问题。 从 Android 上的另一个应用程序启动应用程序

祝你做的一切顺利😊

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM