我怎样才能添加一个快速率按钮的链接?

首先,我不知道如何获得链接之前,我提交我的应用程序,如果链接是每个国家的应用程序商店或它是普遍的?

我也不知道是不是只需要把链接放在那里就可以了,比如:

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

或者我应该用另一种方式来做这件事?

谢谢

49731 次浏览

进入你的 itunesconnect 账户-> 我的应用-> 点击“ +”按钮-> 新 iOS 应用-> 填写需要的细节-> 填写所有细节后进入你的应用-> 点击更多按钮-> 查看应用商店-> 它会重定向到你的应用程序的 URL 这将是通用的,并将在你的应用程序启动后相同。

尝试此操作,通过 应用程序 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)
}
}
}

斯威夫特34

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/abc0?mt=8

如何获得 ID :

  1. Itunesconnect 帐户
  2. 我的应用
  3. 点击“ +”按钮
  4. 新的 iOS 应用程序
  5. 填写需要详细信息
  6. 在填写所有的细节到你的应用程序
  7. 点击更多按钮
  8. 查看 AppStore
  9. 它将重定向到您的应用程序的 URL,这将是通用的
  10. 查看 Http URL

您可以使用以下函数,并将 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 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")
}

警告: 如果你在模拟器上运行你的应用程序

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

不会工作,因为没有应用程序商店在模拟器。为了测试这个功能,你必须在设备上运行你的应用程序。

Swift 3

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


}}

Id959379869这是登录应用程序 iTunes 页面时的 ID

在 iOS 10.3 + 之后

SKStoreReviewController 允许用户通过对话框直接从应用程序内部对应用程序进行评级。唯一的缺点是您只能请求 StoreKit 显示对话框,但不能确定它是否会显示对话框。

import StoreKit


func requestToRate() {
SKStoreReviewController.requestReview()
}

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”中的部分路径表示应用程序商店的本地化,例如“ us”表示美国。你可以很容易地找到你的应用程序 ID 在地址字符串只需打开应用程序商店在任何浏览器。更改“ https://”为“ itms-apps://”允许您在 App Store 应用程序中打开应用程序,而“ https”在 Safari 中打开网页

Swift 5.1: 以下函数将用户直接发送到任何商店的评论部分,而不仅仅是美国商店的评论部分:

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")

重要提示: 这在模拟器上不起作用! 在真实设备上测试它。

这个链接在 应用程序商店中打开应用程序页面,然后显示 写评估报告

itms-apps://itunes.apple.com/app/id[APP_ID]?action=write-review

你可以在 应用程序商店连接中找到作为 苹果 ID的应用程序的详细信息。

如果你想直接写一篇评论而不是打开一个应用程序页面:

    if let url = URL(string: "https://itunes.apple.com/in/app/\(yourappname)/id\(yourAppleAppId)?ls=1&mt=8&action=write-review") {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
// Earlier versions
if UIApplication.shared.canOpenURL(url as URL) {
UIApplication.shared.openURL(url as URL)
}
}
}

以上所有的答案都不是最佳实践,它们可能会影响你的应用程序商店评分。为了获得最佳实践,请使用下面的代码。

func ReviewAppController() {
let alert = UIAlertController(title: "Feedback", message: "Are you enjoying our App?", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Dismis", style: .cancel, handler: nil))
alert.addAction(UIAlertAction(title: "Yes, i Love it!", style: .default, handler: {_ in
SKStoreReviewController.requestReview()
}))
alert.addAction(UIAlertAction(title: "No, this sucks!", style: .default, handler: {_ in
//Collect feedback
}))
present(alert, animated: true)
}