iOS10.3 新特性之商店評(píng)定等級(jí)和評(píng)論,開發(fā)階段只能測(cè)試評(píng)分,無法顯示評(píng)論的,現(xiàn)在已更正。關(guān)于跳轉(zhuǎn)蘋果商店評(píng)論內(nèi)容,保留原先的代碼。應(yīng)用內(nèi)是先評(píng)分再評(píng)論的,請(qǐng)參見脈脈的商店評(píng)分評(píng)論截圖。


一、簡(jiǎn)介
老用戶給自己用過的app評(píng)等級(jí)和評(píng)論,這樣讓開發(fā)人員不斷完善自己的應(yīng)用,而且給新用戶提供參考。用戶可以看已經(jīng)下載應(yīng)用的等級(jí)和評(píng)論。
其效果圖如下:


在iOS應(yīng)用和Mac應(yīng)用上,應(yīng)用的等級(jí)是從1到5級(jí),用戶可以增加評(píng)論。當(dāng)用戶下載應(yīng)用時(shí),蘋果商店默認(rèn)展示最新應(yīng)用的等級(jí)和評(píng)論。一旦你的應(yīng)用被評(píng)論,你可以用iTunes連接去看用戶評(píng)論,
二、請(qǐng)用戶評(píng)等級(jí)和評(píng)論
在蘋果商店中,可以用戶評(píng)定等級(jí)和評(píng)論。如果要想實(shí)現(xiàn)這些操作,并且不離開應(yīng)用時(shí),請(qǐng)使用SKStoreReviewController類。一年可以讓用戶評(píng)論和評(píng)定等級(jí)三次,用戶可以提交評(píng)論的等級(jí)和用 Touch ID 授權(quán)來寫和提交評(píng)論。如何實(shí)現(xiàn)請(qǐng)客戶評(píng)級(jí)和評(píng)論,請(qǐng)參照skstore-rviewcontroller API。
human-interface-guidelines
SKStore?Review?Controller API
三、回復(fù)用戶評(píng)論
可以在蘋果商店中回復(fù)用戶信息。不管什么時(shí)候,都可以回復(fù)所有用戶的評(píng)論。當(dāng)你回復(fù)用戶評(píng)論時(shí),用戶會(huì)被通知并可以用戶選擇去修改應(yīng)用等級(jí)。你隨時(shí)可以編輯你的回復(fù),而在蘋果商店只會(huì)有一條回復(fù)。如何回復(fù)和寫回復(fù)草稿,請(qǐng)參照如下:
Monitoring Reviews: iTunes Connect Developer Guide
Responding to Reviews on the App Store
四、代碼的實(shí)現(xiàn)
如下是兩種商店評(píng)論方式實(shí)現(xiàn),另外SKStoreReviewController類建議不能用按鈕觸發(fā)商店評(píng)論請(qǐng)求。
//評(píng)星方法
- (void)SKrequestReview {
if (_version.doubleValue >= 10.3) {
[SKStoreReviewController requestReview];
}else{
NSLog(@"系統(tǒng)版本小于10.3 方法無效");
}
}
//鏈接跳轉(zhuǎn)方法 注:因?yàn)槟M器沒有app商店,所以跳轉(zhuǎn)效果需要真機(jī)運(yùn)行測(cè)試
- (void)deepLink{
//拼接app地址,此處用微信的商店地址做測(cè)試用途
NSURL *url = [NSURL URLWithString:@"itms-apps://itunes.apple.com/cn/app/%E5%BE%AE%E4%BF%A1/id414478124?mt=8&action=write-review"];
//ios10之后方法有所改變,做出判斷
if (_version.doubleValue >= 10.0) {
[[UIApplication sharedApplication]openURL:url options:@{UIApplicationOpenURLOptionsSourceApplicationKey : @YES} completionHandler:^(BOOL success) {
if (!success) {
UIAlertController *aler = [UIAlertController alertControllerWithTitle:@"不能完成跳轉(zhuǎn)" message:@"請(qǐng)確認(rèn)App已經(jīng)安裝" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"確定"style:UIAlertActionStyleCancel handler:nil];
[aler addAction:cancelAction];
[self presentViewController:aler animated:YES completion:nil];
}
}];
}else{
//ios10之前的方法
[[UIApplication sharedApplication]openURL:url];
}
}
五、注意點(diǎn)
1、要在合適的時(shí)機(jī),讓用戶給應(yīng)用評(píng)定等級(jí)和評(píng)論。如果用戶正在玩游戲時(shí),此時(shí)讓用戶去評(píng)論應(yīng)用等級(jí),會(huì)有不好的用戶體驗(yàn),建議在用戶贏得游戲時(shí),再讓用戶去評(píng)論應(yīng)用。
2、蘋果規(guī)定一年只能請(qǐng)用戶評(píng)論三次,建議不能用按鍵控制觸發(fā)評(píng)論請(qǐng)求。如果用按扭控件發(fā)送請(qǐng)求時(shí),可能不會(huì)彈出評(píng)定等級(jí)彈框,給用戶極不好的體驗(yàn)。
3、應(yīng)用是在用TestFlight 測(cè)試時(shí),不會(huì)彈出評(píng)定等級(jí)提示框,在地址字符串后拼接&action=write-review。
4、另外可以用跳鏈接的形式,在蘋果商店中,讓用戶去評(píng)論應(yīng)用的等級(jí)。
5、回復(fù)用戶評(píng)論時(shí),不能用使用臟話和發(fā)布用戶的個(gè)人信息,否則會(huì)被蘋果移除開發(fā)者資格。