app內整合評分的方式有多種途徑,筆者大概總結以下三種
-
1.跳轉appStore評論
-
2.app內部展示ituns的詳情頁,實現app內部評論
-
3.使用iOS 10.3新特性,應用內評分
實現特點
三種方式均可實現評價功能,各自也有各自的特點:
一.跳轉AppStore評論是從iOS 2.0便沿用至今的方法,蘋果也推薦實現app跳轉實現評價功能,使用者可直接跳轉到對應app的評論頁進行評分+內容評價。效果如下:
二.app內展示詳情頁,使用的是SKStoreProductViewController
代理方法,是iOS 6.0後公開的api,相比因為直接是跳轉的ituns product頁面,所以需要使用者手動找到評價處。
三.自iOS 10.3後,蘋果公開了StoreKit
的api,使用者可在app內直接呼叫方法達到評價效果,但是隻有評分,並無具體評價內容入口,這對於收集使用者反饋顯然還是存在壁壘。
實現方法
下邊簡要介紹實現的方法
一.跳轉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>
- 實現方法
[SKStoreReviewController requestReview];
複製程式碼
完結