「アプリ楽しんでる?」
はい → ストアでのレビューや評価を依頼する
いいえ → メールや独自画面での改善点や要望を依頼する
この形式のレビュー促進ダイアログを弊社応援naviというアプリに実装したところ、以下のように累計評価が1年間で3.8から4.4まで上昇しました。
また毎年2月にはある大規模マラソン大会が開催されるのですがその月のレビュー数自体も2017年は10件であるのに対し、ダイアログ実装後の2018年は119件と10倍以上に増えました。
今回別のアプリにもこのレビュー促進ダイアログを実装することになり、ちょうどいい機会だったのでライブラリ化してOSSとして公開しました。
リポジトリ
ページは英語になっていますが、issueやプルリクは日本語でおk
使い方
依存関係
build.gradleに以下を追記します。
implementation 'jp.co.runners:rateorfeedback:0.0.1'
呼び出し
ダイアログを表示したいタイミングで以下のように呼び出します。
RateOrFeedback(this)
// レビュー用ストアURL
.setPlayStoreUrl("https://play.google.com/store/apps/details?id=com.google.android.gm")
// 改善点・要望の送信先メールアドレス
.setFeedbackEmail("email@example.com")
// ダイアログを表示する
.show()
オプションなど
RateOrFeedback(this)
// レビュー用ストアURL
.setPlayStoreUrl("")
// 改善点・要望の送信先メールアドレス
.setFeedbackEmail("email@example.com")
// [showIfNeedsで使用されます]
// 一度、評価するか改善点を送信するを選択した場合、それ以降はダイアログが表示されません。
// この値をインクリメントすることで再度ダイアログが表示されるようになります。
.setReviewRequestId(0)
// [showIfNeedsで使用されます]
// 前回ダイアログを表示してから次にダイアログを表示してよいタイミングまでの期間です。
.setIntervalFromPreviousShowing(60 * 60 * 24 * 7)
// [showIfNeedsで使用されます]
// アプリをインストールしてから、ここで指定された期間はダイアログを表示しません。
.setNotShowTermSecondsFromInstall(60 * 60 * 24 * 7)
.setAskLikeAppDialogMessage("このアプリを楽しんでいますか?")
.setAskLikeAppDialogPositiveTitle("楽しい!")
.setAskLikeAppDialogNegativeTitle("そうでもない")
.setAskLikeAppDialogOnPositive {
// レビュー依頼ダイアログを表示する代わりに何かしたい場合は上書きしてください
}
.setAskLikeAppDialogOnNegative {
// 改善点・要望依頼ダイアログを表示する代わりに何かしたい場合は上書きしてください
}
.setRequestReviewDialogMessage("それはよかった!よければストアでレビューして頂けないでしょうか?")
.setRequestReviewDialogPositiveTitle("レビューする!")
.setRequestReviewDialogNegativeTitle("今はしない)
.setRequestReviewDialogOnPositive {
// レビュー依頼でレビューする!を選択された場合の操作を上書きします
}
.setRequestReviewDialogOnNegative {
// レビュー依頼で今はしないを選択された場合の操作を上書きします
}
.setRequestFeedbackDialogMessage("改善点や要望を送信しますか?")
.setRequestFeedbackDialogPositiveTitle("送信する!")
.setRequestFeedbackDialogNegativeTitle("今はしない")
.setRequestFeedbackDialogOnPositive {
// 改善点や要望を送信する!を選択された場合の操作を上書きします
}
.setRequestFeedbackDialogOnNegative {
// 改善点や要望依頼ダイアログでいまはしないを選択された場合の操作を上書きします。
}
// 条件次第でダイアログを表示する
.showIfNeeds()