App Store評分方式
目前方式(無版本限制)
- 只能通過APP內部打開網頁形式,直接跳轉到App Store 編輯評論。在評分頁面,可以評分和評價,評論更有價值。缺點是跳轉到App Store,用戶的操作場景的轉換,會造成部分用戶使用的困擾,可能需要花費較長的等待時間,甚至加載失敗等,造成評價數量少。
iOS6 +
- 在APP內部加載App Store 展示APP信息,但不能直接跳轉到評論編輯頁面。再加載處App Store展示頁面後,需要手動點擊 評論→ 撰寫評論,多兩步操作,部分用戶可能存在操作障礙(找不到)。
iOS10.3 +
- APP內評分機制是iOS 10.3 中新添功能。用戶可以直接在 App 內進行評分,開發者可以對用戶在 App Store 的評論進行回覆。
- APP內評分調用API [SKStoreReviewController requestReview]; (目前唯一),應用會自動彈窗請求用戶評分,彈窗不可定製,對處理過程和處理結果無法監控。只能使用該 API 請求評分,不能請求評價和反饋。
- 一個應用內每年最多使用 3 次彈窗,濫用彈窗,會引起不少用戶的反感,甚至因此給應用差評。
- iOS10.3版本以前的評分方式依然可以使用。
評分接入方式
目前接入方式(無版本限制)
1、調用方法
- (void)showAppStoreReView
{
NSString *APPID = [PlistReader valueForKeyInConfig:@"APP_ID"];
NSString *appStoreReviewStr = [NSString stringWithFormat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",APPID];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:appStoreReviewStr]];
}
iOS6 + 接入方式
1、引入頭文件
#import <StoreKit/StoreKit.h>
2、遵循代理
SKStoreProductViewControllerDelegate
3、調用方法
- (void)showAppStoreReView
{
SKStoreProductViewController *storeProductViewContorller = [[SKStoreProductViewController alloc] init];
storeProductViewContorller.delegate = self;
//加載App Store視圖展示
[storeProductViewContorller loadProductWithParameters:
@{SKStoreProductParameterITunesItemIdentifier : [PlistReader valueForKeyInConfig:@"APP_ID"]} completionBlock:^(BOOL result, NSError *error) {
if(error) {
} else {
//模態彈出appstore
[self presentViewController:storeProductViewContorller animated:YES completion:^{
}];
}
}];
}
4、實現代理
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
[self dismissViewControllerAnimated:YES completion:^{
}];
}
iOS10.3 +
接入方式
1、引入頭文件
#import <StoreKit/StoreKit.h>
2、調用方法
- (void)showAppStoreReView
{
//僅支持iOS10.3+(需要做校驗) 且每個APP內每年最多彈出3次評分alart
if([SKStoreReviewController respondsToSelector:@selector(requestReview)]) {
//防止鍵盤遮擋
[[UIApplication sharedApplication].keyWindow endEditing:YES];
[SKStoreReviewController requestReview];
} else {
//不論iOS 版本均可使用APP內部打開網頁形式,跳轉到App Store 直接編輯評論
NSString *APPID = [PlistReader valueForKeyInConfig:@"APP_ID"];
NSString *nsStringToOpen = [NSString stringWithFormat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",APPID];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:nsStringToOpen]];
}
}
參考文檔:
具透 | iOS 10.3 新 App Store 評價機制詳解