🐙
【SwiftUI】iOS 16からのシンプルなストアレビューリクエストの出し方
アプリを作っている側からすると、アプリを評価をしていただくのはやっぱり嬉しいものです。
しかし、「本当にめっちゃくちゃいい!わざわざApp Storeのアプリのページにまで行って評価してあげたい!」くらいの人ではないとユーザーにアプリを評価していただくのは難しそうです。
そこでアプリレビューを促すAPIを使用するのですが、iOS 16からはその方法がとてもシンプルになっていた為、紹介します。
環境
- Xcode 14.2
- iOS 16.2
はじめに
今回は例としてonAppear
でリクエストを出していますが、実プロダクトではHIGに沿ってユーザーに好感をいただける場所で実装して下さい。
iOS 16未満
iOS 16未満では下記のようなコードでストアレビューリクエストを表示していました。
if let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
SKStoreReviewController.requestReview(in: scene)
}
使用例
import SwiftUI
import StoreKit
struct ContentView: View {
var body: some View {
Text("How to request review")
.onAppear {
requestReview()
}
}
private func requestReview() {
if let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
SKStoreReviewController.requestReview(in: scene)
}
}
}
iOS 16
EnvironmentValues
にrequestReview
というプロパティが追加されている為、下記のコードでシンプルに呼び出しが可能です。
import SwiftUI
import StoreKit
struct ContentView: View {
@Environment(\.requestReview) var requestReview
var body: some View {
Text("How to request review")
.onAppear {
requestReview()
}
}
}
最高ですね。
おわりに
簡単にレビューリクエストが出せるようになったとはいえ、リクエストのタイミングは大事にしたいですね。
- HIGに記載されていた考慮ポイント
- 最初の立ち上げ時またはオンボーディング中に評価を求めないでください
- ユーザーの邪魔をしないでください
- 評価リクエストが最も理にかなっている論理的な一時停止または停止ポイントを見つけてください
- レビューリクエストは365日以内に3回までしか表示されない
良い評価をいただいてアプリ開発のモチベーションに繋げていきたいです。
参考
Discussion