レビュー依頼機能とは?
このような星だけで評価できるレビューボックスのことです。
表示条件
以下の条件に当てはまらないと表示されません。
- iOS10.3以降であること。
- iPhoneの設定で「App内評価とレビュー」がオンであること。(設定>App Store>App内評価とレビュー)
- 3回以上表示させてないこと。(1年間でリセット)
- AppStoreからの配信であること。
実装方法
まずは、importを行う。
import StoreKit
出したいタイミングで以下のコードを記述する
if let scene = UIApplication.shared.connectedScenes.first(where: { $0.activationState == .foregroundActive }) as? UIWindowScene { SKStoreReviewController.requestReview(in: scene) }
たったこれだけです。
OSバージョンを意識する
ちなみに、上記の書き方は、iOS14以上向けの書き方です。
以前は以下のように1行出かけたのですが、iOS14から非推奨になってしまいました。こちら
SKStoreViewController.requestReview()
そのため、ターゲットがiOS14未満のプロジェクトの場合は、以下のように記述した方が良いです。
if #available(iOS 14.0, *) { if let scene = UIApplication.shared.connectedScenes.first(where: { $0.activationState == .foregroundActive }) as? UIWindowScene { SKStoreReviewController.requestReview(in: scene) } } else if #available(iOS 10.3, *) { SKStoreReviewController.requestReview() }
別の書き方
以下のような書き方もできます。しかし、この場合は、現在の画面が確実にアクティブな時に使いましょう。
if let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene { SKStoreReviewController.requestReview(in: scene) }
参考文献