iOS應用評分簡述

西門吹霧發表於2018-01-01

app內整合評分的方式有多種途徑,筆者大概總結以下三種

  • 1.跳轉appStore評論

  • 2.app內部展示ituns的詳情頁,實現app內部評論

  • 3.使用iOS 10.3新特性,應用內評分


實現特點

三種方式均可實現評價功能,各自也有各自的特點:

一.跳轉AppStore評論是從iOS 2.0便沿用至今的方法,蘋果也推薦實現app跳轉實現評價功能,使用者可直接跳轉到對應app的評論頁進行評分+內容評價。效果如下:

iOS應用評分簡述

二.app內展示詳情頁,使用的是SKStoreProductViewController代理方法,是iOS 6.0後公開的api,相比因為直接是跳轉的ituns product頁面,所以需要使用者手動找到評價處。

iOS應用評分簡述

三.自iOS 10.3後,蘋果公開了StoreKit的api,使用者可在app內直接呼叫方法達到評價效果,但是隻有評分,並無具體評價內容入口,這對於收集使用者反饋顯然還是存在壁壘。

iOS應用評分簡述


實現方法

下邊簡要介紹實現的方法

一.跳轉appStore評價頁

 NSString  * nsStringToOpen = [NSString  stringWithFormat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",@"APPID"];替換為對應的APPID
 
 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:nsStringToOpen]];
複製程式碼

二.app內部展示產品頁評價

1 . 引入#import <StoreKit/StoreKit.h>

2 . 遵循 SKStoreProductViewControllerDelegate

3 . 引入方法

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:^{
      }];
      }
  }];
複製程式碼

4.實現SKStoreProductViewControllerDelegate代理方法

(void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
    [self dismissViewControllerAnimated:YES completion:^{
        
    }];
}
複製程式碼

三.應用內星級評價

1 . 引入#import <StoreKit/StoreKit.h>

  1. 實現方法
[SKStoreReviewController requestReview];
複製程式碼

完結

相關文章