The Headset install blocker was explained to the wonderful CAD team this evening.
I explained that although I can see it on my device, I can’t get the APK to install. I think it’s because the APK is still in draft on the oculus store and I think it needs to be in an alpha channel for it to install. I have been spending the last couple of weeks trying various fixes such as sideloading etc but to no avail. I’ve passed it over for Al to download a zip file so that he can take a look at the unity file and see what is going on there. I’m now going through the actual submission process which seems a little long winded just to conduct some user testing on the Gear VR.
Stephen said he’d had a similar problem and he sent over his fix for his shelterbox app. This looks like instructions to play an android app on an oculus quest. I have theADB installer, installed and the device is set to developer mode but I think, because its a gear and not a quest, it is still wanting an .osig file.
Sarah installed the APK on her gear and it is redirecting to the Ocuclus store.. which is good news that its redirecting so maybe if I complete the alpha channel build then anyone with the link should be able to play the app.
So, while I can ask Al to check out Stephens fix, I can also complete the Alpha channel set up. This is the current status:
I have a complete run down of the APK which oculus is flagging as APK Debuggable and Android manifest must be set to true.
From what I can understand, the APK is a kind of zip file which contains the android manifest. This indicated lots of essential things to do with the build and how the device will handle it.
The APK must conform to oculus publishing standards… however, there also seem to be a number of bugs in the process which are known. Researching these indicated that the manifest can be set to true and set to debuggable via an APK tool,,, but I’m just not sure.
I going to check the build again as detailed on the oculus development and also the unity player settings as these might have been changed as I tried to change platforms to export to both standalone and webGL.
- Click Oculus > Tools > Create store-compatible AndroidManifest.xml.
- Click Edit > Project Settings > Player.
- Expand the Other Settings properties, and select the Android tab.
- Under Identification, enter a unique name in the Package Name field. The package name must be unique within the entire Oculus ecosystem, but it must be similar to the app’s Oculus store title.
- Increment the Bundle Version Code. This value must always be greater than the value in the last build uploaded to any release channel.
- Set Minimum API Level to the following depending on your target device:
- For Go: Android 5.0 ‘Lollipop’ (API level 21)
- For Quest: Android 6.0 ‘Marshmallow’ (API level 23)
- Set Install Location to Automatic.
- For Quest and hybrid apps – Enable the headtracking feature per signing requirements of the app. For more information, see Application Signing.
- For Quest (v2 signing): <uses-feature android:name=”android.hardware.vr.headtracking” android:required=”true” android:version=”1″ />
- For hybrid Go/Quest apps (v1 signing): <uses-feature android:name=”android.hardware.vr.headtracking” android:required=”false” android:version=”1″ />
- The package name should not be left as default or copy/pasted from another app. It must not be shared with any other Oculus Store app.
- The installLocation must be set to auto.
- The versionCode must be greater than the value used in a previous build of this app.
- The android:debuggable value must be false. Your app must be a release version, not a debug version.
- android:minSdkVersion, android:targetSdkVersion, and android:compileSdkVersion must be set appropriately. API versions greater the minimums specified prevent users from installing your app. For previously released app, use caution when changing the minSdkVersion as you may break compatibility for users on older versions of Android. For apps that target both Quest and Go/Gear with the same APK. minSDKVersion should be lower of the values, but the target and compile versions must align with the higher Quest values.
Following are the accepted values for minSdkVersion, targetSdkVersion and compileSdkVersion by device:
• Device
|
• minSdkVersion
|
• targetSdkVersion
|
• compileSdkVersion
|
• Go/Gear
|
• 21
|
• 21+
|
• 21+
|
• Quest
|
• 23
|
• 25+
|
• 26+
|
- • Specify the correct intent category for the MAIN action:
- For Oculus Go, use android.intent.category.INFO, and NOT android.intent.category.LAUNCHER so that your app appears only in Oculus Home and not the device launcher.
- For Oculus Quest, android.intent.category.LAUNCHER is allowed.
- The excludeFromRecents value should be set to true.
Target Device(s)
|
Signing Scheme Version
|
More Details
|
Quest only
|
v2
|
You must add headtracking feature to the manifest to sign as v2. For more information, see Android Application Signing.
|
Go
|
v1
|
The v1 scheme is based on JAR signing. See Application Signing (Android Docs).
|
Go and Quest
|
Sign as v1, but if app uses headtracking, mark the manifest with android:required=”false”)
|
For more information, see Android Application Signingand Application Signing (Android Docs).
|