748

iPhone ゲームの無料版を作成しています。無料版の中に、アプリ ストアの有料版に移動するためのボタンを配置したいと考えています。標準リンクを使用する場合

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=300136119&mt=8

iPhone は最初に Safari を開き、次にアプリ ストアを開きます。アプリストアを直接開く他のアプリを使用したことがあるので、それが可能であることはわかっています。

何か案は?アプリ ストアの URL スキームは何ですか?

4

25 に答える 25

808

2016-02-02 編集

iOS 6 からSKStoreProductViewControllerクラスが導入されました。アプリを終了せずにアプリをリンクできます。Swift 3.x/2.xおよびObjective-C のコード スニペットはこちらです。

SKStoreProductViewControllerオブジェクトは、ユーザーが App Store から他のメディアを購入できるストアを表示しますたとえば、アプリでストアを表示して、ユーザーが別のアプリを購入できるようにすることができます。


Apple 開発者向けのニュースとお知らせから.

iTunes リンクを使用して App Store のアプリに直接顧客を誘導する iTunes リンクを使用すると、Web サイトやマーケティング キャンペーンから直接 App Store のアプリにアクセスする簡単な方法を顧客に提供できます。iTunes リンクの作成は簡単で、単一のアプリ、すべてのアプリ、または会社名が指定された特定のアプリに顧客を誘導することができます。

顧客を特定のアプリケーションに誘導するには: http://itunes.com/apps/appname

App Store にあるアプリのリストに顧客を送るには: http://itunes.com/apps/developername

URL に会社名が含まれる特定のアプリに顧客を誘導するには: http://itunes.com/apps/developername/appname


その他の注意事項:

http://リダイレクトを置き換えるitms://itms-apps://、リダイレクトを回避することができます。

itms://ユーザーをiTunes ストアに送信し、ユーザーをApp Storeitms-apps://に送信することに注意してください

命名の詳細については、Apple QA1633 を参照してください。

https://developer.apple.com/library/content/qa/qa1633/_index.html .

編集(2015年1月現在):

itunes.com/apps リンクを appstore.com/apps に更新する必要があります。更新された上記の QA1633 を参照してください。新しいQA1629 では、アプリからストアを起動するための次の手順とコードが提案されています。

  1. コンピューターで iTunes を起動します。
  2. リンクするアイテムを検索します。
  3. iTunes でアイテムの名前を右クリックまたは Control キーを押しながらクリックし、ポップアップ メニューから [iTunes Store URL をコピー] を選択します。
  4. アプリケーションでNSURL、コピーした iTunes URL を使用してオブジェクトを作成し、このオブジェクトをUIApplications openURL: メソッドに渡して、App Store でアイテムを開きます。

サンプルコード:

NSString *iTunesLink = @"itms://itunes.apple.com/app/apple-store/id375380948?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];

iOS10+:

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink] options:@{} completionHandler:nil];

スウィフト 4.2

   let urlStr = "itms-apps://itunes.apple.com/app/apple-store/id375380948?mt=8"
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(URL(string: urlStr)!, options: [:], completionHandler: nil)
        
    } else {
        UIApplication.shared.openURL(URL(string: urlStr)!)
    }
于 2010-02-25T21:03:08.150 に答える
368

アプリを直接 App Store で開きたい場合は、次を使用する必要があります。

itms-apps://...

