如何直接打开华为AppGallery?

时间:2018-12-10 12:24:37

标签: android google-play huawei

I know that is possible to open my app (based on package name) in Google Play商店,但是如何在Huawei AppGallery中做同样的事情?

11 个答案:

答案 0 :(得分:3)

我同意@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

答案 1 :(得分:2)

在华为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");

答案 2 :(得分:1)

您可以使用the badge service provided by HUAWEI AppGallery来推广您的应用程序,包括准备制作徽章的材料,配置应用程序链接以及获取引荐来源网址统计信息。借助该服务,您可以有效地收集有关AppGallery中应用下载的统计信息,并为用户提供静默安装服务,以提高促销效果。

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

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

检查以下屏幕截图: badge service

答案 3 :(得分:1)

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

答案 4 :(得分:1)

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

  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

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

希望对您有所帮助。

答案 5 :(得分:1)

似乎华为应用程序库现在可以使用适用于 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"

答案 6 :(得分:0)

好,兄弟。您可以使用软件包名称。 com.huawei.appmarket并使用Intent。这里有一个类似的问题。 Launch an application from another application on Android

无论做什么都祝您好运

答案 7 :(得分:0)

在Huawei App Gallery中打开您的应用程序类似于打开Goog​​le Play商店。

以下是华为应用程序库的摘录:

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

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

以下是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 Snippet中看到的那样,如果未找到Play应用,请直接在客户端的浏览器中打开网址。不幸的是,我还不知道华为的在线商店.....

就我而言,我的应用程序托管在两个商店中,因此我也将Google Play浏览器部分也复制到了华为代码段中。

答案 8 :(得分:0)

关于如何链接到AppGallery上的应用程序详细信息页面或应用程序列表页面:

•您引用的链接:here指向应用程序详细信息页面。华为确实通过AppGallery上的徽章服务支持应用程序详细信息页面。换句话说,您可以将Google链接替换为华为徽章链接。您可以在here

处获取徽章服务的详细信息

•对于在AppGallery上列出的应用,除部分受邀开发人员外,华为尚未向所有开发人员开放该功能。

希望获得帮助,并让我知道是否有任何问题。

答案 9 :(得分:0)

以下是直接启动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);

答案 10 :(得分:0)

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

无需进行任何配置,其余将由华为自动处理。

如何获取 YOUR_APP_ID?

  1. 转到Huawei App Gallery
  2. 搜索您的应用(例如 WeChat
  3. 复制链接末尾的 ID(例如 https://appgallery.huawei.com/#/app/C5683
  4. 在这种情况下,微信的 APP_ID 将是 C5683
  5. 因此,微信的华为应用链接将是 https://appgallery.cloud.huawei.com/ag/n/app/C5683

希望这有帮助!欣赏~