30

我的一位客户热衷于在许多流行的三星设备上推广他的完整应用程序的“精简”版本。这个精简版将被上传到http://www.samsungapps.com,然后用户将能够通过“三星应用程序”应用程序下载它。精简版具有指向完整应用程序的应用程序内链接。

现在,我一直在三星的网站上搜索有关三星应用程序可以获取并用于直接向用户展示完整应用程序的相关详细信息的 URI 方案的任何信息。对于 Google Play 和 Amazon,您可以简单地使用特定的 URI 方案和应用程序的包名称触发意图;例如:

谷歌播放:

marketIntent.setData(Uri.parse("market://details?id=" + FULL_VERSION_PACKAGE_NAME));

亚马逊:

marketIntent.setData(Uri.parse("http://www.amazon.com/gp/mas/dl/android?p=" + FULL_VERSION_PACKAGE_NAME));

这一切都有据可查,而且很容易找到。但是,我无法弄清楚三星应用程序是否为类似行为提供了自己的 URI 方案。

我确实发布了,因为我们在这里讨论的是 Android 设备,所以我可以链接到 Google Play。对我来说,三星会提供一个类似市场的系统而无法链接到那里的特定产品,这让我觉得很奇怪,所以我希望我忽略了一些东西。

有人对此有任何指示吗?请注意,我没有与三星应用程序兼容的设备来实际测试任何东西。

4

3 回答 3

47

所以我终于设法找到隐藏在 pdf 文档中的问题的答案。它的标题是“Samsung Apps Deeplink Guide”,可以从三星的资源中心下载。

对于那些对整个文档不感兴趣的人,其中包含有关如何在三星应用程序中调用特定屏幕的一些信息,答案很简单。Intent使用以下格式将 URI 附加到的数据:

samsungapps://ProductDetail/<the package name of the AndroidManifest.xml>

例如,三星应用程序中的三星应用程序应用程序的直接链接(措辞仍然有意义?)将是:

samsungapps://ProductDetail/com.sec.android.app.samsungapps

因此,该应用程序确实支持类似于 Google Play 和 Amazon 的 URI 方案,正如怀疑的那样。

请注意,我还不能对此进行测试,但我确实遇到了一个最近提出的标志(从 2012 年 4 月 27 日开始),显然这个功能突然停止工作。根据对该标志的回复,三星开发人员正在对其进行调查,但我可能会暂缓此事,直到确认修复。

于 2012-04-28T06:28:59.237 回答
11

我使用以下代码通过包名称链接到 Google Play、Amazon Appstore 和 Samsung Galaxy Apps。

public static final String MARKET_GOOGLE_URL = "market://details?id=";
public static final String WEB_GOOGLE_URL = "http://play.google.com/store/apps/details?id=";

public static final String MARKET_SAMSUNG_URL = "samsungapps://ProductDetail/";
public static final String WEB_SAMSUNG_URL = "http://www.samsungapps.com/appquery/appDetail.as?appId=";

public static final String MARKET_AMAZON_URL = "amzn://apps/android?p=";
public static final String WEB_AMAZON_URL = "http://www.amazon.com/gp/mas/dl/android?p=";

public static void openOnMarket(String market, String web, Context context, String packageName) {

    try {
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(market + packageName));
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);
    } catch (android.content.ActivityNotFoundException anfe) {
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(web + packageName));
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);
    }

}


public static void openOnGooglePlayMarket(Context context, String packageName) {
    openOnMarket(MARKET_GOOGLE_URL, WEB_GOOGLE_URL, context, packageName);
}

public static void openOnSamsungMarket(Context context, String packageName) {
    openOnMarket(MARKET_SAMSUNG_URL, WEB_SAMSUNG_URL, context, packageName);
}

private static void openOnAmazonMarket(Context context, String packageName) {
    openOnMarket(MARKET_AMAZON_URL, WEB_AMAZON_URL, context, packageName);
}

起初尝试通过URI打开市场应用程序,但如果找不到打开Web链接。我希望这段代码对某人有用。

于 2015-02-10T21:54:28.290 回答
1

这是 Android Samsung Apps 的较新文档 互通指南的链接

于 2014-12-04T23:06:13.810 回答