30

私の顧客の1人は、人気のあるSamsungデバイスの多くで彼のフルアプリの「ライト」バージョンを宣伝することに熱心です。このライトバージョンはhttp://www.samsungapps.comにアップロードされ、ユーザーは「SamsungApps」アプリからダウンロードできるようになります。ライトバージョンは、フルアプリへのアプリ内リンクを備えています。

現在、SamsungのWebサイトで、Samsung Appsが取得して、アプリ全体の関連する詳細をユーザーに直接提示するために使用できる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));

それはすべて文書化されており、見つけるのは非常に簡単です。ただし、SamsungAppsが同様の動作に対して独自のURIスキームを提供しているかどうかはわかりません。

ここではAndroidデバイスについて話しているので、GooglePlayにリンクするだけでよいことをリリースします。サムスンがそこにある特定の製品にリンクする機能のない市場のようなシステムを提供するのは私には奇妙に思えるので、私は何かを見落としていると思います。

誰かがこれについて何か指針を持っていますか?私は実際に何かをテストするためのSamsungAppsと互換性のあるデバイスを持っていないことに注意してください。

4

3 に答える 3

47

それで、私はついに私の質問に対する答えをpdf文書に隠して見つけることができました。「SamsungAppsディープリンクガイド」というタイトルで、Samsungのリソースセンターからダウンロードできます。

Samsung Appsアプリで特定の画面を呼び出す方法に関する情報が含まれているドキュメント全体に興味がない場合は、答えは簡単です。Intent次の形式でのデータにURIを添付します。

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

たとえば、SamsungAppsのSamsungAppsアプリへの直接リンク(言い回しはまだ意味がありますか?)は次のようになります。

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

したがって、疑わしいように、アプリは実際にGooglePlayやAmazonと同様のURIスキームをサポートしています。

私はまだこれをテストできていないことに注意してください。しかし、最近(2012年4月27日から)この機能が突然機能しなくなったというフラグが立てられました。そのフラグへの応答によると、Samsungの開発者はそれを調査していますが、修正が確認されるまでこれを延期する可能性があります。

于 2012-04-28T06:28:59.237 に答える
11

パッケージ名でGooglePlay、Amazon Appstore、SamsungGalaxyAppsにリンクするために次のコードを使用します。

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

AndroidSamsungAppsの新しいドキュメントInterworkingGuideへのリンクは 次のとおりです

于 2014-12-04T23:06:13.810 に答える