Please Select Your Location
Canada - Français
Česká republika
المملكة العربية السعودية (Arabic)
New Zealand
Saudi Arabia
Southeast Asia
United Kingdom
United States
Please Select Your Location
Česká republika

Viveport Listing

Content URL

When your title publishes it will be your app id at the end of

For example, if your app ID is: 8117abd4-b7e7-4c74-bdc5-b9e271e86b19

Then your URL will be:

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.)


  1. Cardboard
  2. WAVE (LINK)
  3. 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.

  1. Capability of DoF support for the head-mounted display (HMD):
    <meta-data android:name="" 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.

  2. Capability of DoF support for the controller:
    <meta-data android:name="" android:value="6DoF"/>
  3. Total number of controllers that your content supports:
    <meta-data android:name="" 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):

  1. Mojing 暴風魔鏡
  2. Deepoon 大朋看看
  3. Huawei VR

Control capability (optional)


  1. No controller (default)
  2. Magnet
  3. Tap
  4. 3Dof controller
  5. Touchpad


  1. 6Dof controllers x 2 (default)
  2. 6Dof controller x 1
  3. No controller
  4. All of the above

Media type, genres, and other required fields.

Select a media type for you content from the following two options:

  1. Apps
  2. 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):

Action Adventure Art & design
Business Casual Documentary
Education Escape room Health & fitness
Horror Music Narrative
Productivity Racing Real estate
RPG Sci-Fi Shooter
Simulation Social Sports
Strategy Travel Video

Digital rights management (DRM)

  1. 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.
      1. Viveport ID
      2. Viveport key
      3. 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.
  1. 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"