【Unity】GearVR アプリを Oculus Store に申請する(要件・仕様の概要) 
2017/08/18 Fri [edit]
せっかくなので試しにビルドした GearVR アプリを Oculus Store に申請してみたのでその記録。GearVR のアプリ申請は公式の Oculus デベロッパーサイトにドキュメントが掲載されているが、基本的に英語なので、google翻訳使いながらやるのは大変だった(笑)。いくつか日本語の pdf などもあったが、内容が少し古くなっていたので、現時点での方法を簡単にまとめておくことにした。今後も色々更新されると思うので、なるべく最新版を検索するようにした方がいいだろう。ちなみにデベロッパー登録から申請まで全て無料でできる。
今回は「GearVR 用にビルドする」と同じ方法で Android ビルドが成功した状態であることを前提とした申請方法・要件なので、ビルドからやる場合は前回の記事を見て欲しい。内容的には一部被る部分もあるが、ここでは主に公式の Oculus デベロッパーサイトからの最低限必要な部分だけの抜粋を中心に書いていこうと思う。
また、今回は Oculus Utilities 1.16.0-beta を使用することにおいて、Unity2017.1f03 でやってみたら色々エラーが出るようなので、Unity 5.6.2p3 を使っている。なので自力で修正、または今後のバージョンアップで修正されたのなら、細かい仕様が変わってしまっている恐れがあるので、適宜置き換えて考えて欲しい。
■GearVR アプリの Oculus Store 申請要件・仕様の概要
■提出用 apk をビルドする
■提出用 apk をアップロード→申請する
(※) Unity 5.6.2p3 / Windows10(x64) で確認
■GearVR アプリの Oculus Store 申請の大まかな流れ
古い資料を見ると以前は必要なアセット等をストレージに集めて、サポートにメールなどする必要があったようだが、幸いなことに現在ではデベロッパーサイトで完全に自動化されている。なので、非常に大まかな流れを言えば、以下のようになる。
1.申請用の apk を作成する。
2.デベロッパーサイトの「Manage」(アプリ管理ページ)で必要なアセット(アプリも含む)をアップロードする(※デベロッパー登録が必要:無料)。
3.管理ページでの自動チェック(アセットが揃っている、アプリの自動プレビュー通過)が済んだら、Oculus Team にレビュー申請する(すべてが完了したら「Submit For Review」が押せるようになる)。
4.申請後はしばらく審査待ちになる(編集はロックされる。最大3週間とある)。要件を満たしてない場合、メールでその旨が送られて再度「編集→申請」できるようになる。
5.最終審査をパスしたら、今度はリリース待ちになる(リリース日は後日メールで送られてくる)。
(参考)
・Lifecycle of an Oculus VR App
これらの手順は他のストアなどでもそれほど変わらないと思う。次にその必要な要件(仕様)を簡単にまとめておこう。
■GearVR アプリの Oculus Store 申請要件・仕様の概要
ここでは仕様的なものの中で重要なものを一覧としてまとめておく。大まかには技術的なものと、必要なアセット(主にストア用画像)があるが、細かい内容は公式ドキュメントや pdf に書かれているので、簡単に目を通しておくと良いだろう。
●技術的な仕様
・Android の keystore(署名)がされていること(Unity のデバッグ用は不可)。
・「Tools>Oculus>Create store-compatible AndroidManifest.xml」(※掲載時点:Oculus Utilities v1.16.0)で正しく「AndroidManifest.xml」が作成されていること。
・Back キー(Escape キー)が「0.75秒以上を長押し、それより短い場合は短押し」になっていること。そして長押しのときユニバーサルメニュー(Unity内では何もしなくて良い)、短押しのときは1つ階層(シーン等)を戻る動作、階層ルートでは「Exit to Oculus Home」の確認画面(ダイアログ)を出すこと(Oculus Utilities に入っている「OVRPlatformMenu.cs」を使うなど。自作ダイアログでも動作さえ正しければOK)。
・音量ボタンで大小を操作できること(※Oculus SDK を使っている場合は何もしなくても機能する)。
・ホーム長押しでコントローラのリセンターが機能すること(※Oculus SDK を使っている場合は何もしなくても機能する)。
・スプラッシュ画面は4秒以内(それ以上になる場合は進捗を付ければOK)。
・apk は 500MB 以下。
※他には「スリープに入らないようにする(Unityを使っている分には何もしなくて良い)」「コントローラは左右どちらでも同じように動作」「60fps動作」「発熱停止しないで45分動作」など細かいことも書かれているので一度確認しておこう。しかしこの辺りはベストを尽くせばそれほど厳密ではないっぽい。
(参考)
・Gear VR Technical Requirements
・Uploading Gear VR Apps
●提出するアセットの仕様(※画像のサイズなど)
(Require:必須)
・Icon : 512x512 px(※背景は透過せず、角丸にしない=正方形のみ)
・Logo Transparent : 360~9000x1440 px(※背景は透過させる)
・Cover Landscape : 2560x1440 px(※下360px がストアのオーバーレイ範囲なので、ロゴを置かない)
・Cover Portrait : 1008x1440 px(※下360px がストアのオーバーレイ範囲なので、ロゴを置かない)
・Cover Square : 1440x1440 px(※下360px がストアのオーバーレイ範囲なので、ロゴを置かない)
・Small Landscape : 1080x360 px [※VR Landscape とも書いてある]
・Hero Art : 3000x900 px (※幅:540+1920+540=3000 px, ロゴを置くときは中央に置く)
・Screen Shots (5枚) : 各 2560x1440 px
(Optional:無くても可)
・Gallery Video : 最小 1280x720 px
└Video Cover Art : 2560x1440 px
・Cubemap : Cubemap - 12,000 x 2000px (※幅:2000x6枚=12000 px [※ツールあり。以下のURL参照])
(参考)
・Oculus Store Art Guidelines (pdf)
・OVRCubemapCaptureProbe(Oculus Utilities for Unity)
・Cubemap Viewer
■提出用 apk をビルドする
apk の作成については前回の「GearVR 用にビルドする」を見て欲しい。ここでは申請要件・仕様を満たしていることを前提としてアップロードすることとする(満たしていない場合は自動チェックでリジェクトされる)。特に apk について重要な部分は以下のことと考えて良い。
・「AndroidManifest.xml」の属性が正しく設定されているか。
・「Android アプリケーションの署名」が正しく行われているか。
(参考)
・Application Manifests for Release Builds
「AndroidManifest.xml」の属性についてはドキュメントでは細かく指定されているが、Oculus Utilities(※掲載時点:v1.16.0) を使っている分にはメニューから「Tools>Oculus>Create store-compatible AndroidManifest.xml」を実行して自動作成すれば良い。すると「Assets/Plugins/Android/」以下に要件を満たした「AndroidManifest.xml」が作られる。
※ビルドすると警告「No activity found in the manifest with action MAIN and category LAUNCHER.Your application may not start correctly.」が出るが、Oculus Homeから起動するため無視して良い(=端末のランチャーから起動できなくなる)。
※再びデバッグなどで端末のランチャーから起動したい場合は、生成された「AndroidManifest.xml」を削除するか、リネームなどしてビルドすれば、通常起動できるようになる。
「Android アプリケーションの署名」については、GearVR というより、Androidアプリの仕様なので、公式のドキュメントを参照して欲しい。設定は「Edit>Project Settings>Player」から「Publish Settings」になる。もちろん「Other Settings」内の「Identification>Package Name」はアプリ固有IDとなるので忘れずに(これも Androidアプリの仕様)。
(参考)
・アプリの署名

