[Update] September 1, 2023
Hey y’all!
We are excited to announce Developer Deeplinking, a new beta rolling out to all developers today!
This feature will enable developers to pass a string (LaunchData) in links/URLs they create for their experiences. This will be appended to the general join link, and will be available to the developer when the user enters their experience through the join link. You can then use that data to customize the user experience in whichever way you like.
To build these links you need your rootplace ID and your LaunchData URL encoded. For example, this link joins the LaunchData sample place and starts the user in room 2:
Link 1 - https://www.roblox.com/games/start?placeId=6900305353&launchData=%7B%22roomId%22%3A%202%7D
This URI also does the same, while bypassing the Roblox website:
Link 2 - roblox://placeId=6900305353&launchData=%7B%22roomId%22%3A%202%7D
You can also make sure that this link works for users without Roblox downloaded on their mobile devices by using the AppsFlyer version of the link.
The above link would look like:
To build the AppsFlyer version of the link, you need to start the URL with ro.blox.com/Ebh5?
And append the af_web_dp
parameters with the URL encoded version of Link 1 and and af_dp
with the URL encoded version of Link 2
What can you use Deeplinking for?
We are very excited to see how developers end up using this feature! In the mean time, here are some potential use cases to help kickstart your workflows:
- Link directly to a place inside a Roblox experience.
- Link directly to where friends are inside a Roblox experience.
- Attribution: Letting you know what URL was clicked/where a user is coming from.
- Social media giveaways and more!
Click here for more information on implementation and other examples.
Please note, Developer Deeplinking has not rolled out on Mac and Windows Store Roblox, but we are working on it.
Update 8/18/2022: Developer Deeplinking now works on Mac.
Additional information:
- LaunchData is only available on the first join. If the user teleports to another server, the data is not included, though if needed it can be forwarded manually as teleport data.
- LaunchData will be limited to 200 bytes.
- More complex data can be stored as a JSON string and decoded with
HTTPService:JSONDecode()
- LaunchData should not be used for storing or sharing confidential information
- LaunchData authenticity can not be guaranteed, as the URL can be modified by any user.