OculusGoのベータテストをお願いしたい & ストアにリリースしたい場合の手順まとめです。
触ってみて思いましたが、Unityのバージョンによって起こる不具合もあるようなので
作り込む前に一度リリースビルドの経験はしておいたほうが良い気がします。
なおOculusのドキュメントの必要な箇所に翻訳を導入しています。
翻訳を参照したければ taiyaq.comをご利用ください。
デベロッパーサイト側の設定
https://developer.oculus.com/ に入ります。すでにログイン済みだと仮定します。
左サイドメニューのManageという項目をクリックします。
新しいアプリを作成をクリックします。
今回はOculusGo用なのでMobileを選択します。
アプリ名に対する指定については以下を参照してください。
https://developer.oculus.com/distribute/latest/concepts/publish-content-bp/
翻訳はこちら
以下のような命名基準があるようです。
- アプリケーションの目的、つまりアプリケーションの機能やアプリ内の体験を考慮する
- 「VR」および未所有商標の追加を避ける
- アプリの名前がすべてのロゴや視覚的なアセットに一致するようにする
- Oculusという言葉は使わない
自分の場合は安直にTestFlightとしました。
Unity側の設定について
かなり面倒なことになりました。今回Unity 2018.1.0f2
を使っていますが、AndroidManifest.xml
がUnity側の設定を引き継いでくれない箇所がいくつかありますので手動での編集が必要となります。
その箇所については明示しますのでご注意ください。
マニュフェストの設定
リリースビルドを行うためには署名が必要です。
Tools>Oculus>Create store-compatible AndroidManifest.xml
を実行します。
すると Assets/Plugins/Android/AndroidManifest.xml
が作成されます。
Unity 2018特有の手順
Unity 2017までは特に AndroidManifest.xml
の修正が不要でしたが、突然必要になったようです。
以下該当ソースになります
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="(1)"
android:versionCode="(2)"
android:versionName="(3)"
android:installLocation="auto"
>
<application>
<activity
android:screenOrientation="landscape"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:configChanges="locale|fontScale|keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode"
android:launchMode="singleTask"
android:name="com.unity3d.player.UnityPlayerActivity"
android:excludeFromRecents="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.INFO"/>
</intent-filter>
</activity>
<meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="false" />
</application>
</manifest>
上記(1)
,(2)
,(3)
はUnity側の以下の設定に対応します
(1): Package name
(2): Bundle Version Code
(3): Version
それぞれの値をマニュフェストに同期させてください。
この手動作業は暫定的だと期待したいところです。
署名の設定
今回はリリース用の署名の設定を行います。
こちらの手順書に丸投げします。
http://www.clrmemory.com/unity/android-get-keystore/
デベロッパーサイトへの登録作業
Unityの設定が終わったらビルドを行います。
File
> Build Settings
> Build
apk
の保存先が聞かれますので把握しておきます。
https://dashboard.oculus.com/ に入りログインを行います。
左サイドメニューから Manage
> 自分のユーザ名
> アプリ名
> ビルド
を管理をクリックします。
今回はALPHAチャネルへのアプロードを行います。
上記画面に対して直接作成したAPKファイルをドラックします。
アップロードが進行中です。
上記のようにテストのステータスが完了
になると成功です。
アップロード後の失敗例
いくつか失敗したのでこちらにまとめます
間違って開発用APKをアップロード
OculusGoのリリースビルドができない。
— m0a (@abe00makoto) 2018年5月28日
エラー内容的にこの辺臭いけどhttps://t.co/5OImca564p#OculusGoDev pic.twitter.com/t09REk4qUd
コメント内容は無視してください。開発時のapkを間違えてアップロードしていました。
signature-schema-v1になっていない
まだ、マニフェストファイルまわりか pic.twitter.com/YpaS5BESI7
— m0a (@abe00makoto) 2018年5月29日
上記の場合は以下の箇所を見直します。
File
> Build Settings
にて Build System
をInternal
に変えてください
注意点 :
この対応は暫定対応です。元々Internalを使うのはよろしくないようです。以下の様な話があります
Unity標準がもうgradleに移行しているので、今後何かがあってもみんなシラネになるとこです(とくにAndroidのビルドツールが新しくなることによるエラーは直ることが期待できなくなります
— ようてん (@youten_redo) 2018年5月31日
参考:
https://answers.unity.com/questions/1395619/how-to-sign-gear-vr-apk-using-signature-schema-v1.html
リリース用署名忘れ
まだまだ pic.twitter.com/OFl7t1txWZ
— m0a (@abe00makoto) 2018年5月29日
上記は署名手順漏れの場合です。上述した署名の手順を忘れないでください
テストユーザーを募る
上記箇所をクリックすることでテストユーザーを募ることができます。
OculusGoに紐付いたメルアドを登録してください。
テストユーザ側のインストール手順
開発者側だとユーザがどのようにインストールするのかわからないため、
@oreno_dinnerさんにインストール時の挙動をyoutubeにしていただきました。
Storeの後方に表示されるようです。
@oreno_dinnerさんありがとうございました。
最後に
StoreチャネルにアップロードすることでStoreに出品が可能になりますが
レビューがあるためハードルが高いようです。ストアに登録できたらまた手順をまとめてみます。
参考:
https://qiita.com/T_2/items/0236162c294ffdf17ca8
http://fantom1x.blog130.fc2.com/blog-entry-258.html#oculus_store_flow