Unityで作業時間記録アプリ「MinuteMind」を開発し、Android/iOS両対応で公開しました。
この記事では、Android対応・Google Drive連携・ストア公開までの流れについて、詰まったポイントも含めてまとめておきます。
開発環境
- Unity 2022.3 LTS
- 開発対象:Android 8.0以降
- Google Drive API v3(REST)
- Android Studio(AARビルド用)
- Google Play Developer アカウント登録
(登録費は 一度きりの2,500円(買い切り型)で、以後の年会費などはありません。)
Google Drive連携の仕組み
AAR(Androidライブラリ)の導入
UnityのC#からGoogle Drive連携を直接行うのは難しいため、AAR形式のJavaライブラリを用意して処理を分離しました。
SAF(Storage Access Framework)を使ってユーザーに保存先を選ばせる構成にしています。
// Unity → Java 呼び出しの一例
using (AndroidJavaObject activity = UnityPlayer.GetActivity())
{
activity.Call("exportToDrive", filePath, mimeType);
}
実装ポイント
- onActivityResult でファイルURI取得 → UnitySendMessage でUnityに通知
- JSONファイルを Application.persistentDataPath に保存してやり取り
クローズドテストの流れ(Google Play Console)
手順の概要:
- Play Console にアプリ登録
- クローズドトラックを作成
- テスターのメールアドレスを登録
- テストリンクを共有してAABファイルを配布
実施内容:
Discordで12名のテスターを集め、テスト版のMinuteMindを試してもらいました。
その中で出たフィードバック(通知設定やレイアウト修正など)を反映して調整しました。
AdMobとUnity IAPの実装
AdMob(バナー・インタースティシャル)
- AdMob SDK導入 →
bottomIconPanel
の位置を基準に広告位置調整 - 広告非表示は課金後
PlayerPrefs
にフラグ保存して起動時に反映
Unity IAP(広告非表示課金)
- Google Play Consoleで商品IDを設定し、Unity IAPと連携
- シンプルな「一度購入すれば広告が消える」形式に
Google Playへのリリース手順
- UnityからAAB形式でビルド出力
- Keystoreで署名設定
- Play Consoleでアプリ作成・各種情報登録(スクショ・説明文など)
- リリース申請 → 審査(1回目は1〜2日、以降は数時間で通過)
詰まりポイントと解決策
問題 | 対処法 |
---|---|
AARがUnityに反映されない | Plugins/Android以下の配置ミス・AndroidManifest競合をチェック |
SAFが意図通り動かない | intent-filterと権限設定を確認、実機テスト重視 |
テスターがインストールできない | Play Consoleのリンクを使うことで解決(直接APK不可) |
AdMob広告が表示されない | テストIDを使用して動作確認、実機でエラーをログ確認 |
関連リンク
おわりに
個人開発でGoogle Driveとの連携を含むモバイルアプリをリリースするのは大変でしたが、その分得られる学びも多かったです。
同じように開発を進めている方に、少しでも参考になる情報があれば嬉しいです。
次回はiOS開発編についてもまとめていきます!
コメント