(一) 跳轉APP Store的方式,在APP Store應用內進行評分
實現方式:
以[[UIApplicationsharedApplication] openURL:url的方式去評分
iOS 7.0 以後 的url :@"https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%APPID&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8"
iOS 11之後可以直接跳轉到評分編輯頁面]
url:@"https://itunes.apple.com/us/app/twitter/idAPPID?mt=8&action=write-review"
NSString *str = [NSStringstringWithFormat:
@"https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%@&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8",你的APPID]; //appID 解釋如下
if ([[[UIDevicecurrentDevice] systemVersion]intValue]>=11) {
str = [NSStringstringWithFormat:
@"https://itunes.apple.com/us/app/twitter/id%@?mt=8&action=write-review",你的APPID];
}
NSURL *url = [NSURLURLWithString:str];
if ([[UIApplicationsharedApplication] canOpenURL:url])//判斷當前環境是否可以打開此url
{
[[UIApplicationsharedApplication] openURL:url];
}
(二) iOS 6+可以支持應用內評分
在APP內部加載App Store 展示APP信息頁面,但不能直接跳轉到評論編輯頁面。在加載處App Store展示頁面後,需要用戶去點擊評論→撰寫評論,多兩步操作,部分用戶可能存在操作障礙
實現方式:
1.引入 StoreKit庫
#import <StoreKit/StoreKit.h>
2.在使用的的類遵循SKStoreProductViewControllerDelegate協議
3.實現去評分跳轉方法,在要跳轉的地方直接調用即可
- (void)showAppStoreReView
{
SKStoreProductViewController*storeProductViewContorller = [[SKStoreProductViewControlleralloc] init];
storeProductViewContorller.delegate = self;
//加載App Store視圖展示
[storeProductViewContorller loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:@(1133379943)}completionBlock:^(BOOL result,NSError *error) {
if (result) {
[selfpresentViewController:storeProductViewContorlleranimated:YEScompletion:^{
}];
}else{
NSLog(@"錯誤:%@" ,error);
}
}];
}
//4、實現代理回調方法
-(void)productViewControllerDidFinish:(SKStoreProductViewController*)viewController {
[selfdismissViewControllerAnimated:YEScompletion:^{
}];
}
這樣就OK啦。
(三) iOS 10.3以後可以支持應用內彈框評分
此種方式會有以下問題
1、官方文當說評價的框受App
Store管理,所以may or may not彈出評價框,不建議用按鈕之類的主動彈出來,
2、把框彈出來之後,只能評價星星,不能填寫文字評價
3、網上說彈出次數是一年最多三次,
系統明確說了,不要用按鈕之類的主動調用(並不是每次調用就會出來
實現方式
1.引入 StoreKit庫
#import <StoreKit/StoreKit.h>
2.實現跳轉方法
- (void)showAppStoreReView{
//僅支持iOS10.3+(需要做校驗)且每個APP內每年最多彈出3次評分alart
if([SKStoreReviewControllerrespondsToSelector:@selector(requestReview)]){
//防止鍵盤遮擋
[[UIApplicationsharedApplication].keyWindowendEditing:YES];
[SKStoreReviewControllerrequestReview];//調用彈框
} else {
// 不論iOS 版本均可使用APP內部打開網頁形式,跳轉到App Store 直接編輯評論
NSString *urlString= NSString *str =[NSStringstringWithFormat:@"https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%@&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8",你的APPID];
if ([[UIApplicationsharedApplication] canOpenURL: urlString])//判斷當前環境是否可以打開此url
{
[[UIApplicationsharedApplication] openURL: urlString];
}
}
}