アプリの準備と申請ガイド

アプリの準備と申請ガイド
2 | はじめに | Copyrights and Trademarks
©
2015 Oculus VR, LLC. All Rights Reserved.
OCULUS VR, OCULUS, and RIFT are trademarks of Oculus VR, LLC. (C) Oculus VR, LLC. All rights reserved.
BLUETOOTH is a registered trademark of Bluetooth SIG, Inc. All other trademarks are the property of their
respective owners. Certain materials included in this publication are reprinted with the permission of the
copyright holder.
| ⽬次 | 3
⽬次
概要...................................................................................................................... 4
シグネチャーファイルの作成...............................................................................5
アプリの申請........................................................................................................ 6
よくある問題........................................................................................................ 9
4 | 概要 | 概要
このガイドは、モバイルアプリの申請と準備に役⽴つベストプラクティスとガイドラインをまとめたもので
す。
アプリ申請プロセスを分かりやすく透明性の⾼いものにすること、そして当社がアプリ申請段階でチェックす
る基本事項や、審査を迅速に完了するために必要なポイントを理解していただくことを狙いとしています。
末尾にはよくある問題とその対策についてサンプルとアドバイスを付けました。しかし、このガイドに挙げた
ことだけがすべてではありません。アプリ構築のベストプラクティスについて詳しくはOculus Best Practices
Guideをぜひご⼀読ください。また、モバイルのパフォーマンスのガイドライン、デザインのガイドライン、
ユーザーインターフェイスのガイドラインについてはMobile SDK Documentationが参考になるでしょう。
このガイドについてのご意⾒、ご感想は、どうぞOculus公式フォーラムのMobile SDK Developmentへお寄せく
ださい。今後の改良に活⽤させていただきます。
Oculusストアにアプリを登録する
当社では、楽しくクリエイティブなVRアプリや他⼈と共有したくなるエクスペリエンスを常に探し求めていま
す。アプリを申請した後、Oculusストアにアプリが登録されるまでには、おおまかにいって2つの段階がありま
す。アプリの審査、そして配布準備です。
申請されたアプリは、まず初回審査を受けることになります。当社デベロッパーリレーションチームのメン
バーから申請者に、問い合わせやフォローアップ指⽰の連絡をする場合もあります。すべてのアプリが初回審
査で配布可能になるわけではありません。アプリが初回審査で承認されなかった場合は、デベロッパーリレー
ションチームからのフィードバックを反映したうえで、改めて再申請してください。
アプリが審査で承認されると、配布に向けた準備のため、当社から申請者へ配布契約書をお渡しし、またテク
ニカル関連とビジネス関連の連絡先をお伝えします。すべてが整えば、アプリがストアに公開され、ユーザー
が⼊⼿できる状態になります。
前置きはこれぐらいにして、申請準備を始めましょう。まずはシグネチャーファイルの作成から始めます。次
に、申請から審査までのプロセスを順を追って解説します。最後に、審査プロセスが滞る原因となりがちな、
よくある問題をとりあげます。
| シグネチャーファイルの作成 | 5
シグネチャーファイルの作成
Oculusモバイルアプリには、開発段階に応じて2種類のシグネチャーが必要になります。
• Oculusシグネチャーファイル(開発中に必要。申請時に削除)
• Androidアプリケーション署名(申請時に必要)
Oculusシグネチャーファイル(osig)
開発中のアプリには、Oculusから発⾏されたOculusシグネチャーファイル(osig)で署名する必要があります。こ
のシグネチャーファイルをアプリに含めることで、モバイルデバイス上のプロテクトされたローレベルVR機能
にアクセスできるようになります。シグネチャーファイルはそれぞれ特定のデバイスに紐づけられるため、開
発に使うデバイスごとに⽣成する必要があります。アプリが申請され承認されると、OculusがAPKファイルを
修正して、どのデバイスでも使えるようにします。
osig発⾏リクエストの詳細や⼿順については、osigセルフサービスポータルを参照してください。https://
developer.oculus.com/tools/osig/
Androidアプリケーション署名
Androidではデジタル証明書(キーストアとも呼ばれます)を利⽤して、アプリケーション作成者のIDを暗号化し
て認証します。Androidアプリケーションは、その証明書でデジタル署名されないかぎり、Androidデバイスに
インストールして起動することができません。
開発者は必ず⾃分のデジタル署名を作成し、アプリに署名してから、Oculusへの申請を⾏ってください。
詳しい情報および⼿順については、Androidの『Signing your Applications』ドキュメントをご確認くださ
い。http://developer.android.com/tools/publishing/app-signing.html
アプリへの署名に使⽤する証明書ファイルは必ず保存しておいてください。以後アプリを更新するには、毎回
同じ証明書ファイルで署名したアプリでないと受けつけられません。
注 : アプリは必ずAndroidの証明書で署名済みの状態で申請してください。
Androidアプリケーション署名とUnity
Unityはデフォルトで、Androidアプリケーションに対し⾃動的に仮のデバッグ証明書を作成して署名するよ
うになっています。最終版のリリースビルドを作成する前に、新しいAndroidキーストアを作成して、[Edit] >
[Project Settings] > [Player] > [Publishing Options]から[Use Existing Keystore]オプションで割り当ててくださ
い。詳しくは、次のUnityドキュメントののドキュメンテーションでAndroidのセクションを参照してくださ
い。http://docs.unity3d.com/Manual/class-PlayerSettings.html
6 | アプリの申請 | アプリの申請
このセクションでは、申請プロセスの詳しい⼿順と要件について解説します。
申請の概要
申請には以下の3点を揃える必要があります。
1. アプリケーションファイル
2. 画像アセット
3. 説明⽤ドキュメント
上記がすべて適切なフォーマットで構成された、申請フォルダのサンプルがhttp://static.oculus.com/
submissions/TemplateDocuments.zipにあります。アプリ申請の⾒本としてご利⽤ください。このフォーマット
に合致しない申請は不備と⾒なされます。
アプリをOculusに送付する
まずメールで[email protected]宛に、御社の社名を添えて、申請フォルダをリクエストしてください。
折り返しお送りするリンクで、Uploads_[御社名]という名称のDropboxフォルダにアクセスできます。以後、御
社の更新版のアプリはすべてこのフォルダに保存することになります。
このDropboxフォルダ内に申請⽤の新規フォルダを作成し、名称は「アプリケーション名_申請年⽉⽇」としま
す。アプリケーション名にスペースを⼊れないでください。また、申請年⽉⽇はYYYYMMDD形式で表記してく
ださい。以後、リビジョンを上げるたびに別フォルダを作成することになります。
たとえば、「Super Awesome VR」というゲームを2014年7⽉4⽇に申請する場合、
「SuperAwesomeVR_20140704」という名前のフォルダを作成します。さらに7⽉9⽇に再申請する場合は
「SuperAwesomeVR_20140709」というフォルダを新たに作成します。
Dropboxフォルダの準備ができたら、[email protected]宛に、審査してもらいたい申請⽤フォルダの名
称と、あれば他の連絡事項を添えてメールしてください。以後審査が完了するまで、そのフォルダは「ロック
状態」と考えてください。申請後に⽣じた変更は次のリビジョンに含めます。
アプリケーションマニフェストファイルの要件
• マニフェストの<manifest>タグのpackage属性には、必ずアプリケーションのパッケージ名を⼊れてくだ
さい。パッケージ名は⼀意の名称でなければいけません。
• versionNameはバージョン名としてストアに表⽰されます。
• versionCodeはバージョン番号としてユーザーに更新を配信する際に使⽤されます。この値は0より
⼤きい整数でなければいけません。また、以後リビジョンを重ねるごとに値を⼤きくする必要がありま
す。Unityでアプリをビルドする場合、マニフェストファイルを⼿動で修正してもUnityに上書きされてしま
うので、Unity上でこの値を修正してください。
• VRモードを正しく設定するため、VR APKファイルのマニフェストファイル内の<application>要素には必
ず、以下のタグを挿⼊してください。
<meta-data android:name="com.samsung.android.vr.application.mode"
android:value="vr_only"/>
• メインアクティビティは必ず以下に⽰すとおりに構成してください。特に、メインアクティビティのイ
ンテントフィルタはandroid.intent.category.INFOに送られる必要があります。⼀般的に使われ
| アプリの申請 | 7
るandroid.intent.category.LAUNCHERではありませんので注意してください。これはアプリをOculus
Homeだけに表⽰し、携帯電話のランチャーから起動できないようにするためです。
<activity android:name="YOUR ACTIVITY" android:theme="@android:style/
Theme.Black.NoTitleBar.Fullscreen" android:label="@string/app_name"
android:launchMode="singleTask" android:screenOrientation="landscape"
android:configChanges="screenSize|orientation|keyboardHidden|
keyboard android:excludeFromRecents="true"><intent-filter>
<action android:name="android.intent.action.MAIN" /> <category
android:name="android.intent.category.INFO" /> </intent-filter> </activity>
• minSdkVersionとtargetSdkVersionは必ず19に設定してください。
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="19" />
• アプリにはOpenGL ESのバージョン情報が必要になります。OpenGL ES 2.0なら0x0002000、OpenGL ES
3.0なら0x0003000で、このどちらかでなければいけません。
<uses-feature android:glEsVersion="0x00030000" android:required="true" />
• 重要: 現在、アプリに以下のパーミッションを指定する必要があります。これはデバイスに合わせて適切な
レンズディストーションファイルを読み込むためのものです。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
• 不要なパーミッションは必ずAndroidManifest.xmlファイルから削除してください。アプリが機能するため
に必要不可⽋なパーミッションだけを残すようにします。パーミッションはインストール時にユーザーに表
⽰されるため、あまりに多くの権限を求めると、インストールをキャンセルされてしまうことがあります。
注 : マニフェストにnoHistory属性を追加しないようにしてください。
販売
Oculusストアは無料アプリと有料アプリの両⽅をサポートします。ただし、有料アプリは現在、⽶国内のみ
での取り扱いとなります。有料アプリではセキュリティ保護のため、エンタイトルメントシステムを利⽤す
ることを推奨します。エンタイトルメントについて詳しくは、Mobile SDK Documentationの「VrPlatform
Entitlement Checks」を参照してください。
画像アセットの要件
申請フォルダ内に新しいフォルダを作成し、名称を「Images」とします。
提出する画像は必ず2560 X 1440のPNGファイル形式にしてください。アスペクト⽐を維持しつつサイズが⾃動
的に調整され、最適な表⽰になります。
サイドバイサイド形式の画像やディストーションレンダリング後の画像を含めないでください。
• メイン画像(1点): そのアプリを中⼼的に取り上げる状況で表⽰されるメイン画像になります。また、アプリ
個別の製品詳細ページでもメインで使⽤されます。
• サムネイル画像(1点): そのアプリが他のアプリと⼀緒に表⽰される状況で、識別のために使われる画像で
す。ユーザーがブラウズや検索を⾏う際に、そのアプリだと⾒て分かるような画像にしてください。サムネ
イル画像はメイン画像と同⼀内容でなくてもかまいません。サムネイル画像を提出しない場合、メイン画像
がサムネイルとして流⽤されます。
• ギャラリー画像(5点): ギャラリー画像は5点以上⽤意してください。申請するアプリが中⼼的に取り上げられ
ている状況でのみ表⽰されます。そのアプリの機能を端的に⽰すような画像にしてください。
8 | アプリの申請 | ギャラリー画像は「ImageGallery」という名称のサブフォルダ内に保存し、ストアで表⽰したい順番
に1_、2_、3_などとファイル名の先頭に番号を振っておいてください。
各画像がどのように使⽤されるかについて詳しくは、SubmissionsTemplate/OculusArtGuidelines_2014.pdfを参
照してください。
アプリケーションの説明
申請フォルダ内にSubmissionsTemplate/GearVR_SubmissionDetails.docxのコピーを新規作成し、すべて
のフィールドに⼊⼒してください。
アプリケーションを複数の⾔語で公開したい場合は、ターゲットごとにGearVR_SubmissionDetails.docxテン
プレートのコピーを作成し、すべてのフィールドにターゲット⾔語で⼊⼒してください。どれがどの⾔語の
ドキュメントか分かりやすいように、各ドキュメントのファイル名の末尾にGearVR_SubmissionDetails_enUS.docx、GearVR_SubmissionDetails_ko-KR.docxなどと⾔語コードを付けてもかまいません。
初回の申請
すべての準備が完了したら、メールで[email protected]に申請フォルダの場所を伝えて申請します。そ
の際、申請するアプリの操作⽅法、楽しみ⽅、プレイ時間、その他の特⻑などを1段落程度に短くまとめて書き
添えてください。これは顧客に売り込むための⽂章ではないので、いわゆるセールストークは不要です。あく
まで当社がそのアプリの狙いや仕組みを把握するためのものです。
| よくある問題 | 9
よくある問題
よくある問題とその対策について解説します。
このセクションに挙げたことだけがすべてではありません。アプリ構築のベストプラクティスについて詳しく
はOculus Best Practices Guideをぜひご⼀読ください。
SDKのバージョン
アプリ開発にあたっては、必ず最新のSDKを使⽤してください。
アプリへの署名
申請するアプリは、Androidのデジタル証明書による署名済みでなければいけません。Unityを利⽤している
場合、Unityが⽣成した⼀時的なデバッグ証明書を、⾃分で⽣成しアプリに割り当てた永続的なプライベート
のキーストアに差し替える必要があります。申請する前に必ずosigファイルを削除しておいてください。詳細
は、アプリケーションへの署名をご覧ください。
パフォーマンス
アプリはクラッシュ、フリーズ、ハング、⻑時間にわたる無反応状態、デバイスやシステムの再起動を起こし
てはいけません。動画、映画、⾳声はスムーズに再⽣されなければいけません。グラフィックやアイコンは両
眼視でレンダリングされ、快適な視距離に表⽰されるようにしてください。テキストはVR環境で判読しやす
く、途切れたり重なったりしないように表⽰してください。
快適性
すべてのアプリにはシミュレーター酔いを起こさない、あるいはなるべく軽減する配慮が必要です。たとえば
ヘッドトラッキングと向きの移動は、ユーザーが常に制御を維持できるようにすべきです。
Oculus Homeメニューの操作
• Homeからの起動
• 操作受付開始までの時間 - アプリは⼊⼒の受付、ヘッドトラッキングへの反応、およびグラフィックの表
⽰を、起動から4秒以内に開始しなければなりません。
• ロード時間が4秒を超える場合は、適切なユーザーフィードバックを表⽰する必要があります。最低限
でも、進⾏状況のインジケーターは必要です。待ち時間に気が紛れるようなアニメーションやチュー
トリアル/ヒントを表⽰することを推奨します。
• 契約上の必要からライセンス表⽰/アニメーション/ロゴや免責事項を表⽰する場合は、画⾯上にとど
まる時間をそれぞれ5秒以内とし、両眼視でレンダリングされ、ヘッドトラッキングに対応するように
してください。
• Homeへの復帰
• アプリからOculus Home画⾯への遷移は、迅速かつユーザーに不快感を与えない⽅法で⾏わなければいけま
せん。
電源状態の管理
電源状態の検出と管理は、熱の蓄積を抑えるために役⽴ちます。すべてのアプリでこの機能を利⽤することを
推奨します。
10 | よくある問題 | CPUとGPUのクロックレベルは、アプリが60FPSを維持できる最低限に抑えることを強く推奨します。クロッ
クレベルが⾼いほど熱が溜まりやすく、バッテリー寿命が短くなります。より⾼いレベルが必要になった場合
も、できるだけ最適化で対処し、GPUやCPUのクロックレベルの引き上げは最後の⼿段と考えてください。
ゲームパッドが必須な場合
アプリの操作にBluetoothゲームパッドが必要な場合は、ユーザーエクスペリエンスの低下を防ぐため、ゲーム
パッドが必要なことを通知でユーザーに明⽰してください。以下のいずれかの⽅法を推奨します。
1. アプリが起動した時点でゲームパッドが接続されていない場合、ゲームパッドが検出されないこと、アプリ
の操作に必要であることを通知で表⽰します。
2. 通常ゲームパッドで⾏う操作をタッチパッドのスワイプやタップで⾏った場合、その操作にはゲームパッド
が必要なことを通知で表⽰します。ゲームパッドの使⽤が任意、または追加機能を利⽤する場合にのみ必要
である場合には、こちらの⽅法が適しています。
予約済みのユーザー操作
戻るボタンの操作:
• ⻑押し: ユーザーがボタンを0.75秒を超えて押し続けた場合。⻑押しでは常にユニバーサルメニューが開く
べきです。
• アプリには必ず⻑押しでユニバーサルメニューにアクセスする機能を実装しなければなりません。実装す
るには最新のSDKを組み込んでください。ユニバーサルメニューは、パススルーカメラ、Oculus Homeへ
のショートカット、画⾯位置の再調整、明るさ調節、サイレントモードなどの機能を提供します。
• 短押し: ユーザーがボタンを押し、⻑押しになる前に放した場合。
• 「戻る」アクションはその時点におけるアプリの状態で解釈が異なる場合もありますが、基本的にはイン
ターフェイス階層を1つ戻ります。たとえば、アプリメニューを開いて第1階層の初期画⾯が表⽰されて
いる場合、戻るボタンを短押しするとアプリのメニューが閉じます。アプリメニューが表⽰中でなく、ま
たアプリ側で定義されたその他のステートフルな画⾯や状態でもない場合は、短押しで確認ダイアログが
表⽰され、アプリを終了してOculus Homeに戻ります。
⾳量ボタンの操作:
• ⾳量ボタンでは必ず、Oculus Mobile SDKが提供するVR⾳量UIを使い、⾳量を調整できるようにしてくださ
い。
LTEとWi-Fi
LTEはWi-Fiに⽐べ、著しくバッテリーを消費します。データ通信を(ログインやランキング程度ではなく)著しく
使⽤する場合はすべて、Wi-Fi接続を要求するようにしてください。広い帯域幅を必要とするアプリ(映画のスト
リーミングアプリなど)では、必ずWi-Fi接続を要求してください。
配布契約書
アプリの初回審査が完了したら、申請者に配布契約書をお渡しします。
エンドユーザー使⽤許諾契約書
配布契約書では申請者に、アプリのユーザーへ向けたエンドユーザー使⽤許諾契約書(EULA)を提出することを
推奨しています。提出した場合、アプリの購⼊/配信フローにEULAが組み込まれます。EULAを提出しない場
合、配布契約書で定めるとおり、アプリの使⽤にあたっては事前に⽤意された規約が適⽤されることになりま
す。
| よくある問題 | 11
対象年齢とレーティング
Oculus Homeのユーザーは13歳以上でなければなりません。申請時に2種類のレーティング(13歳以上また
は17歳以上)のどちらかを選択できます。アプリの内容の性質について簡単な説明を⼊⼒できるフィールドも⽤
意します。
Oculusの名称とロゴの使⽤制限
Oculusの商標(名称、ロゴ、および「Rift」や「Gear VR」などOculusとそのパートナー企業の製品名)を、アプ
リに表⽰しないでください。ただし、Oculusのハードウェアやサービスに⾔及する場合、たとえば「終了し
てOculus Homeに戻りますか?」などというダイアログボックスその他のUIは例外とします。
ユーザーデータとパーミッション
アプリに必要なパーミッションだけをリクエストしてください。
アプリがユーザーに関するデータを(統計データの収集、バックアップの保存、マッチメイキング等の⽬的で)外
部サーバーに送信する場合、アプリの申請時にその旨を申告する必要があります。ストアを通じて配布される
アプリは、ユーザーのデバイス上のデータに損害を与えたり、破壊したりすることがあってはなりません。
要点はざっと以上のとおりです。最後までお読みいただき、ありがとうございました。お困りのことがありま
したら、当社までお問い合わせください。皆さんの作品を拝⾒できるのを楽しみにしています。