Edited at

OculusGoアプリのリリース用APK作成手順まとめ #OculusGoDev

More than 1 year has passed since last update.

OculusGoのベータテストをお願いしたい & ストアにリリースしたい場合の手順まとめです。

触ってみて思いましたが、Unityのバージョンによって起こる不具合もあるようなので

作り込む前に一度リリースビルドの経験はしておいたほうが良い気がします。

なおOculusのドキュメントの必要な箇所に翻訳を導入しています。

翻訳を参照したければ taiyaq.comをご利用ください。


デベロッパーサイト側の設定

https://developer.oculus.com/ に入ります。すでにログイン済みだと仮定します。

マイアプリ_-_Oculus_と_【Unity】GearVR_アプリを_Oculus_Store_に申請する(要件・仕様の概要)_-_ヽ|∵|ゝ_Fantom__の_開発blog?.png

左サイドメニューのManageという項目をクリックします。

新しいアプリを作成をクリックします。

マイアプリ_-_Oculus.png

今回はOculusGo用なのでMobileを選択します。

マイアプリ_-_Oculus.png

アプリ名に対する指定については以下を参照してください。

https://developer.oculus.com/distribute/latest/concepts/publish-content-bp/

翻訳はこちら

以下のような命名基準があるようです。


  • アプリケーションの目的、つまりアプリケーションの機能やアプリ内の体験を考慮する

  • 「VR」および未所有商標の追加を避ける

  • アプリの名前がす​​べてのロゴや視覚的なアセットに一致するようにする

  • Oculusという言葉は使わない

マイアプリ_-_Oculus.png

自分の場合は安直に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の修正が不要でしたが、突然必要になったようです。

以下該当ソースになります


Assets/Plugins/Android/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側の以下の設定に対応します

Unity_2018_1_0f2_Personal__64bit__-_stage5_unity_-_FPS2018_-_Android__Personal___Metal_.png

(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/ に入りログインを行います。

TestFlight__ビルドダッシュボード_-_Oculus.png

左サイドメニューから Manage > 自分のユーザ名 > アプリ名 > ビルド を管理をクリックします。

今回はALPHAチャネルへのアプロードを行います。

TestFlight__ビルドダッシュボード_-_Oculus.png

TestFlight__ビルドダッシュボード_-_Oculus.png

上記画面に対して直接作成したAPKファイルをドラックします。

TestFlight__ビルドダッシュボード_-_Oculus.png

アップロードが進行中です。

TestFlight__ビルドダッシュボード_-_Oculus.png

上記のようにテストのステータスが完了になると成功です。


アップロード後の失敗例

いくつか失敗したのでこちらにまとめます


間違って開発用APKをアップロード

コメント内容は無視してください。開発時のapkを間違えてアップロードしていました。


signature-schema-v1になっていない

上記の場合は以下の箇所を見直します。

Build_Settings.png

File > Build Settings にて Build SystemInternalに変えてください

注意点 :

この対応は暫定対応です。元々Internalを使うのはよろしくないようです。以下の様な話があります

参考:

https://answers.unity.com/questions/1395619/how-to-sign-gear-vr-apk-using-signature-schema-v1.html


リリース用署名忘れ

上記は署名手順漏れの場合です。上述した署名の手順を忘れないでください


テストユーザーを募る

TestFlight__ビルドダッシュボード_-_Oculus.png

上記箇所をクリックすることでテストユーザーを募ることができます。

OculusGoに紐付いたメルアドを登録してください。


テストユーザ側のインストール手順

開発者側だとユーザがどのようにインストールするのかわからないため、

@oreno_dinnerさんにインストール時の挙動をyoutubeにしていただきました。

Storeの後方に表示されるようです。

https://www.youtube.com/watch?v=rEmWpITbMIA&feature=youtu.be&t=7s

@oreno_dinnerさんありがとうございました。


最後に

StoreチャネルにアップロードすることでStoreに出品が可能になりますが

レビューがあるためハードルが高いようです。ストアに登録できたらまた手順をまとめてみます。

参考:

https://qiita.com/T_2/items/0236162c294ffdf17ca8

http://fantom1x.blog130.fc2.com/blog-entry-258.html#oculus_store_flow