iOS の家計簿アプリをつくる(リクエストレビュー編)

advent_calendar アドベントカレンダー

はじめに

こちらは個人開発アプリができるまで by am10 Advent Calendar 2024の 19 日目の記事です。

19 日目は StoreKit を使ってユーザーにリクエストを求めるやつについてです。
こういうやつ。

1

基本的にはこれをいれないといいレビューはもらえないと思ってもいいでしょう。
(ストアのページを開いてレビュー書いてくれる人は残念ながら何かしら不満を持った人の可能性の方が高いです)

表示タイミング

ガイドラインを見ると下記のように書いてあります。

Ratings and reviews | Apple Developer Documentation
People often view the ratings and reviews for an app or game before they download it.

Ask for a rating only after people have demonstrated engagement with your app or game.

Avoid interrupting people while they’re performing a task or playing a game.

Avoid pestering people.

ちゃんと使ってから出せ。タスクを邪魔するな。しつこく出すな。という感じでしょうか。

またこちらを見ると下記のように書いてあります。

RequestReviewAction | Apple Developer Documentation
An instance that tells StoreKit to request an App Store rating or review, if appropriate.

If the person hasn’t rated or reviewed your app on this device, StoreKit displays the ratings and review request a maximum of three times within a 365-day period.

Because this API may not present an alert, don’t call it in response to a button tap or other user action.

未レビューのユーザーの場合年に 3 回まで表示ができる。常に表示できるわけではないのでボタン押下で表示などはやめろと書いています。

これらを考慮して家計簿アプリで出すならデータ登録を 10 回以上したユーザーのデータ登録完了後がいいでしょう。

表示処理

まずは登録処理を 10 回以上したかというのを計測できるようにします。

RegisterView に下記の処理を追加します。

これで AppStorage に登録回数を保持できるようになりました。
あとは ContentView で登録完了時に処理すればいいだけなのですがこのままでは ContentView で登録完了の通知を受け取れません。onAppear でいけるかと思ったのですが sheet の dismiss 時には呼ばれないようです。下記のように isRegistered フラグを ContentView と RegisterView に追加して通知を受け取れるようにします。

これで登録完了の通知を ContentView で受け取れるようになりました。あとは下記のように ContentView で StoreKit のレビューリクエストをすれば完成です。

requestReview() は開発モードでコールすると常にアラートを表示するのでシミュレータでアラートの表示確認ができます。

おわりに

これで気軽にユーザーにレビューしてもらえるようになりました!

明日はもしものための強制アップデート機能を実装します。

Amazon.co.jp

コメント

タイトルとURLをコピーしました