最初に、アプリを送信する前にリンクを取得する方法がわかりません。リンクが各国のアプリストア用であるか、それともユニバーサルですか。
また、それを行う方法が次のようにリンクを置くだけであるかどうかもわかりません:
@IBAction func rate(sender: AnyObject) {
UIApplication.sharedApplication().openURL(NSURL(string : "webLinkHere")!)
}
または、これを行うために別の方法を使用する必要がありますか?
ありがとう
これを試して、メソッド内のappIdをApp 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の取得方法:
これは私にとって最善の方法です。ユーザーをアプリケーションの「レビューを書く」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")
}
iOS 10.3以降
SKStoreReviewControllerを使用すると、ユーザーはダイアログボックスを介してアプリ内から直接アプリを評価できます。唯一のダウンサイトは、StoreKitにダイアログの表示のみを要求できるが、それが表示されるかどうかはわかりません。
import StoreKit
func requestToRate() {
SKStoreReviewController.requestReview()
}
次の関数を使用して、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)")!);
}
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)
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ページが開きます
警告:シミュレーターでアプリを実行している場合
UIApplication.sharedApplication().openURL(NSURL(string : "url")!)
シミュレーターにアプリストアがないため機能しません。この機能をテストするには、デバイスでアプリを実行する必要があります。
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
func rateApp(){
UIApplication.shared.open(URL(string : "itms-apps://iTunes.Apple.com/app/id959379869")!, options: [:]) { (done) in
// Handle results
}}
id959379869これは、アプリのiTunesページにアクセスするときのIDです
Itunesconnectアカウントに移動->マイアプリ->「+」ボタンをクリック->新規iOSアプリ->詳細を入力->すべての詳細を入力したらアプリに移動->その他のボタンをクリック-> AppStoreで表示->アプリのURLにリダイレクトします。これは普遍的であり、アプリの公開後も同じです。