1. 程式人生 > >iOS中在APP內加入AppStore評分功能

iOS中在APP內加入AppStore評分功能

iOS應用內部實現App Store評分功能,筆著整理總結有三種方式,各位可根據自己需求自己選擇。先介紹下評分功能實現的三種方式。

1,通用方式通過App內部開啟網頁形式,跳轉到AppStore編輯評論,可評分,可評論。

優點:方便,快捷,不受系統版本限制,目前最常用的方式。

缺點:內部網頁形式載入緩慢,等待時間長,載入失敗概率大。

2,iOS 6.0以後 在app內部載入AppStore 展示app資訊

優點:展示速度比方法三塊快

缺點:不能直接跳轉到評論編輯頁面,需要手動點選評論+編輯評論

3,iOS 10.0.3 新增應用內評分功能,呼叫系統方法評分。

優點:無須跳轉,應用內系統彈框,方便快速。

缺點:只能評分,且一年只能使用三次彈框。

開發步驟:

匯入標頭檔案 #import

1,iOS 10.0.3以後呼叫系統彈框評分


/**
 * 只能評分,不能編寫評論
 * 有次數限制,一年只能使用三次
 * 使用次數超限後,需要跳轉appstore
 */
- (IBAction)systemComentBtnAction:(UIButton *)sender {
if([SKStoreReviewController respondsToSelector:@selector(requestReview)]) {// iOS 10.3 以上支援
    //防止鍵盤遮擋
    [[UIApplication sharedApplication].keyWindow endEditing:YES];
    [SKStoreReviewController requestReview];
} 
}

2,跳轉到AppStore對應應用評論頁面


/**
 * 可評分評論,無次數限制
 */
- (IBAction)appStoreComentBtnAction:(UIButton *)sender {
NSString  * nsStringToOpen = [NSString  stringWithFormat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",@"AppID"];//替換為對應的APPID
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:nsStringToOpen]];
}

3,iOS 6.0以後的方法,內部載入AppStore


注:需簽署代理

/**
 * 在APP內部載入App Store 展示APP資訊,但不能直接跳轉到評論編輯頁面。
 * 再載入處App Store展示頁面後,需要手動點選 評論→ 撰寫評論
 */
- (IBAction)webAppStoreBtnAction:(UIButton *)sender {
SKStoreProductViewController *storeProductViewContorller = [[SKStoreProductViewController alloc] init];
storeProductViewContorller.delegate = self;
//載入App Store檢視展示
[storeProductViewContorller loadProductWithParameters:
  
 @{SKStoreProductParameterITunesItemIdentifier : @"APPID"} completionBlock:^(BOOL result, NSError *error) {
      
     if(error) {
          
     } else {
          
         //模態彈出appstore
          
         [self presentViewController:storeProductViewContorller animated:YES completion:^{
              
         }];
          
     }
      
 }];
}
// 代理方法
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
[self dismissViewControllerAnimated:YES completion:^{
     
}];
}