●Package Name は世界で唯一のアプリ固有IDとなるので、ドメイン名(任意)も入れるのが良い。

この他にも「提出用ビルドはOSIGファイルを取り除くこと推奨」とも書いてあるが、実際にはリリース時に自動で削除されるようなので、そのままでも構わない(審査には引っかからない)。
■提出用 apk をアップロード→申請する
あとは完成した apk や画像アセットなどをデベロッパーサイトにアップロードしよう。管理ページには他にもアプリの説明(ローカライズも含む)や利用規約/プライバシーポリシー、年齢レーティング、価格設定、ソーシャルメディアでのアプリの映像を共有/ストリーミング許可など色々項目があるが、基本的にはすべての項目(Required だけで良い)を入力・設定すれば、Oculus Team へのレビュー申請となる。apk 自体の仕様などはアップロードやプレビューでも自動で判定してくれるが、機能的なもの(Back キーの動作とか)は一度申請してから、要件を満たしていなければリジェクト→修正要項がメールで送られてくる。メールはすべて英語だが、詳しく書かれているので、google翻訳でも使えば十分にわかるハズだ。以下には簡単な手順と概要だけを書いておこう。
1.デベロッパーサイトにログインしたら上部のメニュー「Manage」を押す。
2.はじめての場合は「組織名(Create New Organization)」を聞かれるので入力する(この名前がメーカー名としてストアに表示されるので注意)。
3.管理ページ内にある「Create New App」を押して、「プラットフォーム」「アプリ名(※後で変更できる)」を入力する。完了したら AppID など色々な情報が出るが、ページの上部のアプリ名をクリックすると、進捗が表示されるので「Build」を押せば、apk ファイルをアップロードできる画面になる(初回はページの一番下にある「Upload Build」を押す)。