この方法では、最初に iTunes に移動する代わりに、デバイスで App Store アプリを直接開き、次に App Store のみを開きます (itms:// のみを使用する場合)。

それが役立つことを願っています。


編集: 2017 年 4 月。 itms-apps:// は、実際には iOS10 で再び機能します。私はそれをテストしました。

編集: 2013 年 4 月。これは iOS5 以降では機能しなくなりました。使うだけ

https://itunes.apple.com/app/id378458261

リダイレクトはもうありません。

于 2010-12-30T07:53:24.950 に答える
41

Apple は appstore.com の URL を発表しました。

https://developer.apple.com/library/ios/qa/qa1633/_index.html

App Store ショート リンクには 3 つのタイプがあり、1 つは iOS アプリ用、もう 1 つは Mac アプリ用の 2 つの形式があります。

会社名

iOS: http://appstore.com/例: http://appstore.com/apple

Mac: http://appstore.com/mac/例: http://appstore.com/mac/apple

アプリ名

iOS: http://appstore.com/例: http://appstore.com/keynote

Mac: http://appstore.com/mac/例: http://appstore.com/mac/keynote

会社別アプリ

iOS: http://appstore.com/ / 例: http://appstore.com/apple/keynote

Mac: http://appstore.com/mac/ / 例: http://appstore.com/mac/apple/keynote

ほとんどの企業とアプリには、正規の App Store ショート リンクがあります。この正規 URL は、特定の文字を変更または削除することによって作成されます (その多くは違法であるか、URL で特別な意味を持ちます (「&」など))。

App Store ショート リンクを作成するには、会社名またはアプリ名に次のルールを適用します。

すべての空白を削除

すべての文字を小文字に変換する

著作権 (©)、商標 (™)、および登録商標 (®) 記号をすべて削除します。

アンパサンド (「&」) を「and」に置き換えます。

ほとんどの句読点を削除します (セットについてはリスト 2 を参照してください)。

アクセント付きおよびその他の「装飾」文字 (ü、å など) を基本文字 (u、a など) に置き換えます。

他のすべての文字はそのままにしておきます。

リスト 2 削除する必要のある句読点。

!¡"#$%'()*+,-./:;<=>¿?@[]^_`{|}~

以下は、行われる変換を示すためのいくつかの例です。

アプリストア

会社名の例

ゲームロフト => http://appstore.com/gameloft

Activision Publishing, Inc. => http://appstore.com/activisionpublishinginc

チェンの写真 & ソフトウェア => http://appstore.com/chensphotographyandsoftware

アプリ名の例

オカリナ => http://appstore.com/ocarina

私のペリーはどこ?=> http://appstore.com/wheresmyperry

Brain Challenge™ => http://appstore.com/brainhallenge

于 2013-10-14T17:50:18.650 に答える
41

2015年夏以降...

-(IBAction)clickedUpdate
{
    NSString *simple = @"itms-apps://itunes.apple.com/app/id1234567890";
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:simple]];
}

「id1234567890」を「id」と「あなたの 10 桁の番号」に置き換えます

  1. これは、すべてのデバイスで完全に機能します。

  2. アプリストアに直接アクセスし、リダイレクトはありません。

  3. 全国全店OKです。

  4. の使用に移行する 必要があるのは事実です、リンクの目的が実際に使用しているアプリを更新することである場合は、この「昔ながらの」アプローチを使用する方がよい可能性があります。loadProductWithParameters

于 2015-08-14T15:55:58.037 に答える
33

リダイレクトなしで直接リンクするには:

  1. iTunes リンク メーカーhttp://itunes.apple.com/linkmaker/を使用して、実際の直接リンクを取得します。
  2. http://をに置き換えますitms-apps://
  3. でリンクを開く[[UIApplication sharedApplication] openURL:url];

これらのリンクは、シミュレーターではなく、実際のデバイスでのみ機能することに注意してください。

ソース: https://developer.apple.com/library/ios/#qa/qa2008/qa1629.html

于 2012-05-29T07:01:53.020 に答える
31

このコードは、iOS で App Store のリンクを生成します

NSString *appName = [NSString stringWithString:[[[NSBundle mainBundle] infoDictionary]   objectForKey:@"CFBundleName"]];
NSURL *appStoreURL = [NSURL URLWithString:[NSString stringWithFormat:@"itms-apps://itunes.com/app/%@",[appName stringByReplacingOccurrencesOfString:@" " withString:@""]]];

Mac では itms-apps を http に置き換えます。

NSURL *appStoreURL = [NSURL URLWithString:[NSString stringWithFormat:@"http:/itunes.com/app/%@",[appName stringByReplacingOccurrencesOfString:@" " withString:@""]]]; 

iOS で URL を開く:

[[UIApplication sharedApplication] openURL:appStoreURL];

マック:

[[NSWorkspace sharedWorkspace] openURL:appStoreURL];
于 2012-03-01T03:14:49.903 に答える
28

アプリのリンクで「itunes」を「phobos」に変更するだけです。

http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=300136119&mt=8

これで、App Store が直接開きます

于 2009-01-11T23:41:54.240 に答える
18

これは、APPIDのみを使用して完全に機能しました。

 NSString *urlString = [NSString stringWithFormat:@"http://itunes.apple.com/app/id%@",YOUR_APP_ID];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];

リダイレクトの数はゼロです。

于 2012-07-17T04:24:46.590 に答える
13

多くの回答で「itms」または「itms-apps」の使用が提案されていますが、この方法は Apple によって特に推奨されていません。App Store を開くには、次の方法しか提供していません。

リスト 1 iOS アプリケーションから App Store を起動する

NSString *iTunesLink = @"https://itunes.apple.com/us/app/apple-store/id375380948?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];

この回答の時点で、 https://developer.apple.com/library/ios/qa/qa1629/_index.html最終更新日は 2014 年 3 月です。

