Product Viveport Developers Forum Blog Support
Download
VIVEPORT SDK
1.7.16
  • VIVEPORT SDK
    • Introduction
      • How Does the Client-Side SDK Work?
      • VIVEPORT ID and VIVEPORT Key
      • System Requirements
      • SDK Usage Outline
      • Support
    • API Overview
      • Top Level API
        • How to Use Top Level API
        • Detailed Example in Unity
        • Detailed Example in Unreal
      • DRM API
        • Introduction
        • Function spec
        • Details
        • Best Practice
        • Sample Code
        • Notes
      • Session Token API
        • How to use Session Token API
        • Detailed Example in Unity
        • Detailed Example in Unreal
      • User Profile API
        • How to use User Profile API
        • Detailed Example in Unity
        • Detailed Example in Unreal
      • In-App Purchase (IAP) API
        • How to use In-App Purchase (IAP) API
        • Webhook Setting flow and usage
        • In-App Purchase work flow
        • In-App Purchase Subscription work flow without the game server
        • In-App Purchase Subscription work flow with the game server
        • Currency Mapping Table
        • Detailed Example in Unity
        • Detailed Example in Unreal
        • FAQ
      • Subscription API
        • Introduction
        • Function Spec
        • Details
        • Error code
        • Best Practice
        • Before testing
        • Sample Code
      • Deeplink API
        • Introduction
        • Function Spec
        • Details
        • Error code
        • Best Practice
        • Before testing
        • Sample Code
      • Downloadable Content (DLC) API
        • How to use Downloadable Content (DLC) API
        • Detailed Example in Unity
        • Detailed Example in Unreal
      • Stats & Achievements API
        • How to use Stats & Achievements API
        • Step by step: Stats & Achievements
        • Detailed Example in Unity
        • Detailed Example in Unreal
      • Leaderboards API
        • How to use Leaderboards API
        • Download a Leaderboard
        • Upload a Score
        • Step by step: Leaderboards
        • Detailed Example in Unity
        • Detailed Example in Unreal
    • Integration with Unity
      • Create or Import Your Content into Unity
      • Download and Install the VIVEPORT SDK
      • Install the VIVEPORT SDK into Unity
      • Tools for developers of Unity
        • Main Thread Dispatcher
    • Integration with Unreal Engine
      • Create or Import Your Content into Unreal Engine
      • Download and Install the VIVEPORT SDK
      • Install the VIVEPORT SDK into Unreal Engine
      • Integrate the VIVEPORT SDK into Your Content
      • Setting up Unreal to work with SteamVR (Windows)
    • Integration with C#
      • Create an empty C# project in your Visual Studio 2015
      • Copy settings into your project
      • Reload your project and rebuild
    • Integration with C++
      • Create an empty C++ project in your Visual Studio 2015
      • Copy sources and settings into your project
        • 1.For Windows 32 bits release environemnt:
        • 2.For Windows 64 bits release environemnt:
        • 3.For Windows 32 bits debug environemnt:
        • 4.For Windows 64 bits debug environemnt:
        • 5.For necessary source and header files:
      • Reload your project and rebuild
    • Photon Viveport Authentication
      • Introduction
      • Function Spec
      • Details
        • Error code
        • How to receive a secret key
      • Best Practice
        • Before testing
      • Sample Code
      • Notes
        • 1.How to integrate with Photon Dashboard
        • 2.How to integrate with Photon SDK
    • API Version History
      • Common API
        • Top API
        • DRM API
      • VIVEPORT API
        • User Profile API
        • Session Token API
        • Downloadable Content (DLC) API
        • Stats & Achievements API
        • Leaderboard API
        • In-App Purchase API
    • Glossary
      • Error Codes
        • Trouble Shooting
      • Stats in Developer Console
      • Achievements in Developer Console
      • Leaderboard in Developer Console
  • VIVEPORT ARCADE SDK
    • Introduction
      • How Does the Client-Side SDK Work?
      • VIVEPORT ID and VIVEPORT Key
      • System Requirements
      • SDK Usage Outline
      • Support
    • ViveportSwitch tool
      • FAQ
    • API Overview
      • Top Level API
        • How to Use Top Level API
        • Detailed Example in Unity
        • Detailed Example in Unreal
      • DRM API
        • How to Use DRM API
        • DRM for Android
        • Detailed Example in Unity
        • Detailed Example in Unreal
      • Leaderboards for VIVEPORT Arcade API
        • How to use Arcade Leaderboard API
        • Download a Arcade Leaderboard
        • Upload a Score
        • Step by step: ViveportSwitch tool
        • Step by step: Leaderboards
        • Detailed Example in Unity
      • Sessions (Per-round) for VIVEPORT Arcade API
        • How to use Sessions API
        • Step by step: ViveportSwitch tool
        • VIVEPORT Arcade Session work flow
        • Detailed Example in Unity
        • Detailed Example in Unreal
        • FAQ
        • When should we send Start() and Stop() API in app?
        • Problem in multi-player game
    • Integration with Unity
      • Create or Import Your Content into Unity
      • Download and Install the VIVEPORT SDK
      • Install the VIVEPORT SDK into Unity
    • Integration with Unreal Engine
      • Create or Import Your Content into Unreal Engine
      • Download and Install the VIVEPORT SDK
      • Install the VIVEPORT SDK into Unreal Engine
      • Integrate the VIVEPORT SDK into Your Content
      • Setting up Unreal to work with SteamVR (Windows)
    • API Version History
      • Leaderboard for VIVEPORT Arcade API
      • Sessions (Per-round) for VIVEPORT Arcade API
  • VIVEPORT SCENE SDK
    • Viveport VR Preview Editor 2017 Tutorial
      • A step by step guide. No previous experience with Unity necessary.
      • Download Required Files
      • Required Hardware
      • Restrictions
      • Index:
        • Project Setup
        • Prepare and import these assets from your title into the project directory
        • Setup the scene. Save often.
        • Setup teleporting. Save often.
        • Add interactive objects. Save often.
        • Skybox/Background Design. Save often.
        • Lighting. Dynamic and Baked. Save often.
        • Add Ambient Audioscape. Save often.
        • Open the Export Editor to export your VR Preview. Save often.
      • Export your VR Preview Step by Step
      • Test Exported VR Preview
      • Submit VR Preview
      • Congratulations! Thank you for supporting the world of Virtual Reality!
      • Support
    • Interactive Objects Guide
      • Interaction types
      • Initial setup
        • Interactive Object Highlighting
        • Pickup/Throwable Objects
        • Immobile Interactive Objects
      • Adding interactions
    • Audio guide
      • Audio clip providers
      • Interaction types
      • Initial setup
        • Interaction audio sources
      • Vive object audio ambience
    • Migrating from Viveport Scene SDK 1.0 to 1.1
  • Vive Hand Tracking SDK Guide
    • Vive Hand Tracking SDK Overview
      • Introduction
        • Supported Operation Systems & Hardware
        • Supported Features
        • Available Plugins
        • Limitations
        • Developer Support
      • Supported Hardware
        • Available OS and VR Devices
        • Detection speed
      • Available Features
        • Hand Classification
        • Hand Positions (Modes)
    • Release Notes
      • v0.8.2, 2019/10/09
        • Unity Plugin
        • Unreal Plugin
      • v0.8.1, 2019/05/31
        • Unity Plugin
        • Unreal Plugin
      • v0.8.0, 2019/03/18
    • Hand Tracking Unity Plugin
      • Setup
        • Windows
        • WaveVR (Vive Focus)
        • Android Phones
        • Selecting Android Binary (Advanced Users Only)
      • Upgrade Note
        • Upgrading to v0.8.1
      • Usage
        • Add Script to the Scene
        • Start/Stop detection
        • Android Camera Permission
        • Getting Detection Result
        • Draw Detected Hands As Skeletons
        • Draw Detected Skeleton As 3D Model
      • Samples
        • Setup the renderer
        • Display hand result
      • API Reference
        • GestureProvider.cs
        • GestureInterface.cs
    • Hand Tracking Unreal Plugin
      • Setup
        • Unpack Plugin
        • Windows
        • WaveVR (Vive Focus)
        • Android Phones
        • Selecting Android Binary
      • Usage
        • Setup Game Mode
        • Use Sample Level
        • Use In Existing Level
        • Start/Stop detection
        • Get Detection Result
        • Draw Detected Hands As Skeletons
      • API Reference
        • Components
        • Structs
        • Enums
    • Hand Tracking Android Plugin
      • Setup
        • WaveVR (Vive Focus)
        • Android Phones
      • Usage
        • Before Start
        • Start Detection
        • Polling Detection Result
        • Using Detection Result
        • Stop detection
      • Samples
        • Start detection on app startup/resume
        • Stop Detection on App Stop/Pause
        • Polling and Using Detection Results
      • Javadoc
        • com.aristo.gesture
    • Hand Tracking C/C++ API
      • Setup
        • Windows
        • WaveVR (Vive Focus)
        • Android Phones
      • Usage
        • Before Start
        • Start Detection
        • Getting Detection Result
        • Stop Detection
      • API Reference
        • Functions
        • Structs
        • Enums
    • Miscellaneous
      • Camera Setup in SteamVR
        • Update SteamVR and GPU Driver
        • Enable camera in SteamVR
        • Test camera in SteamVR
        • Troubleshooting camera in SteamVR
      • Copyright information for VIVE Hand Tracking SDK
        • Third Party Component Notice and Licenses including Open Source Software
  • VIVEPORT AirSig SDK
    • Introduction
      • Usage Cases
      • System Requirements
      • Installation
      • Support
    • API Overview
      • Method
        • How to use API
        • VIVEPORT AirSig work flow
        • Example in Unity
      • Event Delegates
        • How to use API
        • VIVEPORT AirSig work flow
        • Example in Unity
    • Integration with Unity
      • Vive version
        • How to use the demo scene
      • Mobile version
        • Wave SDK version
        • How to use the demo scene
  • Download Latest Version
    • VIVEPORT SDK
    • VIVEPORT SCENE SDK
    • VIVE HAND TRACKING SDK
  • Release Notes
    • VIVEPORT SDK
      • 1.7.16, 2019/11/18
      • 1.7.15, 2019/09/24
      • 1.7.14, 2019/08/08
      • 1.7.13, 2019/07/10
      • 1.7.12, 2019/05/22
      • 1.7.11, 2019/05/07
      • 1.7.10, 2018/08/14
      • 1.7.9, 2018/08/02
      • Earlier versions
        • 1.7.8, 2018/07/09
        • 1.7.7, 2018/06/20
        • 1.7.6, 2018/06/08
        • 1.7.5, 2018/05/28
        • 1.7.4.1, 2018/05/02
        • 1.7.4, 2018/04/18
        • 1.7.3, 2018/03/22
        • 1.7.2, 2018/03/02
        • 1.7.1, 2018/01/12
        • 1.7.1, 2018/01/05
        • 1.7.1, 2017/12/14
        • 1.7.0, 2017/11/14
        • 1.6.5, 2017/10/03
        • 1.6.4, 2017/08/16
        • 1.6.3, 2017/07/10
        • 1.6.2, 2017/06/28
        • 1.6.1, 2017/06/19
        • 1.6.0, 2017/05/08
        • 1.5.1, 2017/04/13
        • 1.5.0, 2017/03/23
        • 1.0.0, 2016/03
      • Feature Support Matrix
        • VIVEPORT SDK
        • VIVEPORT Arcade
    • VIVEPORT SCENE SDK
      • 2.0.0, 2019/01/02
      • 1.8.1, 2018/06/01
      • 1.8.0, 2018/05/04
      • Earlier versions
    • VIVEPORT HAND TRACKING SDK
      • 0.8.2, 2019/10/09
  • Docs »
  • VIVEPORT SDK »
  • API Overview »
  • Deeplink API

