StoreKit API(iOS 10.3 及更高版本)
从 iOS 10.3 开始,StoreKit API 提供了一种无需离开应用程序即可在 App Store 上请求审核的方法。当被调用时,系统可能会向用户显示请求审查的警报。用户可以直接在警报内提供星级,继续撰写评论,或关闭警报。 StoreKit 几乎可以为您处理所有事情。要提出审核请求,请在您的应用程序中适当的位置进行以下调用:
// Objective-C
[SKStoreReviewController requestReview]
// Swift
SKStoreReviewController.requestReview()
根据 Apple 的说明,您不应调用这些来响应直接用户交互(即点击“写评论”按钮),因为它可能并不总是显示警报。事实上,该警报每 365 天只能显示 3 次。
重要的提示:虽然这看起来相当简单,但您仍然需要编写某种逻辑来间隔提示。例如,仅在 X 次启动、X 天或重大事件后才显示提示。
如果您未能执行此操作,而只是将审阅提示粘贴在任意位置(aviewDidAppear
例如,调用),您的用户会相当恼火,因为他们会很快且重复地看到它。然后,他们要么留下不好的评论(因为他们很恼火),要么一整年都没有被要求再次评论。
下面是警报的示例。有关更多信息,请参阅苹果的文档 https://developer.apple.com/app-store/ratings-and-reviews/.
iRate(iOS 7.0 及更高版本)
如果您的应用程序在早于 10.3 的 iOS 版本上运行or您需要对请求用户评分进行更强大的控制,iRate 是一个很好的解决方案。
对于运行 iOS 10.3 或更高版本的设备,iRate 使用上述 StoreKit API。对于运行 iOS 7.0 至 10.2 的设备,iRate 使用uialert视图 /questions/tagged/uialertview and storekit /questions/tagged/storekit询问用户评分(或稍后提醒他们)。从“取消”按钮的标题到提醒用户的时间间隔,一切都是可定制的。
默认情况下,iRate 在满足某些要求时自动打开(例如应用程序启动 X 次、用户通过 X 级),但您也可以使用各种方法和您自己的逻辑(在 iRate 方法的帮助下)来手动显示 iRate 弹出窗口。
Setup
安装时,只需将头文件、实现文件和.bundle
(用于本地化)到您的项目中。
- 在您的 AppDelegate 中导入标头:
#import "iRate.h"
- Add the StoreKit您的项目框架 - 更多信息Apple 文档中的 StoreKit http://developer.apple.com/library/ios/#documentation/StoreKit/Reference/StoreKit_Collection/_index.html
-
In your application: didFinishLaunchingWithOptions:
方法,设置以下内容:
// Configure iRate
[iRate sharedInstance].daysUntilPrompt = 5;
[iRate sharedInstance].usesUntilPrompt = 15;
特性
下面的属性对于测试目的很有用。将其设置为YES
在测试期间确保对话框正确显示。当设置为YES
它将在启动时立即出现,忽略其他显示设置。将其设置为NO
对于您的应用程序的发行版本。
[iRate sharedInstance].previewMode = NO;
The appStoreID
属性允许您设置应用程序的 ID。这是仅当您的 Mac 和 iOS 应用程序具有相同的捆绑包标识符时才需要。此处设置的 App ID 还必须与 Xcode 和 iTunes Connect 中设置的 Bundle ID 匹配:
[iRate sharedInstance].appStoreID = 555555555;
更多细节 https://github.com/nicklockwood/iRate可在 iRate GitHub 页面上找到。