iOS 6 以降をサポートするアプリの場合、Apple は App Store を表示するためのアプリ内メカニズムを提供します。SKStoreProductViewController

- (void)loadProductWithParameters:(NSDictionary *)parameters completionBlock:(void (^)(BOOL result, NSError *error))block;

// Example:
SKStoreProductViewController* spvc = [[SKStoreProductViewController alloc] init];
spvc.delegate = self;
[spvc loadProductWithParameters:@{ SKStoreProductParameterITunesItemIdentifier : @(364709193) } completionBlock:^(BOOL result, NSError *error){ 
    if (error)
        // Show sorry
    else
        // Present spvc
}];

iOS6 では、エラーがあると完了ブロックが呼び出されない場合があることに注意してください。これは、iOS 7 で解決されたバグのようです。

于 2014-06-17T21:29:28.107 に答える
11

リンク メーカー ( http://itunes.apple.com/linkmaker/ ) を介して、App Store または iTunes の特定のアイテムへのリンクを取得できます。

于 2013-03-24T23:07:10.563 に答える
9

これは機能しており、ios5で直接リンクしています

NSString *iTunesLink = @"http://itunes.apple.com/app/baseball-stats-tracker-touch/id490256272?mt=8";  
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
于 2012-01-07T08:07:03.773 に答える
8

これは、アプリ ストアにある他の既存のアプリケーションをリダイレクト/リンクする簡単で短い方法です。

 NSString *customURL = @"http://itunes.apple.com/app/id951386316";

 if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:customURL]])
 {
       [[UIApplication sharedApplication] openURL:[NSURL URLWithString:customURL]];
 } 
于 2015-01-09T06:09:54.997 に答える
4

複数の OS と複数のプラットフォームをサポートする場合、リンクの作成は複雑な問題になる可能性があります。たとえば、WebObjects は iOS 7 (それらの一部) ではサポートされていません。作成したリンクによっては、別の国のストアが開き、ユーザーのものなどがあります。

あなたを助けることができるiLinkと呼ばれるオープンソースライブラリがあります。

このライブラリの利点は、リンクが実行時に検出および作成されることです (ライブラリはアプリ ID と実行中の OS をチェックし、どのリンクを作成する必要があるかを判断します)。これの最も良い点は、使用する前にほとんど何も構成する必要がないため、エラーがなく、常に機能することです。これは、同じプロジェクトにターゲットがほとんどない場合にも優れているため、使用するアプリ ID またはリンクを覚えておく必要はありません。このライブラリは、ストアに新しいバージョンがある場合 (これは組み込みであり、単純なフラグでこれをオフにします)、ユーザーが同意した場合にアプリのアップグレード ページを直接指す場合、ユーザーにアプリのアップグレードを求めるプロンプトも表示します。

2 つのライブラリ ファイルをプロジェクトにコピーします (iLink.h と iLink.m)。

appDelegate.m で:

#import "iLink.h"

+ (void)initialize
{
    //configure iLink
    [iLink sharedInstance].globalPromptForUpdate = YES; // If you want iLink to prompt user to update when the app is old.
}

評価ページを開きたい場所で、たとえば次のように使用します。

[[iLink sharedInstance] iLinkOpenAppPageInAppStoreWithAppleID: YOUR_PAID_APP_APPLE_ID]; // You should find YOUR_PAID_APP_APPLE_ID from iTunes Connect 

同じファイルに iLink.h をインポートすることを忘れないでください。

ライブラリ全体の非常に優れたドキュメントと、iPhone および Mac 用のサンプル プロジェクトがあります。

于 2014-08-10T09:27:11.307 に答える
1

App Storeが直接開きます

NSString *iTunesLink = @"itms-apps://itunes.apple.com/app/ebl- 
skybanking/id1171655193?mt=8";

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
于 2019-07-30T07:42:34.430 に答える
0

この方法を試してください

http://itunes.apple.com/lookup?id=「ここにあなたのアプリ ID」 json を返します。これから、キー「trackViewUrl」を見つけ、値は目的の URL です。この URL を使用します (単に に置き換えますhttps://) itms-apps://。これは問題なく動作します。

たとえば、アプリ ID が xyz の場合、このリンクに移動します http://itunes.apple.com/lookup?id=xyz

次に、キー「trackViewUrl 」の URL を見つけます。これはアプリ ストア内のアプリの URL であり、xcode でこの URL を使用するには、これを試してください

NSString *iTunesLink = @"itms-apps://itunes.apple.com/us/app/Your app name/id Your app ID?mt=8&uo=4";
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];

ありがとう

于 2013-12-26T07:32:19.680 に答える