在 iOS 10.3 之前,如果你要给一个应用评分,那么你需要打开 App Store,搜索应用,找到评论,点击撰写评论,然后评分。整个评分流程非常繁琐,还要忍受漫长的页面加载,导致很少有用户愿意主动评分。为了鼓励更多的评分,许多开发者会在应用内弹窗引导用户前往 App Store 给自己的应用评分。
Apple 在 iOS 10.3 中引入了应用内评分机制。Apple 允许开发者以合适的方式在应用内请求用户评分,并提供了一个新的 API 来帮助开发者规范地使用弹窗。在新的机制下,当开发者使用该 API 时,应用会自动弹窗请求用户评分。和之前不同的是,用户不再需要前往 App Store,而是在应用内弹窗里直接给应用评分。 如下图:
Apple 同时对这个机制进行了一些限制。首先,开发者在一个应用内每年最多使用 3 次弹窗来请求用户评分。
代码实现如下:
引入:#import <StoreKit/StoreKit.h>
if([SKStoreReviewController respondsToSelector:@selector(requestReview)]) {// iOS 10.3 以上支持 [SKStoreReviewController requestReview]; } else { // iOS 10.3 之前的使用这个 NSString * nsStringToOpen = [NSString stringWithFormat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",APPID];//替换为对应的APPID [[UIApplication sharedApplication] openURL:[NSURL URLWithString:nsStringToOpen]]; }
在 iOS 10.3 之前,开发者不能回复 AppStore 中的用户评论,在 iOS 10.3 中,Apple 改变了这一机制,开始允许开发者回复 App Store 评论。在 App 的开发者管理后台 iTunes Connect 中,开发者在我的 App —— 活动 —— 评分与评论里能看到用户给 App 留下的评论,并可以选择某一条评论进行回复。