こんにちは。アプリ開発エンジニアの藤樫です。休日は子どもの相手でライフがゼロです。
ネイティブアプリを運用するにあたり、Google PlayストアやAppストアでのユーザー評価は重要です。評価が高いとサービスへの信頼感につながりますし、自分たちが見落としているユーザビリティの改善点に気付けたりもします。ユーザーが自主的にGoogle Playストアを訪問してレビューを書くのを座して待つのではなく、より積極的にユーザーからフィードバックをもらうために公式のIn-App Reviewライブラリを導入することにしました。
開発〜テスト
実装を始めたのは去年の秋ごろです。ちょうどその時に短期インターンの学生がAndroidチームに参加するタイミングだったので、タスクの難易度的にもボリューム的にもちょうど良いと思いIn-App Reviewの開発を担当してもらうことにしました。優秀な彼のおかげで実装はスムーズに終わり、次はテストをすることになりました。実際にレビュー依頼UIを出すにはこちらに記載の通りGoogle Playの内部アプリ共有か内部テスト版としてインストールする必要があります。そこで困ったことが2つ起きました。
レビュー依頼UIが表示されない!
開発機としてSCV36(Galaxy S8、OSバージョン8.0.0)を使用していたのですが、公式の手順に倣ってレビュー依頼UIを出そうとすると、ユーザーのレビューが完了した時に呼ばれるコールバックは実行されているようなのですが、UIが出ません。チームの同僚にPixel 3 XL(OSバージョン 10)で同じ操作を試してもらうと、そちらでは表示されました。
なお、この記事を書くに当たって今一度SCV36とエミュレータのPixel 2(OSバージョン8.0)で試してみるとどちらも普通に表示されました。何かしら修正が入ったのでしょうか。真相は闇の中です。
コメントが必須?
ひとまず、Pixel 3 XLでは以下のように問題なく表示されました。
「レビューはデベロッパーにのみ公開」という表示があります。テスト用ということがわかって安心ですね。とりあえずスターを入力してみましょう。
…??コメントが必須と表示されています。未入力状態では送信ボタンがグレーアウトされていて押せません。
ちなみに英語でも内部テスト版だとRequiredと表示されています。誤訳ではなさそうです。
Google Playストアではスターだけの評価が可能ですが、In-App Reviewライブラリではコメントの入力が必須なのでしょうか?公式ドキュメントを読んでもそのようなことは書いていません。むしろドキュメント内のスクリーンショットにはOptional(任意)と書いてあるのですが。
もしコメントが必須であれば、スターだけの評価に比べて評価するハードルが上がってしまいます。スターだけの評価でもいいのでユーザーからより多くのフィードバックをもらいたいのですが、これでは少し不安があります。
本番リリース
正直これ以上事前に本番での動作を確認する術はありませんでした。しかし、多少レビューのハードルが高かったとしてもレビュー依頼をしない場合と比較して悪影響はないだろうということと、サービスそのものの機能ではないということで、本番リリースして動作確認してから改めて考えようという判断をしました。
そして、本番で確認したところ…
SCV36でもレビュー依頼UIが表示され、コメントは省略可になっていました。期待通りの動作なので結果オーライでしたが、このテスト環境と本番環境の挙動の違いは事前に知りたかった…
まとめ
今回導入したIn-App Reviewライブラリは公式ドキュメントや個人アプリで導入してみた記事などを見る分にはお手軽にいい感じのUXを提供してくれる素敵なソリューションに見えます。しかし、実際導入してみると公式ドキュメントに書いていない困惑する場面がいくつかありました。オープンソースではないライブラリなのでソースコードを読むこともできません。比較的新しいライブラリを導入する際には公式ライブラリと言えど実装してみて事前にしっかり検証することの重要性を再認識しました。
公式ドキュメントは以前に比べて情報が追加されていると思います。テストに関するページ内のTroubleshootingの記述などはOpenWorkアプリへの導入時にはなかった記憶があります。今回困惑した挙動に関する情報もいつか追加されることを望んでいます。ちなみに、GoogleのIssue Trackerに同様の質問があったのでコメントしてみましたが、反応はありません。
以上、簡単ですがOpenWorkのAndroidアプリにアプリ内レビューを導入して、主にテストの際に困惑した話でした。