iOS10.3允許開發(fā)者敦促用戶在 App Store 上對應(yīng)用進行評分渊额。整個評分過程直接在 app 內(nèi)完成并提交董饰,不需要離開應(yīng)用壤巷。它使用的是以 iOS 系統(tǒng)規(guī)范設(shè)計中的彈窗提醒.
評分分類
- 跳轉(zhuǎn)App Store 的評論頁面
- 應(yīng)用內(nèi)部彈框提醒星評,但是不能撰寫評論,而且一年只允許彈出三次.慎重使用
代碼實現(xiàn):
#import<StoreKit/StoreKit.h>
- (void)addAppReview{
UIAlertController * alertVC = [UIAlertController alertControllerWithTitle:@"喜歡APP 么?給個五星好評吧親!" message:nil preferredStyle:UIAlertControllerStyleAlert];
//跳轉(zhuǎn)APPStore 中應(yīng)用的撰寫評價頁面
UIAlertAction *review = [UIAlertAction actionWithTitle:@"我要吐槽" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
NSURL *appReviewUrl = [NSURL URLWithString:[NSString stringWithFormat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",@"APPID"]];//換成你應(yīng)用的 APPID
CGFloat version = [[[UIDevice currentDevice]systemVersion]floatValue];
if (version >= 10.0) {
/// 大于等于10.0系統(tǒng)使用此openURL方法
[[UIApplication sharedApplication] openURL:appReviewUrl options:@{} completionHandler:nil];
}else{
[[UIApplication sharedApplication] openURL:appReviewUrl];
}
}];
//不做任何操作
UIAlertAction *noReview = [UIAlertAction actionWithTitle:@"用用再說" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
[alertVC removeFromParentViewController];
}];
[alertVC addAction:review];
[alertVC addAction:noReview];
//判斷系統(tǒng),是否添加五星好評的入口
if([SKStoreReviewController respondsToSelector:@selector(requestReview)]){
UIAlertAction *fiveStar = [UIAlertAction actionWithTitle:@"五星好評" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
[[UIApplication sharedApplication].keyWindow endEditing:YES];
[SKStoreReviewController requestReview];
}];
[alertVC addAction:fiveStar];
}
dispatch_async(dispatch_get_main_queue(), ^{
[self presentViewController:alertVC animated:YES completion:nil];
});
}
運行效果:
彈框效果圖
點擊"我要吐槽"跳轉(zhuǎn)
點擊"五星好評"彈框