4.アップロードしたいチャンネルの右にある「…」を押すと「Upload New Binary to ~」が出るのでクリックし、説明が出たら「Choose File」 で apk をアップロードする。

※チャンネルにはアルファ版、ベータ版、テスト版など色々な状態のものをアップロードできるが、最終的には STORE に移すことになるので、はじめてアップロードするときは STORE に直接アップロードしても良い。
5.アップロードしたファイルの自動チェックが終わったら「Continue」ボタンが出るので、他の残りの要項も埋めていく(「Require」だけでも可)。
6.ページに表示されている進捗を見て、すべてが揃ったら Oculus Team に申請する(「Submit For Review」が押せるようになる)。最大3週間かかるとあるが、機能的な要件を満たしてないものはすぐにリジェクトされるので、その場合は修正したビルドを再度アップロード→申請する。
※ちなみに、apk をアップロードした後は実機:GearVR 内の Oculus Home で実際のプレビューを見ることができるようになる。例えば説明の「Short Description」はアプリの詳細から「説明」の項目に表示されていることがわかる。アップロードした画像なども「ギャラリー」の項目を見れば確認できる(ビデオもここで再生できる)。


※Cubemap は試してないが、他のアプリを見るとインストール前に自分の回りの背景が変わるのがあるので(メーカーものは多い)、その背景をアップロードするものだと考えて良い。Oculus Utilities の「Assets/OVR/Prefabs/」にあるプレファブ「OVRCubemapCaptureProbe」をシーンにおいて「F8」キーでキャプチャすることもできるので、試してみるのも良いかも(私は面倒くさかったので提出してない(笑))。
(参考)
・OVRCubemapCaptureProbe(Oculus Utilities for Unity)
・Cubemap Viewer
提出し終わったらあとは審査が終わるまで待つしかない(編集はロックされる)。なお、私の場合、年齢レーティング(IARC)の正式な承認(?)(「証明書の恒久的な記録のURL」とメールに書かれている)は約1週間後に送られてきた。Oculus Store の審査自体は1回リジェクト、再申請2日目で審査を通過したが、リリース待ちは13日ほどかかった(土日を含む)。また個人かつ FREE アプリだったので、法人や決済関連があるのならもっと時間はかかるのかも知れない。気長に待つと良いだろう。
(関連記事)
【Unity】GearVR アプリをビルドする
【Unity】VRレーザーポインター(ビーム)を作る

- 関連記事
トラックバック
トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/258-8ca3118c
この記事にトラックバックする(FC2ブログユーザー)
| h o m e |