3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Flutter】in_app_reviewを利用したアプリ内レビュー機能の組み込み

Last updated at Posted at 2023-11-17

実装の目的

ユーザーがアプリ内から直接レビューを投稿できるようにすることで、アプリのフィードバックを容易に受け取れるようにする。


:bulb: 2023/11/25 追記
rete in app を用いた実装方法についての記事も公開しました。現在はこちらを採用しています

実装のイメージ

pub.dev/packages/in_app_review より引用

概要

この記事では、in_app_review パッケージを使用して、Flutter アプリ内でレビュー機能を実装する方法について紹介します。

また、アプリが特定のバージョンに対応していない場合に備え、ユーザーをApp StoreやGoogle Play Storeのページに誘導するフォールバック処理を実装する方法についても説明します。

使用するパッケージとバージョン

実装方法

コア機能の実装

以下のコードは、アプリ内レビュー機能を実装するためのコアとなる部分です。InAppReview インスタンスを使用して、ユーザーがApp StoreやGoogle Play Storeで直接レビューを行えるようにします。また、この機能が利用できない場合は、ユーザーを適切なストアのページに誘導します。

class DrawerHelper {
  static final InAppReview _inAppReview = InAppReview.instance;

  // URLを定数化
  static const String _urlAppStore =
      'AppStoreURL';
  static const String _urlPlayStore =
      'PlayStoreURL';

  static void launchStoreReview(BuildContext context) async {
    try {
      if (await _inAppReview.isAvailable()) {
        _inAppReview.requestReview();
      } else {
        // ストアのURLにフォールバック
        final url = Platform.isIOS ? _urlAppStore : _urlPlayStore;

        if (!await launchUrl(Uri.parse(url))) {
          throw 'Cannot launch the store URL';
        }
        AnalyticsService.instance.analytics.logEvent(
          name: 'navigate_to_store_url',
        );
      }
    } catch (e) {
      ScaffoldMessenger.of(context).showSnackBar(
        const SnackBar(content: Text('ストアページを開けませんでした')),
      );
    }
  }
}

呼び出し元の例

ListTile(
    leading: const Icon(Icons.star),
    title: const Text('レビューをする'),
    onTap: () => DrawerHelper.launchStoreReview(context),
),

デモ

実際にこのコードを使用してListTileビューを実装し、以下のようなインターフェースを作成しました。
シミュレーターなので送信はできませんが、実際には送信後文章を書けたりします。

Simulator Screen Recording - iPhone SE (3rd generation) - 2023-11-17 at 10.31.14.gif
iOS さわやか待ち時間で利用できます

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?