概要
この記事では、Flutterアプリケーションにおけるユーザーレビュー機能の組み込み方法を、「rate my app」パッケージを使用して解説します
以前、in app review を用いた記事を公開しましたが、このライブラリをボタンとして用いることには以下のようなデメリットがありました:
- レビュー完了後も永続的に表示されてしまう(実装次第で解消可能だが手間がかかる)
- レビューダイアログの表示は一定期間内で制限されているため表示されないバグが起きる
Apple公式のヒューマンインタフェースガイドラインには「人々があなたのアプリやゲームへの関与を示した後にのみ、評価を求めてください」と記載されています。これに基づき、ユーザー体験がより良くなるように利用できる「rate my app」の組み込みを紹介します。
Best practices
Ask for a rating only after people have demonstrated engagement with your app or game.
"人々があなたのアプリやゲームへの関与を示した後にのみ、評価を求めてください。"
https://developer.apple.com/design/human-interface-guidelines/ratings-and-reviews より
ということで、このデメリットを解消しつつ、ユーザーの体験がより良くなるように利用できるともおもった rate my app の組み込みを紹介します
「rate my app」を使用するメリット
- ライブラリレベルで容易にカスタマイズができる:
レビューダイアログのデザインや表示タイミングをライブラリレベルでコントロールできます。
これにより、アプリの設計に合わせたユーザー体験を提供できます。
細かいカスタマイズ性でいえば in app review のほうが軍配は上がると思いますが、今回は個人開発の低カロリーの実装を想定しているためこの点が良いと思いました。
- 柔軟な表示制御:
ユーザーがレビューを完了したかどうかを追跡し、必要に応じてダイアログの表示を停止できます。これにより、既にレビューをしたユーザーに対しては表示されないようにすることが可能になります。
rate my app の組み込み方法
「rate my app」の組み込み方法は以下のステップで行います:
インストール
Flutterプロジェクトに「rate my app」パッケージを追加します。
flutter pub add rate_my_app
初期設定
アプリ起動時に「rate my app」を初期化し、レビューダイアログの表示条件を設定します。例えば以下の設定では「アプリを7日以上使用しているユーザー」かつ「アプリを10回以上起動したユーザー」にレビューを促すことができます。
また remind~
引数を設定することで評価ダイアログ表示後に「後で」と答えたあとの、再表示条件を設定できます。
final RateMyApp _rateMyApp = RateMyApp(
preferencesPrefix: 'rateMyApp_',
minDays: 7,
minLaunches: 10,
remindDays: 7,
remindLaunches: 10,
);
レビューダイアログの表示と設定
ユーザーがレビューを行う条件を満たした場合にダイアログを表示します。
void _initRateMyApp() {
_rateMyApp.init().then((_) {
if (_rateMyApp.shouldOpenDialog) {
_rateMyApp.showRateDialog(
context,
}
});
}
自身のアプリでは「数回起動したことがアプリへの関与を示したこと」として評価ダイアログを表示することを実現でき、自然な形でレビューを促せるようになりました。
※デバッグ時の確認では起動回数などを minDays:0, minLaunches:1
にして _rateMyApp.sreset()
をして検証しました。
まとめ
「rate my app」を用いたアプリ内レビュー機能の組み込みは、ユーザーの体験を大きく向上させると同時に、開発者にとっても柔軟性の高い選択肢として利用できます。
アプリ開発でご参考になれば幸いです。