Deeplink API¶

Introduction¶

The Deeplink APIs allows you to launch the app you want or go to store instead if the user does not buy or install the content.

Note

Deeplink API are supported on both Android and PC after SDK 1.7.16 and VIVEPORT Desktop version 1.3.11(r12)

Function Spec¶

void IsReady(StatusCallback callback)

Initialize Deeplink API.

API parameters:

Name Class Description
callback StatusCallback callback function
void GoToApp(StatusCallback2 callback, string viveportId, string launchData)

Launch a specific content by VIVEPORT ID, and send the launchData to it.

API parameters:

Name Type Description
callback StatusCallback2 callback function
viveportId string VIVEPORT ID of content
launchData string launch parameter
void GoToApp(StatusCallback2 callback, string viveportId, string launchData, string branchName)

Launch a specific content by Viveport ID, and send the launchData to it. Set the target branch name if the user may install beta version and production version at the same time.

API parameters:

Name Type Description
callback StatusCallback2 callback function
viveportId string VIVEPORT ID of content
launchData string launch parameter
branchName string launch “BETA” or “PROD” Version
void GoToStore(StatusCallback2 callback, string viveportId)

Launch the store and go to the specific detail page by VIVEPORT ID. Use an empty string for viveportId in the API’s argument, to go back the store which launched your title.

