UnityアプリをGoogle Playでリリースする方法
忘れそうなので、メモ代わりに記事を残しておく。
それぞれの手順は、ググれば出てくるので詳細は割愛。
- Google Play デベロッパーアカウントを作成
- Google Play Console の編集
- UnityでAppBundleをビルドする
- リリースを作成し、App Bundleのアップロード
- 実機でテストを行う場合
Google Play デベロッパーアカウントを作成
公式ドキュメントを参照。
Play Console の使用方法 - Play Console ヘルプ
作成すると、Googleアカウント(~@gmail.com)でログインできる。
なお、アカウント登録に2500円掛かる。クレジットカード支払い可能。
デベロッパーアカウント一つに、複数のGoogleアカウントでログインすることもできるので、例えばチームでアプリを作成する場合、デベロッパーアカウントは一つ作成しておけば良いらしい。
Google Play Console の編集
Google Play Console | Google Play Console
- 「アプリを作成」から、新しいアプリを作成する。
- 作成したアプリの情報を登録する。
アプリを作成して設定する - Play Console ヘルプ
リリースまでに必要な情報は、「ダッシュボード」に記載されているので、順番に設定していけば良い。
左側メニューの一番下、「ポリシー」→「アプリのコンテンツ」をすべて記入していく。
いくつか注意点があり、
- 「プライバシーポリシー」を記載したWebページを用意し、URLを登録する必要がある
- 「ターゲット ユーザーおよびコンテンツ」で、アプリの対象年齢に子供を含める場合(12歳以下)、「ファミリーポリシー要件」をすべて満たす必要がある
「アプリのアクセス権」やら、「データセーフティ」やらは、個人情報を収集するようなアプリ(認証機能のあるアプリや、メール・電話機能にアクセスするアプリなど)が対象なので、まぁ個人でゲームを製作する分には関係ない項目。(「いいえ」で回答しておけば大丈夫)
広告配信を行うアプリの場合、「データセーフティ」の項目に回答する必要がある。詳細は別記事にて。
問題は上に挙げた二点で、まず「プライバシーポリシー」に関しては、ググると書き方がいくつか出てくる。まぁ要するに、
「私は個人情報を正しく取り扱い、(ゲームなど)目的以外に使用しませんよ」
っていうことを説明すればよろしい、ということ。
企業向けならまだしも、個人製作なら割とあっさり書いてもOKらしいので、いくつか他のアプリを参考にしつつ用意した。
▼個人情報に関する公式ドキュメント
もう一つ、ターゲットユーザーの年齢層に関して、「子供向けアプリ」として設定した場合、「ファミリーポリシー要件」を満たす必要がある。
「5歳以下」「6~8歳」「9~12歳」のいずれかにチェックを入れると、「子供向けアプリ」として設定されてしまうことになる。
「Light Box」は、特に対象年齢を設定しておらず、子供でも普通に遊べるアプリとして設定しようとしていたのだが、AR機能を使用しており、これが「ファミリーポリシー要件」に引っかかってしまった。
拡張現実(AR): 拡張現実(AR)を使用するアプリの場合、AR 機能を起動する際に、安全に関する警告を表示する必要があります。この警告には、以下の内容を含める必要があります。
- 保護者による管理の重要性に関する適切なメッセージ。
- 現実の世界における物理的な危険性(例: 周囲の状況)に関する注意喚起。
- 子供による使用が推奨されていないデバイス(例: Daydream、Oculus)の使用をアプリの要件とすることはできません
「AR機能を起動する際に、安全に関する警告を表示する必要があります」
という一文で、特にアプリで注意メッセージみたいなのは用意してないし、今から用意するのもなぁ…と感じ、12歳以下を対象外とした。
まぁ年齢に関しては、ストア上で対象年齢の表示が変わるだけみたいだし、気にする必要もあるまい。
UnityでAppBundleをビルドする
.apkではなく、AppBundle(.aab)をアップロードするらしい。
▼Build Settings
- Build App Bundleにチェック
- Create Symbols.zipにチェック
- Development Buildのチェックを外しておく
▼Project Settings -> Player -> Other Settings
- Package Nameを確認。これがストアURLになる(https://play.google.com/store/apps/details?id=com.xxxx.xxxx)。Company Name、Product Nameが入力されていれば自動的に入力される。なお、大文字を含めた場合、ストアURLも大文字で登録される(1敗)
-
Version、Bundle Version Codeを入力する。特にBundle Version Codeは重要で、Play Consoleに.aabをアップロードするたびにバージョンを更新する必要がある。入力値は、特に形式は決まっていないので、適当な数字から開始する。
【Unity】Android アプリで Bundle Version Code を設定する時に使用しているルール - コガネブログ
あとは大体、画像通りに設定。Target Architecturesは、ARM64のチェックが必須らしい。
2019 年 8 月 1 日以降、Google Play で公開するアプリは 64 ビット アーキテクチャをサポートする必要があります。64 ビット CPU は、高速かつ豊かなユーザー エクスペリエンスを提供します。アプリの 64 ビット版を追加することで、パフォーマンスを向上させ、将来のイノベーションに備え、64 ビット ハードウェアのみで構成されたデバイスに対応できるようになります。
64 ビット アーキテクチャのサポート | Google Play | Android Developers
▼Project Settings -> Player -> Publishing Settings
「アプリ署名鍵」というやつらしい。
Play アプリ署名を使用する - Play Console ヘルプ
最初は、何も入力されていないと思うので「Keystore Manager...」ボタンをクリックし、署名鍵を作成する。
すると、こんな画面が出てくるので、左上の「KeyStore...」から「Create New」→「Anywhere...」を選択し、任意の場所にファイルを作成。
- Keystore Passwordを入力
- Alias(鍵の名前、「release」とか適当につける)
- Validity(有効期限/年、そのままデフォルトで50年に設定)
- First and Last Name(作成者名)、Country Code(日本=81)ぐらいは入力
右下の「Add Key」で鍵を登録。
Publishing Settingsに戻って、
- 「Custom Keystore」にチェック、「Select...」から作成したファイルを選択し、Aliasを作成したもので選択、Passwordを入力
- 「Minify」→「Release」にチェック。
ここまで終わったら、Buildを実行する。
すると、上記3つのファイルが生成される。
「~symbols.zip」は、そのままだと重いので一旦解凍し、再圧縮を掛ける。
自分はLhaz+という圧縮ツールを使用している。
https://www.chitora.com/lhaz+.html
リリースを作成し、App Bundleのアップロード
再びGoogle Play Consoleに戻る。
いよいよリリースだが、その前にテストを行いたい場合は「内部テスト」を選択する。
「(テストなんて)必要ねぇんだよ!」という漢気のある方は、「製品版」を選択し、同様の手順を行う。
「新しいリリースを作成」をクリック。
上記の枠内に、作成した.aabファイルを直接ドラッグ&ドロップする。もし、ビルドファイルにエラーがあった場合、エラーが表示されるので、修正して再ビルドを行う(例>Development buildのチェック外し忘れ等)。
問題なければ、下のような表示が出るので、赤枠の部分をクリック。
ポップアップメニューから、「ネイティブデバッグシンボルをアップロード」、Buildしたファイルの「~symbols.zip」を選択してアップロードする。
マッピングファイルをアップロードする場合も「~mapping.txt」で同様に。
アップロード後は、画面下の青いボタン「リリースのレビュー」を押し、さらに同様に「内部テストとしての公開を開始」をクリックすると、アプリが公開され、実機でダウンロードできるようになる。
なお、製品版として公開する場合、Googleで審査が行われてからの公開となる。
実機でテストを行う場合
- メーリングリストを作成する。登録するアカウントはGmailアカウント(~@gmail.com)
- 登録したアカウントのデバイスで、「内部アプリ共有を有効」にする。
App Bundle と APK を内部で共有する - Play Console ヘルプ
認定テスターが内部アプリ共有を有効にする方法
認定テスターが内部アプリ共有のアプリをダウンロードするには、Google Play ストア アプリで内部アプリ共有を有効にする必要があります。
- Google Play ストア アプリ を開きます。
- メニュー アイコン > [設定] をタップします。
- [概要] セクションで Play ストアのバージョンを 7 回タップします。
- [内部アプリ共有] の設定が表示されたら、内部アプリ共有のスイッチをタップしてオンにします。
- [オンにする] をタップします。
- 登録したアカウントで、「テストへの参加方法」→「ウェブで参加」→「リンクをコピー」でコピーしたURLへ飛び、テストへの招待を受ける。
-
続けて、リリースしたAppBundleの「詳細」をクリック(赤枠)
- 「ダウンロード」→「共有可能なリンクをコピー」
- 内部テストの招待を受けたデバイスで、上記リンク先を開く。アプリがインストールできるようになる。
正直、すごくややこしい。