一、iOS App内评分
#import <StoreKit/StoreKit.h>
if (@available(iOS 10.3, *)) {
[SKStoreReviewController requestReview];
}
注意:
苹果官方说不能骚扰用户,因此使用此API有非常严格的限制:苹果规定,每台设备、每个App、每年只能弹出3次该提示窗口。
按苹果规定,每台设备、每个App、每年只能弹出3次该提示窗口,如果超过这个次数,则什么都不会显示。
虽然规定严格,但它非常方便,用户随手一点就可以给App评分了。再想想以前的方式:先离开App跳转到App Store,等待网络加载,在那么长的页面中找到评分入口。。。破坏用户使用App的整体性、影响用户心情、浪费用户时间、增加用户学习成本。。。可以说毫无优点。即便我自己作为一个开发者,都很少跳转到应用商店给App评分,但如果我发现哪个App使用了这个新API,我一般至少给个4星好评!举手之劳,何乐而不为呢?
因此,我们必须利用好每年的这3次机会。苹果官方的意思是,你应该在用户对你的App有了整体的了解,且对你的App感到满意的时候弹出窗口,请用户给予评分。
这么玄学的状态怎么把握呢?举个栗子,你的App是一款游戏,用户正在打关底boss,你肯定不想在这个时候弹出窗口让用户评分吧(保证他给你一星)?等他成功通关的时候,这时他正心满意足,肯定不介意赏你几颗星星。
新API虽然方便又好用,但是次数实在太少,而且弹出了用户可能也会点击“取消”,关键这也会使次数-1!而且,这个功能是有可能被用户关闭的,在系统设置->iTunes Store与App Store中可以找到“App内评分及评论”的开关,如果用户关闭了这个开关,则上面的窗口也不会弹出。
所以,我们还是需要有个跳转到App Store的方法做保障,在次数不足时(App中无法获取到“App内评分及评论”开关的状态)使用
二、跳转app store 页面评分
NSString *str = [NSStringstringWithFormat:@"https://itunes.apple.com/us/app/twitter/id%@?mt=8&action=write-review",你的APPID];
if ([[UIApplicationsharedApplication] canOpenURL:url])//判断当前环境是否可以打开此url
{
[[UIApplicationsharedApplication] openURL:url];
}