BLOGサブスレッドの日常
2023.03.28
Androidのレビューダイアログのテストに苦労した話 (Google Play In-App Review API)
s.kono
レビューダイアログとは
レビューダイアログとは、ユーザーにアプリのレビューを促すダイアログのことです。
アプリのレビューは、原則Google Playアプリの、アプリをインストールする画面からのみ行なえます。
そのため、Androidではアプリを利用するユーザーに予め「アプリの評価をお願いします! [OK] or [あとで]」のようなダイアログを表示しておいて、Google Playアプリのアプリをインストールする画面にユーザーを誘導するといった実装を行います。
しかしこれは、一時的にユーザーがアプリを離脱してしまうというデメリットがあります。
Google Play In-App Review APIを使えば、アプリ上にレビューダイアログを表示することができるため、
一時的にユーザーがアプリを離脱することを防ぐことができます。
また、任意のタイミングでアプリのレビューを促すことができるため、例えばユーザーがアプリを「スキ!」と思ってもらえるであろうタイミングで表示することで、ユーザーから高評価をいただく可能性を上げることができます。
テストにめちゃくちゃ苦労した
Google Play In-App Review API は、アプリ内レビューを統合する(Kotlin または Java)を参考にすれば、簡単に実装できます。検索するとより具体的なプログラムの例も出てきます。
問題はその後。実装後は当然テストを行うわけですが、レビューダイアログが期待どおりに表示されない。
社内のメンバーにも手伝っていただき、レビューダイアログが表示できるかどうかをテストしてもらったところ、人によって以下のような挙動に分かれました。
- 事象①レビューダイアログを全く表示できない
- 事象②レビューダイアログを一度は表示できたけど二度表示できない
原因
調査を続け、ようやく原因がわかりました。
- (事象①の原因)端末にG Suiteアカウントでログインしているため
- レビューダイアログを表示するには、
@gmail.comで終わるアカウントで端末にログインしている必要がある
- レビューダイアログを表示するには、
- (事象②の原因)『レビューダイアログを表示した』という情報がGoogle Playアプリに記録されてしまっているため
- 一度レビューダイアログ表示した後、しばらくはレビューダイアログを再表示しないという判定が、Google Playアプリの中に入っている(らしい)
- これは公式ドキュメント内にある「割り当て上限」とは別物です
-
注: アプリが内部テストトラックからダウンロードされた場合、割り当て上限は適用されません。
-
素晴らしいStackoverflowの投稿がなければ、断念していたかもしれません…
レビューダイアログをテストするにはどうすべきか
https://developer.android.com/guide/playcore/in-app-review/test?hl=ja は一通り読んだ前提で書きます。
事前準備
@gmail.comで終わるメールアドレスでAndroid端末にログインしておく- G Suiteアカウントでログインしている場合はレビューダイアログを表示できないため
- 複数のメールアドレスを端末に紐付けた場合、どのメールアドレスが使われるかはGoogle Playアプリ側によって決められます(おそらく先に紐付けたメールアドレスが使われます)
- 内部テスターに、先程android端末に紐付けたメールアドレスを登録しておく(スクリーンショットの①)
- PCのブラウザでGoogle Play Consoleにアクセス>テストするアプリを選択する>テスト>内部テスト>テスター数タブ>任意のメーリングリストを選択して、メールアドレスを追加します
- Android端末側で、テストへの参加方法リンクにアクセスし、画面内の「ACCEPT INVITE」を押す
- テストへの参加方法リンクは、スクリーンショットの②から取得できます
- Android端末に、Google Playアプリから内部テストのアプリをインストールする
- テストへの参加方法リンクの画面内にある
download it on Google Playのリンクを押すと、Google Playアプリの内部テストのアプリをインストール画面へ遷移できます
- テストへの参加方法リンクの画面内にある
動作確認
- Google Playストアのキャッシュをクリアしておく
- Android端末の設定アプリを起動>アプリと通知>Google Play ストア>ストレージ画面を開き、「キャッシュを削除」と「データを消去」ボタンを押します
- この操作により、「レビューダイアログを表示した」という履歴を削除することができるので、確実にレビューダイアログを表示出来るようになります
- 逆にこの操作を行わなかった場合、Google Playストアアプリ側にある何らかの条件をクリアしなければ、レビューダイアログは再表示されません
- (必要に応じて) アプリの再インストールを行う
- Google Playからインストールしたアプリを削除し、自分のIDEからアプリをインストールしてテストすることもできます
- 事前準備の時、一度Google Playからアプリをインストールしたのは、レビューダイアログ表示の条件に「Google Playから少なくとも一度インストールする」という条件があるためです
- Google Playからインストールしたアプリを削除し、自分のIDEからアプリをインストールしてテストすることもできます
- アプリを起動し、動作確認する
もし再度レビューダイアログの動作を確認する場合は、「動作確認」のセクションをやり直せば再表示出来ます。
まとめ
僕は、主に@gmail.comのメールアドレスを使ってなくてレビューダイアログが表示されなかったところで苦しんだのですが、公式ドキュメントの
ユーザー アカウントが(エンタープライズ アカウントなどで)保護されている。 代わりに Gmail アカウントを使用します。
という文章で、@gmail.comのメールアドレスを使わなければならないことが分かるのかなぁ…という気持ちでモヤモヤしてました。保護ってなんだ。
Google Playライブラリは、たいていGoogle Play Consoleとの連携が必要となるためテストが難しい上に、
コミュニティによるサポートが行われないので、問題が起きた時の対処法がどうしてもStackoverflowなどのQ&Aサイトか、ブログ記事になっており
問題への対処方法が見つけにくいな…と思いました。
この記事でレビューダイアログのテストで困る人が減ると良いな。
[2023年3月30日(木) 文章がおかしいところがあったので修正]
この記事を書いた人
s.kono

