使用 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+ 更新

接受的答案解释了SKStoreProductViewControllerSKStoreReviewController 之间的区别,用于应用评分/评论。原题是在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有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)