API parameters:

Name Type Description
callback StatusCallback2 callback function
viveportId string VIVEPORT ID of content. The default value is empty
void GoToAppOrGoToStore(StatusCallback2 callback, string viveportId, string launchData)

The API will combine the features of above two APIs. It will automatically detect whether the user buys or installs the content, then launch this content or go to the store detail page.

API parameters:

Name Type Description
callback StatusCallback2 callback function
viveportId string VIVEPORT ID of content
string GetAppLaunchData()

The launch data input in the parameter of GoToApp can be gotton through the API. It can be used in specific level of the content.

API Return: string

Type Description
string the parameter of launchData input in the GoToApp API

Details¶

How to get a VIVEPORT ID and VIVEPORT key

  • Please correctly paste the VIVEPORT ID and VIVEPORT KEY of the content into your code snipped through Copy VIVEPORT ID and Copy VIVEPORT KEY buttons on the Manage -> VIVEPORT Listing page of developer console.

    _images/AppID.png

Error code¶

Error Code Description & Trouble Shooting
0 Success, no error
50001 Invalid account id/VIVEPORT id/VIVEPORT key
50004 Cannot connect to server
60300 Content is not installed
60310 VIVEPORT ID doesn’t exist or the internet was diconnected
80002 User does not login VIVEPORT account

