web-dev-qa-db-ja.com

迅速にレートボタンのリンクを追加するにはどうすればよいですか?

最初に、アプリを送信する前にリンクを取得する方法がわかりません。リンクが各国のアプリストア用であるか、それともユニバーサルですか。

また、それを行う方法が次のようにリンクを置くだけであるかどうかもわかりません:

@IBAction func rate(sender: AnyObject) {
    UIApplication.sharedApplication().openURL(NSURL(string : "webLinkHere")!)
}

または、これを行うために別の方法を使用する必要がありますか?

ありがとう

54
Luis Felipe

これを試して、メソッド内のappIdApp IDで変更します

Swift 5

import StoreKit

func rateApp() {
    if #available(iOS 10.3, *) {
        SKStoreReviewController.requestReview()

    } else if let url = URL(string: "itms-apps://iTunes.Apple.com/app/" + "appId") {
        if #available(iOS 10, *) {
            UIApplication.shared.open(url, options: [:], completionHandler: nil)

        } else {
            UIApplication.shared.openURL(url)
        }
    }
}

Swift 3\4

func rateApp() {
    guard let url = URL(string: "itms-apps://iTunes.Apple.com/app/" + "appId") else {
        return
    }
    if #available(iOS 10, *) {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)

    } else {
        UIApplication.shared.openURL(url)
    }
}

id959379869これは、アプリのItuneページにアクセスするときのIDです

例:https://iTunes.Apple.com/fr/app/hipster-moustache/id959379869?mt = 8

IDの取得方法

  1. Itunesconnectアカウント
  2. 私のアプリ
  3. 「+」ボタンをクリックします
  4. 新しいiOSアプリ
  5. 記入が必要な詳細
  6. すべての詳細を入力した後、アプリに移動します
  7. [その他]ボタンをクリックします
  8. AppStoreで表示
  9. アプリのURLにリダイレクトされます。これはユニバーサルです
  10. Http URLを見る
104
YannSteph

これは私にとって最善の方法です。ユーザーをアプリケーションの「レビューを書く」composer)に直接誘導します。

Swift 3.1(iOS10以下のサポート)

新しいaction=write-review

let appID = "959379869"

if let checkURL = URL(string: "http://iTunes.Apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=\(appID)&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8") {
    open(url: checkURL)
} else {
    print("invalid url")
}

...

func open(url: URL) {
    if #available(iOS 10, *) {
        UIApplication.shared.open(url, options: [:], completionHandler: { (success) in
            print("Open \(url): \(success)")
        })
    } else if UIApplication.shared.openURL(url) {
            print("Open \(url)")
    }
}

テスト済みで動作Swift 2.2

let appID = "959379869" // Your AppID
if let checkURL = NSURL(string: "http://iTunes.Apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=\(appID)&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8") {
    if UIApplication.sharedApplication().openURL(checkURL) {
        print("url successfully opened")
    }
} else {
    print("invalid url")
}
26
Simon

iOS 10.3以降

SKStoreReviewControllerを使用すると、ユーザーはダイアログボックスを介してアプリ内から直接アプリを評価できます。唯一のダウンサイトは、StoreKitにダイアログの表示のみを要求できるが、それが表示されるかどうかはわかりません。

import StoreKit

func requestToRate() {
    SKStoreReviewController.requestReview()
}
14
Arvind

次の関数を使用して、APP_IDを自分のものに置き換えることができます。この関数を呼び出すと、アプリストアのリンクでアプリが開き、ユーザーはレビューページを表示し、クリックして簡単にレビューを書くことができます。

func rateApp(){
   UIApplication.sharedApplication().openURL(NSURL(string : "itms-apps://iTunes.Apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=\(APP_ID)&onlyLatestVersion=true&pageNumber=0&sortOrdering=1)")!);
}
13
Mahmud Ahsan

Swift 4

let url = URL(string: "itms-apps:iTunes.Apple.com/us/app/Apple-store/id\(YOURAPPID)?mt=8&action=write-review")!
UIApplication.shared.openURL(url)
13
Alfi

IOS 10.3以降では、シンプルなダイアログでSKStoreReviewControllerを使用し、アラートスタイルウィンドウで評価を選択できます。使用するには、StoreKitライブラリをインポートする必要があります。そのため、アプリ自体を評価する普遍的な方法は次のようになります。

import StoreKit

func rateApp(){
   if #available(iOS 10.3, *) {
      SKStoreReviewController.requestReview()
   } else {
      guard let url = URL(string: "itms-apps://iTunes.Apple.com/ru/app/cosmeteria/id1270174484") else {
         return
      }

      if #available(iOS 10.0, *) {
         UIApplication.shared.open(url, options: [:], completionHandler: nil)
      } else {
         UIApplication.shared.openURL(url)
      }
   }
}

そして、シミュレータで起動しようとすると、App Storeウィンドウが表示されないので、デバイスで試してみてください。この方法は、すべての機能を使用して、すべてのiOSバージョンをカバーします。また、アプリケーションアドレスのパスの一部「/ us/app」は、App Storeのローカライズを意味します。たとえば、「us」は米国を意味します。ブラウザでApp Storeでアプリを開くだけで、アドレス文字列でアプリIDを簡単に見つけることができます。リンクを取得するには、ブラウザでアドレスをコピーするだけです。 「itms-apps://」の「https://」を変更すると、App Storeアプリケーションでアプリを開くことができますが、「https」ではSafariでWebページが開きます

10
SergPanov

警告:シミュレーターでアプリを実行している場合

 UIApplication.sharedApplication().openURL(NSURL(string : "url")!) 

シミュレーターにアプリストアがないため機能しません。この機能をテストするには、デバイスでアプリを実行する必要があります。

7
Cliff Weitzman

Swift 5.0または4.2:次の関数は、アメリカのストアだけでなく、任意のストアのレビューセクションにユーザーを直接送信します。

func rateApp(id : String) {
    guard let url = URL(string : "itms-apps://iTunes.Apple.com/app/id\(id)?mt=8&action=write-review") else { return }
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    } else {
        UIApplication.shared.openURL(url)
    }
}

使用法:

rateApp(id: "1287000522")

重要な注意:これはシミュレータでは機能しません!実際のデバイスでテストします。

3
ThiagoAM

スイフト3

  func rateApp(){
UIApplication.shared.open(URL(string : "itms-apps://iTunes.Apple.com/app/id959379869")!, options: [:]) { (done) in
  // Handle results

}}

id959379869これは、アプリのiTunesページにアクセスするときのIDです

1
matiasverde

Itunesconnectアカウントに移動->マイアプリ->「+」ボタンをクリック->新規iOSアプリ->詳細を入力->すべての詳細を入力したらアプリに移動->その他のボタンをクリック-> AppStoreで表示->アプリのURLにリダイレクトします。これは普遍的であり、アプリの公開後も同じです。

1
Krunal Darji