はじめに
初めまして、まみめです。
私は 2023 年の 9 月に Android アプリ開発を始めて今日まで 3 回リリースを行ってきました。
初めてのアプリ開発は大変難しく試行錯誤しながらなんとかリリースを行ってきました。
しかし、3 個目のアプリのリリースでなんと Google Play に 10 回以上のリジェクトを受けてしまい、かなり解決に苦しみました。
多くは私の知識・技術・注意力の不足によるものです。Android アプリ開発に慣れている人であれば当たり前の内容ですが、始めたばかりの人にとって少しでも助けになればと思い、この記事を書きました。皆様の助けになれば幸いです。
リリースしたアプリの概要
リリースしたアプリ
『カラオケ楽曲ガチャ』
カラオケで歌う曲をランダム選んでくれるアプリです。
リストに曲名、アーティスト名、キー、動画の URL などを登録することができます。
ぜひダウンロードしてみてください!
リジェクトの経緯
1 回目のリジェクト
実はこのリジェクトはすでにリリースしたアプリをアップデートするときにおこりました。
いつものようにアップデートしようとすると、Google Play からこのようなメールが来たのです。
「否承認」という言葉にギョッとしました。
しかし、このメールを見た時、原因はすぐに思い当たりました。
なぜなら、ユーザーの入力の仕方によってはリアクションが発生しないボタンもあることにすぐ気づけたからです。
修正して再度アップデートしたバージョンをリリースします。
2 回目のリジェクト
次に来たのは、「アプリがクラッシュする」という内容に加えて、「プライバシーポリシーに不備がある」という内容です。
プライバシーポリシーの Web サイトのスクリーンショットも送られてきたのでびっくりしました。
これは Web サイトにコメント機能があり、編集可能であると判断されてしまったみたいでした。
これは Web サイト側でコメント機能を停止すると解決しました。
クラッシュの件は少し悩みましたが思い当たりました。データベースの扱いで少し不備があったのです。
これも修正し、再びアップデートバージョンを Google Play Console にアップロードします。
3 回目のリジェクト
次に来たのは、「反応しないボタンがある」という内容です。
すでに修正したのになぜ??
この問題は以降 14 回目まで悩みました。
これ以降「反応しないボタンがある」と「クラッシュする」という内容が交互に来たのです。
私は実機でテストするときに Logcat で挙動が怪しい部分を特定しようとしました。
しかし、何回やっても怪しいところは見つかりません。
しかし、Toast を使うときに少しおかしなメッセージが出てきて、このメッセージに惑わされていました。
これは Android 12 仕様のバグであり、今も解決していないみたいです。
4~14 回目のリジェクト
めぼしい成果が得られず、アップデート自体を断念しようと思ってたところ、ついにその時は訪れました。
普段は実機でテストしていたのですが、今回は少しバージョンが古い Android エミューレータでテストしたときボタンを押すとクラッシュしたのです。
原因は、Kotlin のコードが 1 文字間違っていたことでした。
すぐに修正し、審査に出すと難なく通過しました。
なぜ、「反応しないボタンがある」と「クラッシュする」という内容が交互に来たのでしょうか?
これはおそらくですが、ボタンを押したときにクラッシュすると、Google Play の審査で「反応しないボタンがある」のか「クラッシュしている」のか区別ができないのでないかということだと思います。
これをどちらかに決める方法は、ボタンすべてに Toast を付けることです。
これによって反応しないボタンがあるという状況がなくなり、否承認にメッセージは「クラッシュする」しかなくなり、特定が容易になります。
推理小説みたいですが、私はこんな風にして原因を特定していきました。
教訓
今回のたくさんのリジェクトで私が感じた教訓は以下の通りです。
実機だけでなく、エミュレータで複数のバージョンでテストする
実機だけでは単一の環境下での実験になり、挙動の状態を確かめるのに不十分でした。今度から Android Studio 上で様々なバージョンの Android でテストしていきたいと思います。
他の人にテストを依頼する
私は一人でテストをしていたため、気づくのが遅れてしまいました。知り合いの Android ユーザにテストを依頼するべきでした。テストをするだけであれば、特別な技術がなくてもできるのですから。
もっと Android の知識を増やす
思えば、Android のデータベース周りの知識不足が今回のリジェクトにつながったと思います。さらに勉強する必要がありそうです。
ちなみに、異議申し立ては全くしませんでした。一般的に実装のバグで Google Play Store に異議申し立てをしても解決する可能性は低いと思います。
それだったら自分のミスを追跡する方に時間を割いた方が結果的に早くリリースできることにつながりそうです。
しかし、ネットで異議申し立てが受理されたケースもちらほら見たので、もしどうしてもおかしいと思った時は異議申し立てをするのも一つの手段かと思います。
最後に
拙い初心者の記事を読んでくださりありがとうございました。
皆さんもぜひリリースするときは気を付けてみてください!