Memo plus Alpha

メモにプラスアルファを加えて価値ある情報に。

Unityで作ったアプリをGoogle Playで公開するときにつまずいたポイント

はじめに

Unityでアプリを作ったらほぼ終わり!と思っていましたが、甘かった…。Google Playストアで公開するまでに幾多の難所がありました。以下、箇条書きですが、自分のメモ用に残しておきます。

 

AdMobの設定

自分のGoogleアカウントでAdMobを申請したところ、2日後くらいに「もう持っているよ!」というメールが。実は別のアカウントでAdSenseを利用していたのですが、これが重複とみなされたようです。つまり、Googleアカウントを2つ持っていて、AdSense, AdMobを分けて持つことはできないようです(Googleはアカウントの重複を特定するアルゴリズムを持っているようですね)。

 

アイコンの設定で手間取る

アイコンを作ってこれでOK!と思っていたのですが、Unityの設定では「前景」と「背景」を別に指定する必要がありました。ただし、Default Iconでは完成版(前景と背景をあわせたもの)も必要でした。アイコンのサイズは432*432で、前景はPNGで透過設定したものが必要です。

 

一方、Google Playで提出するアイコンは512*512のサイズですので、それぞれ用意する必要がありそうです。

 

【参考】

deve-cat.com

 

それとiPhoneユーザーなので知らなかったのですが、Androidのアイコンは丸いのですね…。これに合うようにアイコンをデザインしたほうがよさそうです。

 

キーの発行で手間取る

アプリをauthorizeするために、電子署名をする必要があります。Unityの中でキーストアを発行する機能がありますので、これを利用します。詳細は以下のページ。

 

light11.hatenadiary.com

 

パスワードを設定するのですが、Unityを再起動するたびにPlayer Settingsで再入力する必要があるようです。

 

APIレベルで怒られる

ビルドが完了するとapkファイルが生成され、それを提出すればOK!というはずだったのですが、アップロードしたらAPIレベルが低すぎる、とGoogleに怒られました。2020年の8月からAPIレベルを29以上にすることが求められたとのこと。Unityの2019.4バージョンでは、デフォルトが28になっています。したがってこのレベルを上げる必要があります。

 

手順が若干ややこしく、簡単に書くと「preferencesからSDKのパスをコピーし、そのパスからさらにtools/binというフォルダに移動し、コマンドラインから新しいプラットフォームをインストールするコマンドを打つ」ということになります。コマンドプロンプトは管理者権限で起動してください。

 

(1)管理者権限でコマンドプロンプトを起動

(2)SDKのパス+tools/binに移動 (cd PATH/tools/bin)

(3)sdkmanager.bat "platforms;android-29"を実行

 

詳細は以下を参照させて頂きました。

Unityで Android API level 29 のビルド | 工藤ゲーム製作所

仮眠プログラマーのつぶやき : 【Unity】Android BuildでAPIレベル29以降にする方法

 

実は私の環境では、上記でファイルのインストールまではできるものの、ビルドしたときにAPI29がないよ、というエラーが出ました。これはWindowsのアカウントの権限の問題だったようで、アカウントを「標準」から「管理者」に変更すればOKでした(Unity自体を管理者で実行すればできるかもしれません)。

 

なお、Minimum API levelを高くしすぎると対応デバイスがかなり少なくなるので、26とかある程度下に設定したほうが良さそうです(低すぎると怒られる)。

 

64ビット対応じゃないと怒られる

まだ怒られます笑 ストアにアップロードしたら64ビットに対応していないよ(「このリリースはGoogle Playの64 ビット要件に準拠していません。」)、と。

 

Preferences->Player->Other Settings->Scripting BackendをL2CPPに変更

同じくTarget ArchitecturesをARM64にチェックを入れる

 

参考

qiita.com

 

バージョンコードで怒られる

以上をやったあと、ファイルをアップロードすると:

 

「バージョン コード 1 の APK または Android App Bundle がすでに存在するため、別のバージョン コードを使用する必要があります。」

 

と怒られました。どうやら一度でもファイルをアップロードすると、それが一つのバージョンとみなされ、同じバージョンでファイルをアップロードできないようです。

 

Build Settings->Player Settings->Player (Preferencesから辿っても同じです)でBundle Version Codeの数字を一つ上げる、という対応でできました。

 

スクショで怒られる

やっとファイルはOKをもらいました(さらに審査が待っていますが…)。次はアプリの説明のところです。ここではいくつか画像を提出する必要があります。

 

フィーチャーグラフィック(1024*500)とスクリーンショット(最低2枚)ですが、これも比率が結構厳しく、ちゃんとサイズをあわせないと通してくれません。

 

スクリーンショットは横画面を推奨していますが、縦アプリの場合は、縦のスクショだけでも問題なさそうでした。なお、スクリーンショットのサイズですが、ストアで他のアプリのものをみると、527*937となっていましたので、この比率を保ちつつ少し小さくして、398*675としたのですが、これで無事通りました。

 

総括

長かった…。iOSのほうもやってみようと思っていますが、さらに手間がかかりそうです…。

 

ちなみに作ったアプリはこちら(実は子供が作ってそれを私が一生懸命調べながら公開した、という形です)。初作なのでまだまだですが、一つ出せた、というのは大きな一歩です。

play.google.com

追記

 実際にAdMobを表示するにはもう1ステップあるようです。AdMob→アプリの設定→アプリストアで自分のアプリを検索して紐付ける必要があるそうです。

f:id:semanticist:20210109104549p:plain

Admobのリンク設定