iOS應(yīng)用內(nèi)集成AppStore評分功能

簡介:

iOS應(yīng)用內(nèi)部實(shí)現(xiàn)App Store評分功能,筆著整理總結(jié)有三種方式,各位可根據(jù)自己需求自己選擇。先介紹下評分功能實(shí)現(xiàn)的三種方式。

1,通用方式通過App內(nèi)部打開網(wǎng)頁形式,跳轉(zhuǎn)到AppStore編輯評論,可評分,可評論。

優(yōu)點(diǎn):方便,快捷,不受系統(tǒng)版本限制,目前最常用的方式。
缺點(diǎn):內(nèi)部網(wǎng)頁形式加載緩慢,等待時(shí)間長,加載失敗概率大。

2,iOS 6.0以后 在app內(nèi)部加載AppStore 展示app信息

優(yōu)點(diǎn):展示速度比方法三塊快
缺點(diǎn):不能直接跳轉(zhuǎn)到評論編輯頁面,需要手動點(diǎn)擊評論+編輯評論

3,iOS 10.0.3 新增應(yīng)用內(nèi)評分功能,調(diào)用系統(tǒng)方法評分。

優(yōu)點(diǎn):無須跳轉(zhuǎn),應(yīng)用內(nèi)系統(tǒng)彈框,方便快速。
缺點(diǎn):只能評分,且一年只能使用三次彈框。

開發(fā)步驟:

導(dǎo)入頭文件 #import <StoreKit/StoreKit.h>

1,iOS 10.0.3以后調(diào)用系統(tǒng)彈框評分

IMG_2068.PNG
/**
 * 只能評分,不能編寫評論
 * 有次數(shù)限制,一年只能使用三次
 * 使用次數(shù)超限后,需要跳轉(zhuǎn)appstore
 */
- (IBAction)systemComentBtnAction:(UIButton *)sender {

if([SKStoreReviewController respondsToSelector:@selector(requestReview)]) {// iOS 10.3 以上支持
    //防止鍵盤遮擋
    [[UIApplication sharedApplication].keyWindow endEditing:YES];
    [SKStoreReviewController requestReview];
} 
}

2,跳轉(zhuǎn)到AppStore對應(yīng)應(yīng)用評論頁面

IMG_2070.PNG
/**
 * 可評分評論,無次數(shù)限制
 */
- (IBAction)appStoreComentBtnAction:(UIButton *)sender {

NSString  * nsStringToOpen = [NSString  stringWithFormat: @"itms-apps://itunes.apple.com/app/id%@?action=write-review",@"AppID"];//替換為對應(yīng)的APPID
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:nsStringToOpen]];

}

3,iOS 6.0以后的方法,內(nèi)部加載AppStore
IMG_2071.PNG

注:需簽署代理 <SKStoreProductViewControllerDelegate>

/**
 * 在APP內(nèi)部加載App Store 展示APP信息,但不能直接跳轉(zhuǎn)到評論編輯頁面。
 * 再加載處App Store展示頁面后,需要手動點(diǎn)擊 評論→ 撰寫評論
 */
- (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 {
         
         //模態(tài)彈出appstore
         
         [self presentViewController:storeProductViewContorller animated:YES completion:^{
             
         }];
         
     }
     
 }];
}
// 代理方法
- (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {

[self dismissViewControllerAnimated:YES completion:^{
    
}];

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容