Help us understand the problem. What is going on with this article?

レビューまたはフィードバックダイアログを表示するライブラリを公開しました

More than 1 year has passed since last update.
「アプリ楽しんでる?」
はい → ストアでのレビューや評価を依頼する
いいえ → メールや独自画面での改善点や要望を依頼する

この形式のレビュー促進ダイアログを弊社応援naviというアプリに実装したところ、以下のように累計評価が1年間で3.8から4.4まで上昇しました。
また毎年2月にはある大規模マラソン大会が開催されるのですがその月のレビュー数自体も2017年は10件であるのに対し、ダイアログ実装後の2018年は119件と10倍以上に増えました。

r-navi-review.png

今回別のアプリにもこのレビュー促進ダイアログを実装することになり、ちょうどいい機会だったのでライブラリ化してOSSとして公開しました。

リポジトリ

https://github.com/r-bies/RateOrFeedback

ページは英語になっていますが、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()
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away