iOS App 「去評分」 功能的幾種實現總結

一般 App 都會在它的設置頁面或者關於頁面添加一個「去評分」選項,或者在用戶使用 App 過程當中適當時機彈窗,引導用戶跳轉到 App Store 對當前 App 進行評分或者撰寫評論。

絕大部分 App 實現這個功能的方式爲:調用 UIApplication 的 openURL: 方法,打開當前的 App 的 App Store URL,以下:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://itunes.apple.com/app/id1406237249"]];

備註:上述 URL 中 id 字符串後續的數字爲當前 App 對應的 Apple ID,能夠在 App Store Connect 後臺查到;另外 openURL: 方法在 iOS 10 之後已被棄用,替換爲 openURL:options:completionHandler:

可是,這種方式只是打開 App 的 App Store 詳情頁面,用戶若是想進行評分或評論,須要在該頁面往下滑,找到「評分及評論」部分,才能「輕點評分」或「撰寫評論」。以微信爲例,操做流程如圖 1 所示。

咱們若是想讓用戶跳轉到 App Store 後,直接彈出「撰寫評論」頁面,則能夠在上述 App 的連接地址後面加上 action=write-review,以下:

itms-apps://itunes.apple.com/app/id1406237249?action=write-review

也能夠寫成以下 URL,此時打開的是「評分及評論」頁面:

itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=1406237249

此外,從 iOS 10.3 開始,Apple 在 StoreKit 框架中增長了一個類 SKStoreReviewController,它只有一個類方法 requestReview,定義如圖 2 所示,經過彈窗讓用戶直接在 App 內進行評分,而後撰寫評論。

所以,咱們能夠適當的時候調用上述方法 [SKStoreReviewController requestReview]; 在應用內彈出評分框,表現以下圖 3 所示。

不過這種方式有限制,是否彈出評分框由系統決定,詳見這篇文章的討論:在iOS App上使用SKStoreReviewController直接彈出評論頁面

以上,但願對你們有所幫助。

更多知識小集的內容,請查看:網頁連接

@南峯子_老驢 @Lefe_x @Vong_HUST @高老師很忙 @故胤道長 @halohily@KANGZUBIN @陳滿iOSgit

相關文章
相關標籤/搜索