Best Practice¶

Attention

  • To get VIVEPORT ID and VIVEPORT Key correctly from the VIVEPORT developer console.
  • To use Top Level API - Viveport.Api.Init to initialize VIVEPORT platform. For Unity developer, it is usually used in MonoBehaviour “Start()”.
  • To use DRM API - Viveport.Api.GetLicense to verify whether current user is allowed to launch the content. It is usually used in where to check the user’s authentication. Show an error message and close the content if getting the error code from the API.
  • To use Deeplink API - Viveport.Deeplink.GoToApp to directly launch the content by using the VIVEPORT ID assigned.
  • To use Deeplink API - Viveport.Deeplink.GoToStore to go to the store detail page to remind user to buy / install the content.
  • To use Deeplink API - Viveport.Deeplink.GoToAppOrGoToStore to decide the API is going to launch content or going to store depending on the user’s purchase status.
  • To use Deeplink API - Viveport.Deeplink.GetAppLaunchData to get the launch data that can be used to switch level or something while content is launching.
  • To use Top Level API - Viveport.Api.Shutdown to shutdown and release VIVEPORT SDK resources. For Unity developer, it is usually used in MonoBehaviour “OnDestroy()” or before Application.Quit().
  • The API will launch current installed APP if the contents are in the production and beta environment at the same time.

Before testing¶

  • Go to VIVEPORT website and download VIVEPORT desktop application.

    _images/Viveport_home.png
  • Install the downloaded file ViveportSetup.exe and follow the step by step to complete the setup process.

  • On the PC desktop, a VIVEPORT icon will be there. Double click to launch it and sign in as your developer account.

    _images/viveport_desktop_icon.png

Important

You could also see the Error Codes and Trouble Shooting pages to know what to do when you got problems using the VIVEPORT SDK.

Sample Code¶

  • Unity / Unreal

LEGAL

  • Privacy Policy
  • Viveport Term of Usage
  • Code of Conduct
  • Copyright
  • Product Security

SUPPORT

  • Developers
  • Vive X
  • Vive Software Download
  • Viveport App Download
  • Community
  • FAQs
  • Contact Us

COMPANY

  • Blog
  • Vive.com
  • Vive Press Room
  • About HTC
Language

Join the conversation

© 2011-2018 HTC Corporation