App內(nèi)評(píng)分
蘋果在iOS 10.3中增加了App評(píng)分的新API,用戶可以直接在App內(nèi)評(píng)分,而不用跳轉(zhuǎn)到App Store。
使用非常簡(jiǎn)單,只有一行代碼,但也說明了它沒有任何可定制性。
此API使用前需要 #import <StoreKit/StoreKit.h>
:
if (@available(iOS 10.3, *)) {
[SKStoreReviewController requestReview];
}
顯示效果如下圖:
點(diǎn)擊星星即可評(píng)分,評(píng)分之后會(huì)顯示提交按鈕:
“提交”按鈕僅在生產(chǎn)環(huán)境(上傳App Store的包)才是有效的,其余均為上圖中的灰色禁用狀態(tài)。
注意:
蘋果官方說不能騷擾用戶,因此使用此API有非常嚴(yán)格的限制。
按蘋果規(guī)定,每臺(tái)設(shè)備、每個(gè)App、每年只能彈出3次該提示窗口,如果超過這個(gè)次數(shù),則什么都不會(huì)顯示。(╯‵□′)╯︵┻━┻
雖然規(guī)定嚴(yán)格,但它非常方便,用戶隨手一點(diǎn)就可以給App評(píng)分了。再想想以前的方式:先離開App跳轉(zhuǎn)到App Store,等待網(wǎng)絡(luò)加載,在那么長(zhǎng)的頁面中找到評(píng)分入口。。。破壞用戶使用App的整體性、影響用戶心情、浪費(fèi)用戶時(shí)間、增加用戶學(xué)習(xí)成本。。。可以說毫無優(yōu)點(diǎn)。即便我自己作為一個(gè)開發(fā)者,都很少跳轉(zhuǎn)到應(yīng)用商店給App評(píng)分,但如果我發(fā)現(xiàn)哪個(gè)App使用了這個(gè)新API,我一般至少給個(gè)4星好評(píng)!舉手之勞,何樂而不為呢?(~ ̄▽ ̄)~
因此,我們必須利用好每年的這3次機(jī)會(huì)。蘋果官方的意思是,你應(yīng)該在用戶對(duì)你的App有了整體的了解,且對(duì)你的App感到滿意的時(shí)候彈出窗口,請(qǐng)用戶給予評(píng)分。
這么玄學(xué)的狀態(tài)怎么把握呢?舉個(gè)栗子,你的App是一款游戲,用戶正在打關(guān)底boss,你肯定不想在這個(gè)時(shí)候彈出窗口讓用戶評(píng)分吧(保證他給你一星)?等他成功通關(guān)的時(shí)候,這時(shí)他正心滿意足,肯定不介意賞你幾顆星星。
新API雖然方便又好用,但是次數(shù)實(shí)在太少,而且彈出了用戶可能也會(huì)點(diǎn)擊“取消”,關(guān)鍵這也會(huì)使次數(shù)-1!而且,這個(gè)功能是有可能被用戶關(guān)閉的,在系統(tǒng)設(shè)置->iTunes Store與App Store中可以找到“App內(nèi)評(píng)分及評(píng)論”的開關(guān),如果用戶關(guān)閉了這個(gè)開關(guān),則上面的窗口也不會(huì)彈出。
所以,我們還是需要有個(gè)跳轉(zhuǎn)到App Store的方法做保障,在次數(shù)不足時(shí)(App中無法獲取到“App內(nèi)評(píng)分及評(píng)論”開關(guān)的狀態(tài))使用。
Deep Link
大家應(yīng)該都知道跳轉(zhuǎn)到App Store的方法:
NSString *appURL = @"https://itunes.apple.com/cn/app/idAppID";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:appURL]];
這樣可以跳轉(zhuǎn)到自己的APP在應(yīng)用商店的地址,但是有可能用戶找不到在哪評(píng)分?(要相信,真的有這樣的用戶存在)
因此,下面介紹一種可以直接跳轉(zhuǎn)到評(píng)分頁面的方法。這個(gè)方法其實(shí)在上述新API的注釋中蘋果已經(jīng)提到,他們稱為“Deep Link”。使用方式與上面的方法一致,只是在URL后面拼接一個(gè)query params:action=write-review
。
下面是完整代碼:
NSString *appURL = @"https://itunes.apple.com/cn/app/idAppID?action=write-review";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:appURL]];
它在App Store中的顯示效果如下:
怎么找到自己的AppID?
- 如果你的App已經(jīng)上線,那么在App Store中找到你的App,點(diǎn)擊分享->拷貝鏈接->在別處粘貼,就可以在鏈接末尾找到類似于
id123456789
的字符串,這串?dāng)?shù)字就是你的AppID了。 - 不管你的App是否已經(jīng)上線,在App Store Connect(以前叫iTunes Connect)中找到你的App,它的位置在下圖中的兩處紅框中可以找到:
QQ20180914-142518.png