http://blog.csdn.net/dolacmeng/article/details/70171548
【iOS】iOS10.3新增API:应用内评分
2017年04月14日 13:49:28 阅读数:10474 标签: ios评分requestRev应用 更多
个人分类: iOS
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dolacmeng/article/details/70171548
1、需求
在iOS10.3以前,APP引导用户评分时需要跳转到AppStore中操作,并且AppStore在国内有时加载会较慢,即便有的用户想给APP好评,但是等了几秒钟评分页面还没加载出来从而放弃。在iOS10.3中,苹果新增了APP内评分的新API,用户可以不用离开我们的APP,即可快速给应用打分。实现效果如图:
2、实现
而API使用方法也很简单,在需要弹出评分框的地方添加以下代码即可:
#import <StoreKit/StoreKit.h>
...
...
[SKStoreReviewController requestReview];
- 1
- 2
- 3
- 4
由于此API只支持iOS10.3+,因此应该先做版本判断,iOS10.3以下还是跳转到Appstore中进行评分,即将上面代码改为:
if([SKStoreReviewController respondsToSelector:@selector(requestReview)]){
[SKStoreReviewController requestReview];
}else{
NSString * nsStringToOpen = [NSString stringWithFormat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",@"1041804461"];//替换为对应的APPID
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:nsStringToOpen]];
}
- 1
- 2
- 3
- 4
- 5
- 6
3、优化
我们的目的是能得到用户的正反馈,如果在用户刚使用APP时就弹出评分框,可能会给某些用户带来反感,因此,我的做法是在用户第15次打开APP时,先弹出一个略带恳求语气的对话框(如下图),如果点我要吐槽则跳转自己实现的反馈页,即尽量保证只在忠实用户前才弹出真正的评分框。
4、注意点
*根据苹果的官方文档,在TestFlight环境下是不会弹出评分框的。
参考:苹果官方文档
原创文章,喜欢麻烦点个顶,转载著名出处:http://blog.csdn.net/dolacmeng/article/details/70171548