使用 SKStoreProductViewController 或 SKStoreReviewController 进行应用评分/评论?
Posted
技术标签:
【中文标题】使用 SKStoreProductViewController 或 SKStoreReviewController 进行应用评分/评论?【英文标题】:Use SKStoreProductViewController or SKStoreReviewController for app rating / review? 【发布时间】:2016-04-11 09:34:15 【问题描述】:有很多关于 SO 的文章表明SKStoreProductViewController
禁用了“写评论”按钮。然而,所有这些 SO 文章都有多年的历史,SKStoreProductViewController
的苹果文档没有提到这个限制。
在 ios 9.3.2 中测试时,该按钮并未显示为禁用状态,但在点击它时根本没有任何反应,这不仅让开发人员感到困惑,也让用户感到困惑,这似乎不对。
iOS 9 也是这样
引导用户“更接近”应用评论页面的唯一方法是打开预加载了应用产品页面的 App Store 应用? 如果不让用户离开应用程序,有没有办法做到这一点? 有没有办法将用户直接引导到评论页面,只能到产品页面?iOS 10.3+ 更新
接受的答案解释了SKStoreProductViewController
和SKStoreReviewController
之间的区别,用于应用评分/评论。原题是在SKStoreReviewController
引入之前写的。
【问题讨论】:
【参考方案1】:显然SKStoreProductViewController
仅用于在 App Store 上购买应用程序,而不是用于审查产品。这可以从苹果docs中隐含理解:
一个 SKStoreProductViewController 对象表示一个 允许 用户从 App Store 购买其他媒体。例如,您的应用 可能会显示商店以允许用户购买其他应用。
只要存在此限制,唯一的解决方法就是深度链接到 App Store 应用,例如
let url = NSURLComponents(string: "itms-apps://itunes.apple.com/app/id\(yourAppleAppId)")!
UIApplication.sharedApplication().openURL(url)
iOS 10.3+ 更新
SKStoreReviewController
允许用户通过对话框直接从应用程序内对应用程序进行评分。唯一的缺点是您只能请求StoreKit
显示对话框,但不能确定是否会。
告诉 StoreKit 要求用户对您的应用进行评分或评论,如果 合适。
请注意,随着 SKStoreReviewController
的引入,Apple 可能会在不久的将来禁止自定义应用评分和评论提示。应用审核指南指出:
使用提供的 API 提示用户审核您的应用;这 功能允许客户提供 App Store 评级和 无需离开您的应用即可进行审核,我们会 禁止自定义审核提示。
目前的一个缺点,可能也是仍然允许自定义评论提示的原因,是 Apple 尚未提供 API 来获取评论指标并发布对书面评论的回复。目前唯一通过iTunes Connect
的解决方案,对于客户服务环境中的大规模和性能要求不实用。
【讨论】:
太可惜了!一直在寻找解决此问题的方法。 @socca1157 iOS 10 来救援。 在IOS10上,还是一样的:/ iOS 10.3 来救援!SKStoreViewController
可以评价 iOS 10.3.3 上的另一个应用程序;不知道iOS 10.2或更早的版本能不能做到。【参考方案2】:
你要找的是
import StoreKit
func someFunction()
SKStoreReviewController.requestReview()
但它刚刚与 10.3 一起发布,因此您仍然需要一些如上所述的旧版本的后备方法
【讨论】:
以上是关于使用 SKStoreProductViewController 或 SKStoreReviewController 进行应用评分/评论?的主要内容,如果未能解决你的问题,请参考以下文章
在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?
Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)