😺

FlutterでInAppReviewを実装するので、各端末の仕様をまとめてみた

2024/05/22に公開

iOS Request Review

  • StoreKit は、1 年で最大3回まで評価とレビューのリクエストが可能
  • レビューしたことがある場合は、前回のレビューから 365 日以上経過している場合に、評価とレビューのリクエストを表示できる
  • TestFlight を使用したアプリではテストができない
  • AppStoreURL+action=write-review で、いつでも AppStore でのレビューが可能

https://developer.apple.com/documentation/storekit/skstorereviewcontroller/3566727-requestreview

Android App Review

  • 上限の設定はあるが、明確な数値は記載されていない
  • iOS とは違い BototmSheet での Dialog が表示される

https://developer.android.com/guide/playcore/in-app-review?hl=ja

Flutter の in_app_review について

isAvailable()

  • Android:
    • Google Play ストアがインストールされている。
    • デバイスが Android 5 Lollipop (API 21) 以上を実行している。
  • iOS:
    • デバイスが iOS バージョン 10.3 以上を実行している。
  • MacOS:
    • デバイスが MacOS バージョン 10.14 以上を実行している。

requestReview()

  • Review の動線を表示する

openStoreListing()

  • Google Play Store または、AppStore に遷移して遷移させたい時に利用

https://pub.dev/packages/in_app_review

実装

// in_app_review
import 'package:in_app_review/in_app_review.dart';

final InAppReview inAppReview = InAppReview.instance;

Future<void> requestReview() async {
  // isAvailableは、iOS 10.3以降, Android 5.2以降&&Google Play Storeがinstallされている場合にtrueを返す
  // SeeAlso: https://pub.dev/packages/in_app_review
  if (await inAppReview.isAvailable()) {
    inAppReview.requestReview();
  }
}

あとは、任意の箇所でこちらを呼び出せばレビューが表示されるようになります。

Discussion