Viveport Listing
Content URL
When your title publishes it will be your app id at the end of https://www.viveport.com/mobileapps/
For example, if your app ID is: 8117abd4-b7e7-4c74-bdc5-b9e271e86b19
Then your URL will be:
https://www.viveport.com/mobileapps/8117abd4-b7e7-4c74-bdc5-b9e271e86b19
Please note that there is no URL for Cardboard and Link content on Viveport web store.
Application title and description
Please enter the localized title and description for your content. If you have localized content, ensure you select the appropriate languages in the Manage Languages prompt and add the translated title and text in the fields after selecting the language from the dropdown menu. The best practice for displaying your content name on the store is to keep the title length under 20 characters.
Please also set up localized titles for different languages in the android app manifest file just like those you enter on Viveport developer console. You can find the guide here for setting up a label attribute for the application. (*After you submitted your content, we’ll help localize your title and description into Simplified Chinese and Traditional Chinese if you only entered English title and description. In this case, you can update the android app manifest afterward.)
Runtime
- Cardboard
- WAVE (LINK)
- WAVE
Content manifest for WAVE titles
The content manifest, which provides essential information to the system, is required for every piece of WAVE-supported content. You can find instructions for the components that should be deployed in the manifest file in the WAVE SDK document .
Below are optional components that we recommend you fill in to help us better understand your content. The metadata might affect how Viveport store distributes your content across different devices. After uploading your APK with the correct manifest file to the console, please help confirm the values that we parsed from your APK.
Examples are given in each component.
-
Capability of DoF support for the head-mounted display (HMD):
<meta-data android:name="com.htc.vr.content.NumDoFHmd" android:value="6DoF"/>
Please consider the DoF support of HMD and controller individually for your content.- Set value “3DoF” if your content only considers the rotation pose.
- Set value “6DoF” if your content considers both rotation and position pose.
-
Set value “3,6DoF” if your content is capable of supporting both 3 and 6 DoF playing.
-
Capability of DoF support for the controller:
<meta-data android:name="com.htc.vr.content.NumDoFController" android:value="6DoF"/>
-
Total number of controllers that your content supports:
<meta-data android:name="com.htc.vr.content.NumController" android:value="1"/>
Compatible headsets (optional for Cardboard content)
If your mobile VR content supports a specific viewer SDK, you may select from the following options (leave blank if your app uses only the Google Cardboard SDK):
- Mojing 暴風魔鏡
- Deepoon 大朋看看
- Huawei VR
Control capability (optional)
Cardboard:
- No controller (default)
- Magnet
- Tap
- 3Dof controller
- Touchpad
WAVE (LINK):
- 6Dof controllers x 2 (default)
- 6Dof controller x 1
- No controller
- All of the above
Media type, genres, and other required fields.
Select a media type for you content from the following two options:
- Apps
- Games
Once you have selected a media type, you will select up to five genres from the following options (each media type comes with a different set of genres):
Digital rights management (DRM)
- Viveport SDK DRM
Select the checkbox if you have integrated the Viveport SDK DRM into your title. Please double-check by referring to this document below.
>>Viveport SDK DRM
Find steps to complete the DRM SDK:
-
- Call top level API – Api.Init() to setup the SDK library and client runtime.
- Use API GetLicense() to get the user’s content license, which is issued from Viveport to verify if the current user has permission to launch the content. Input parameters as below.
-
-
- Viveport ID
- Viveport key
- LicenseChecker (Note: You need to implement a subclass of LicenseChecker to decide what to do if user’s license verification is successful or failed.)
- Call top level API – Api.Shutdown() to teardown the library runtime after you finish using Viveport SDK.
-
- Wrapper-based DRM
Select the checkbox and follow the instructions below to apply wrapper-based DRM to your title. This option is recommended if you did not integrate the Viveport DRM SDK or other DRM solutions into your title.
-
- Select the checkbox and you will see a pop-up “Upload APK” button.
- Upload your APK file. It’ll take several minutes to complete the DRM wrapping process.
- After the DRM wrapper has been applied, please download the APK and sign your title with your release key (See detailed instructions below).
- Go to the “APK & What’s New” tab to upload the final APK to Viveport.
How to sign your title with the release key?
-
- Install the Java Development Kit (JDK) on your computer.
-
Add the location of the bin folder of the JDK installation for the PATH variable in System Variables. The path will look like:
c:\Program Files\Java\jdk-9.0.4\bin
-
- Create a folder named “SignAPK” and put the APK file you want to sign in it. Then create a subfolder named “key” in the folder “SignAPK”.
-
Run Command Prompt as administrator and type the following command under the directory of the subfolder “key”
keytool -genkey -v -keystore ./my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
-
- Enter your keystore’s 6-digit password twice and answer questions about your name and organization accordingly.
- Find your “keystore” file in the “key” folder and put it into the “SignAPK” folder with your APK file.
-
Type the following command under the directory of the folder “SignAPK”.
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore your_apk_name.apk alias_name
Please replace “your_apk_name” with the name of your APK file.
-
- The process is done when you see “jar signed.”.
-
Type the command below to verify if you’ve signed the key successfully.
"jarsigner -verify your_apk_name.apk"