在应用内弹出评分弹窗

2,785 阅读1分钟

对于上架到 App Store 的应用来说,评分的高低影响着这个 App 的命运,好的评分能够吸引更多的下载和安装。

iOS 10 之前,我们通常会在 App 内做一个去评分的引导,当用户点击去评分时,通过 openURL 的方式,跳转到 App Store 的评分页面。这样做有个问题,就是用户会离开当前的 App,导致真正去评分的用户非常少。

iOS 10.3 正式版本中,苹果推出了 SKStoreReviewController它会在你的应用屏幕上显示一个评分弹窗。用户无需跳转到 App Store 即可提交评分

根据以下几个步骤,只需几行代码就能搞定。

1. 导入框架 import StoreKit

2.检查版本

SKStoreReviewController 仅支持 iOS 10.3 及更高版本,如果是 iOS 10.3 以下的版本,可以直接跳转到 App Store,或者自定义一个评分弹窗。

if #available(iOS 10.3, *) {
    // 可以使用 SKStoreReviewController
} else {
    // 跳转自定义评分弹窗
}

3. 请求评分弹窗

if #available(iOS 10.3, *) {
    // 可以使用 SKStoreReviewController
    SKStoreReviewController.requestReview()
} else {
    // 跳转自定义评分弹窗
    UIApplication.shared.open(URL(string: "itms-apps://itunes.apple.com/app/{appid}?action=write-review")!)
}

注意把 {appid} 换成你的 App 在 App Store 的 ID

根据苹果的文档,使用 SKStoreReviewController 有几个注意事项:

  1. 不管你调用了多少次 requestReview 方法,这个弹窗一年最多只会弹出 3 次。

  2. Debug 模式下每次调用都会弹,TestFlight 包永远都不弹。

  3. 生产环境下,就像第一条说的,一年最多 3 次,弹不弹出由系统决定。

参考资料

[1]

苹果官方文档: developer.apple.com/documentati…

本文同步自微信公众号 “iOS新知”,每天准时分享一个新知识,快来关注我吧!