Oculus Storeにビルドをアップして、メールアドレスを使ってβテストを行うことのできる仕組みがあります。
ストアにはSTORE,RC,BETA,ALPHAのデフォルトのチャンネルがありますが、まずはALPHAチャンネルにビルドをアップしてみます。
手順は下記を参考にさせてもらったのですが、Unityのバージョンや状況によってだいぶ変わるようなのでメモしておきます。
まず、手順の「Oculus>Tools>Create store-compatible AndroidManifest.xml」の部分です。
この場所(Plugins/Android/以下)に、既にアセットなどによってAndroidManifest.xmlが生成されている場合があります。その場合は、いったん別名にして退避してから実行しましょう。(それを自動でマージする仕組みもあるのかもしれませんが、不明なので今回は後で手動で移植しました)
そしてビルドすると、「Unable to merge android manifests」が出る場合です。これを回避するには、上記で作成したマニフェストのApplication要素に「tools:replace=”android:allowBackup”」を追加します。
<?xml version="1.0" encoding="utf-8" standalone="no"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:installLocation="auto"> <!-- Request the headset DoF mode --> <application android:allowBackup="false" tools:replace="android:allowBackup" >
また、手順には、手動で
package
android:versionCode
android:versionName
の要素を追加するとありますが、Unity 2018.3.3f1では、その必要はありませんでした。
apkのマニフェストの内容を下記で確認したところ、問題なくUnityのPlayer Settingsの情報が入っていました。
同じく手順に、「署名が異なる時にはGradleではなくInternalでビルドする」とありますが、これも逆にInternalだと署名エラーになったので、Gradleでビルドします。(あくまでもUnity 2018.3.3f1の場合と思われます)
もしそもそもGradleでビルドできない場合は下記を参考にしてください。
これでALPHAチャンネルにアップすることができました。
【追記】
Storeにアップ可能なapkのAndroidManifestは、
<category android:name="android.intent.category.INFO"/>
のようです。ただ、ここがINFOだと、UnityでBuild and Runを実行したときに自動的に起動しません(INFOがLAUNCHERだと起動する)
LAUNCHERにしてしまうと、ストアにアップしたときに怒られてしまうので、自動起動とストア申請は排他的なものと考えないといけないのかしれません。