この記事は、【 可茂IT塾 Advent Calendar 2022 】の20日目の記事です。
エンジニアとしてアプリを開発していく中で、コーディングしてアプリを作るのも楽しいですが、やっぱり開発者としては実際に作ったアプリを使ってもらった感想をフィードバックとしてもらった時が一番やりがいを感じれる瞬間なのではないかと考えています。
もちろん、嬉しいことばかりではなく厳しい感想をもらうこともありますが、実際のユーザーからのフィードバックは今後のアプリのクオリティを上げるためには欠かせないものだと考えています。
そのため、今回の記事ではApp Storeなどのリリースされたアプリに、アプリ内からレビューをする機能の実装について紹介していきます。
今回の記事で紹介するレビュー機能は、アプリ内にレビューボタンを作成しておいて、そのボタンを押すとそのアプリについてのレビューが行えるという機能を実装していきます。
レビュー機能の実装は、in_app_review
というパッケージを使うとかなり簡単に実装することができます!実際にやっていきましょう。
まずはアプリにin_app_review
のパッケージをインストールをします。パッケージのインストール先はpubspec.yaml
ファイルです。
in_app_review
のパッケージはこちらになります。
pubspec.yaml
ファイルのdev_dependencies
に以下のように記述します。
※pubspec.yaml
ファイルは非常にデリケートなので記述する箇所のindent等には注意が必要です。
pubspec.yaml
dev_dependencies:
flutter_test:
sdk: flutter
in_app_review: ^2.0.6
dev_dependencies
の箇所に上記のように記述したら、画面上のpub get
ボタン、もしくはターミナルでflutter pub get
を入力して実行します。
メッセージやターミナルでエラーが吐かれなければ、アプリにin_app_review
のインストールが完了したことになります。
import 'package:in_app_review/in_app_review.dart';
Widget build(BuildContext context) {
final InAppReview inAppReview = InAppReview.instance;
return Column(
children: [
const Divider(color: Colors.grey),
ListTile(
title: const Text('レビュー'),
onTap: () async {
if (await inAppReview.isAvailable()) {
inAppReview.openStoreListing(appStoreId: 'App Store ID');
}
},
trailing: const Icon(Icons.arrow_forward_ios),
),
const Divider(color: Colors.grey),
],
);
}
build内にinAppReview
を定義します。onTap
内でinAppReview
を呼び出して、App Storeのレビューをしてもらいたいアプリのレビュー画面へと遷移させます。
if文の条件のinAppReview.isAvailable()
はそのOSのバージョンで使用できるかのチェックを行なっています。例えばiOSの場合はiOS 10.14のバージョンよりも上のバージョンでのみ機能する仕組みになっています。
また、appStoreId
ではレビューをしてもらいたいアプリのApp Store IDを入力します。App Store IDはApp StoreでレビューしてもらいたいアプリのURLの末尾の数字のことです。appStoreId
にURLの数字を入力すれば、レビューしてもらいたいアプリのレビュー画面へと遷移する実装になります。
(例)共有したいアプリのURL/id0000000000 ←この数字の部分
いかがでしたでしょうか。意外と簡単にレビュー機能の実装をすることができたのではないかと思います。
実際にアプリを使っているユーザーからのレビューをたくさん貰い、今後のアプリ開発に役立てていければと思ってます。
可茂IT塾ではFlutterインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。
Read More可茂IT塾ではFlutterインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。
Read More