我想把一个“率/审查这个应用程序”功能到我的应用程序。
是否存在一种方法能够直接链接到应用商店中他们评论应用的屏幕?所以用户不需要点击主应用程序链接。谢谢。
编辑:由于缺乏回应,开始赏金。为了确保这一点非常清楚:我知道我可以链接到应用商店中我的应用页面,并让用户从那里点击到“审查这款应用”屏幕。问题是是否有可能直接链接到“审查这个应用程序”屏幕,这样他们就不需要点击任何东西。
我想把一个“率/审查这个应用程序”功能到我的应用程序。
是否存在一种方法能够直接链接到应用商店中他们评论应用的屏幕?所以用户不需要点击主应用程序链接。谢谢。
编辑:由于缺乏回应,开始赏金。为了确保这一点非常清楚:我知道我可以链接到应用商店中我的应用页面,并让用户从那里点击到“审查这款应用”屏幕。问题是是否有可能直接链接到“审查这个应用程序”屏幕,这样他们就不需要点击任何东西。
当前回答
更新:
Swift 5.1, Xcode 11
在Real Device iOS 13.0上测试(保证正常工作)
import StoreKit
func rateApp() {
if #available(iOS 10.3, *) {
SKStoreReviewController.requestReview()
} else {
let appID = "Your App ID on App Store"
let urlStr = "https://itunes.apple.com/app/id\(appID)" // (Option 1) Open App Page
let urlStr = "https://itunes.apple.com/app/id\(appID)?action=write-review" // (Option 2) Open App Review Page
guard let url = URL(string: urlStr), UIApplication.shared.canOpenURL(url) else { return }
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url) // openURL(_:) is deprecated from iOS 10.
}
}
}
其他回答
在iOS 8和iOS 9上,Swift 2版本会将你带到应用的评论页面:
let appId = "YOUR_APP_ID"
let url = "itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=\(appId)"
UIApplication.sharedApplication().openURL(NSURL(string: url)!)
iOS 11解决方案
在新的iOS 11应用商店中,短的应用商店url无法正确打开“写评论”界面。例如,这是行不通的:
https://itunes.apple.com/app/id333903271?mt=8&action=write-review
解决方法是在URL中包含两个字母的国家代码和应用程序名称,例如:
https://itunes.apple.com/us/app/twitter/id333903271?mt=8&action=write-review
or
itms-apps://itunes.apple.com/us/app/twitter/id333903271?mt=8&action=write-review
你可以从这里获得应用程序的完整URL: https://linkmaker.itunes.apple.com/
这将成功打开iOS 11应用商店中的“写评论”界面。
编辑:正如下面@Theo提到的,如果应用程序名称发生变化,国家代码不需要本地化,URL中的应用程序名称也不需要更新。
希望苹果能尽快解决这个问题。看到rdar: / / 34498138
iOS 4抛弃了“删除速率”功能。
目前,对应用进行评级的唯一方式是通过iTunes。
编辑:链接可以通过iTunes Link Maker生成到你的应用。这个网站有一个教程。
您可以在url启动器函数中使用此链接
https://apps.apple.com/app/APP_ID?action=write-review
更新:
Swift 5.1, Xcode 11
在Real Device iOS 13.0上测试(保证正常工作)
import StoreKit
func rateApp() {
if #available(iOS 10.3, *) {
SKStoreReviewController.requestReview()
} else {
let appID = "Your App ID on App Store"
let urlStr = "https://itunes.apple.com/app/id\(appID)" // (Option 1) Open App Page
let urlStr = "https://itunes.apple.com/app/id\(appID)?action=write-review" // (Option 2) Open App Review Page
guard let url = URL(string: urlStr), UIApplication.shared.canOpenURL(url) else { return }
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url) // openURL(_:) is deprecated from iOS 10.
}
}
}