Group Launch
Feature deprecation notice
Group Launch is deprecated and has been removed from the Platform SDK. For developers working on new apps or updates to existing apps, we strongly recommend using the Invite to App feature (Unity, Unreal, Native) instead. Group Launch allows developers to create deep link urls for users to coordinate travel into your application together.
There are two types of Group Launches: private and public.
- Private - These deep launches have exclusive user list that control the visibility and are passed to the deep link.
- Public - These deep launches have no user list and can be used by anyone. These are the links that can be posted to social media.
These links have a configurable time to live (TTL) with a 7 day default. The associated room can be configured. Deletion is possible, but updating is not. Simply create a new deep link. The content shown on the Oculus website are the image and description from the destination the deep link is configured to.
To navigate users to destinations using the Meta Horizon mobile app, see
Invite Link.
Our S2S REST APIs are available as a secure channel to interact with the Meta Horizon platform. For example, you may wish to track and consume coins purchased through in-app purchases on your trusted server. This prevents any client-side tampering to grant unpurchased gems. Using the S2S APIs are not required, but may be used if you wish.
Create a public Group Launch deep link
Use this method to create a deep link that any user can join.
URL: https://graph.oculus.com/{app-id}/app_deeplink_public
METHOD: POST
Creating a new public link:
curl -X POST https://graph.oculus.com/$APP_ID/app_deeplink_public -d "access_token=OC|$APP_ID|$APP_SECRET" -d "destination_api_name=the_front_porch" -d "create_room=true" -d "fields=url"
Return parameter descriptions
| Parameter | Description | Type |
|---|
id
| The id of the group launch deep link. | integer |
Example return:{"id":"012345678911"}
Use this method to create a deep link with a specified leader and a list of users that is not available to the public.
URL: https://graph.oculus.com/{app-id}/app_deeplink_private
POST: /{app-id}/app_deeplink_private
Creating a new private link for a group of users:
curl -X POST https://graph.oculus.com/$APP_ID/app_deeplink_private -d "access_token=OC|$APP_ID|$APP_SECRET" -d "destination_api_name=the_front_porch" -d "create_room=true" -d "fields=url" -d "leader=$USER_ID" -d "users[]=$USER_ID_2&users[]=$USER_ID_3"
Creating a new private link for one person without a room:
curl -X POST https://graph.oculus.com/$APP_ID/app_deeplink_private -d "access_token=OC|$APP_ID|$APP_SECRET" -d "destination_api_name=the_front_porch" -d "create_room=false" -d "fields=url" -d "leader=$USER_ID"
Return parameter descriptions
| Parameter | Description | Type |
|---|
id
| The id of the group launch deep link. | integer |
Example return:{"id":"012345678910"}
Retrieve data about a Group Launch deep link
Use this method to get information about an existing group launch deep link.
URL: https://graph.oculus.com/{link_id}
METHOD: GET
Example Request (server authoritative):
GET /{link-id}/?fields=url,expiration_time,users\{alias\}
HTTP/1.1
Host: graph.oculus.com
Authorization: Bearer OC|1234757621998335|1234f7a788b0c0b270f9691d0a06d5a5
Example cURL request:
curl -G https://graph.oculus.com/$GROUP_LAUNCH_ID -d "access_token=OC|$APP_ID|$APP_SECRET" -d "fields=url,expiration_time,users{alias}"
Parameters
Example return:{"id":"012345678912", "url":"https:\/\/www.oculus.com\/vr\/01234578999\/"}
Use this method to delete a group launch deep link.
URL: https://graph.oculus.com/{link_id}
METHOD:DELETE
Example request (server authoritative):
GET /{link-id}/?fields=url,expiration_time,users\{alias\}
HTTP/1.1
Host: graph.oculus.com
Authorization: Bearer OC|1234757621998335|1234f7a788b0c0b270f9691d0a06d5a5
Example cURL request:
curl -X DELETE https://graph.oculus.com/$GROUP_LAUNCH_ID -d "access_token=OC|$APP_ID|$APP_SECRET"
| Parameter | Description | Type |
|---|
success
| A boolean that defines whether or not the request was successful. | boolean |
Example return:{"success":true}
Two person tournament from website
Two players have signed up on your tournament website to play against each other. You can generate a group launch link for them to launch the app directly into the match, from your website with a request to the following endpoint with parameters like these.
Endpoint: app_deeplink_private
| Parameter | Example value |
|---|
destination_api_name
| multiplayer_arcade_1v1 |
deeplink_message_override
| tournament_match=1234 |
leader | 5678910
|
users | %5B"11121314"%5D |
valid_for | 720
|
Example curl request:
curl -X POST "https://graph.oculus.com/$APP_ID/app_deeplink_private" -d "access_token=OC|$APP_ID|$APP_SECRET" -d "destination_api_name=multiplayer_arcade_1v1" -d "deeplink_message_override=tournament_match=1234" -d "leader=$USER_ID" -d "users=['$USER_ID']" -d "valid_for=0"
You released a new skin in your game and want users to check it out. You can generate a deep link and post it to your Twitter with the following endpoint and parameters like these.
Endpoint: app_deeplink_public
| Parameter | Example value |
|---|
destination_api_name
| character_editor |
deeplink_message_override
| item=bunny_ears_5 |
valid_for | 0
|
Example curl request:
curl -X POST "https://graph.oculus.com/$APP_ID/app_deeplink_private" -d "access_token=OC|$APP_ID|$APP_SECRET" -d "destination_api_name=character_editor" -d "deeplink_message_override=item=_bunny_ears_5" -d "valid_for=0"
Account linking deep link on website
Your app provides a standalone account registration system. Users that have already signed up on your website don’t want to enter their complicated password in VR. You can generate an account linking deep link on-demand, and show it on your website with the following endpoint and parameters like these.
Endpoint:app_deeplink_private
| Parameter | Example value |
|---|
destination_api_name
| menu |
deeplink_message_override
| account_nonce=1234abcd56ef |
valid_for | 1
|
Example curl request:
curl -X POST "https://graph.oculus.com/$APP_ID/app_deeplink_private" -d "access_token=OC|$APP_ID|$APP_SECRET" -d "destination_api_name=menu" -d "deeplink_message_override=account_nonce=1234abcd56ef" -d "leader=$USER_ID" -d "valid_for=1"