Deep Link Guide
What is a deep link?
A mobile deep link is a URI that directs the user to a specific part of your app or performs a specific behaviour as soon as the user opens your app. You can register a specific scheme that will launch your application (e.g., your-game://). You can then add parameters to this URI that dictate these specific behaviours.
Why should my game support a deep linking protocol?
A deep linking protocol makes it easier for friends to jump into your game and play together from any chat app.
Why does this matter? For many reasons, playing a live mobile game with friends can be tricky:
- One of the friends may not have your game installed yet
- Players may not know how to start a multiplayer game session in your game
- Searching for usernames to add friends can be difficult
- Every game has a different process for starting multiplayer game sessions, which makes it even more challenging for users to figure out
Example Deep Link to Join Game Sessions
Here’s an example of what a deep link that allows players to join the same game session can look like:
In this example, the roomId parameter is a unique key that’s passed onto your game to create a room for the players who are joining the same game session.
Want to further personalize your user experience for players who join a party in your game? Here are some additional parameters you can accept:
- A unique key the game can use to create a room for the players who are joining from the same session on Bunch.
- If your game supports different game modes (e.g., 2v2), you can include this information in the deep link so that players open the party to a specific game mode.
- To optimize for latency, live games often use different servers for different geographic zones to host multiplayer game sessions. However, it’s important to ensure that players who want to play together join the same game server. Adding and handling a server parameter allows players to open a game session on the same server.
- For players joining a party who haven’t yet acquired a username in your game, appending this variable lets your game display a username without having to ask the user first.
When driving a user to your game, Bunch will, by default, include a username variable that includes the player’s Bunch username.
- By default, Bunch may pass the user’s age status to the game for safety control. The values are 'unknown', 'over13', and 'under13'.
- You can personalize your user experience in even more ways by adding additional parameters.
For more info, contact us at email@example.com
Here’s an example of a deep link that includes all of these variables:
Note: Base64 Support
We can support Base64-encoded parameters during our deep link customization through our configuration.
How to onboard new users coming from a deep link to your game
When you use incoming deep links to create multiplayer game sessions, even users who haven’t yet installed your game can join the party. However, many mobile games have an onboarding or tutorial experience for first-time players that takes several minutes to complete. Some games even disable multiplayer gameplay until the user achieves a certain milestone or level of experience in the game.
To provide the best experience for all players, we suggest skipping or deferring the tutorial or onboarding experience when first-time users deep link to join a party in your game. This way, their friends won’t have to wait for them to complete the onboarding process. They’ll also experience “aha” moments sooner because they’ll learn while playing with friends.
More ways you can use deep linking to enhance your user experience
By supporting a deep linking protocol in your game, you don’t just make it easier for people to play your game together. You can also enhance your user experience in other ways:
- Let players add each other as friends in your game simply by sharing a link
- Let players join events in your game (e.g., eSports) by following a link
- Let players watch replays of game moments by following a link
- Let players open your game in spectator mode to watch other players
- Track referrals to your game to reward users for sharing your app
Suggested tools for developing a deep linking protocol for your game
Depending on the platform you’ve developed your game for, there are a few steps to follow to support deep links in your game. Luckily, they’re as simple as implementing a few lines of code!
One tool that makes deep links easier to handle is Branch. You don’t have to use it, but it takes care of some of the legwork for you.
To enable a deep link URL scheme, just follow Apple’s official guide
As an option, you can improve the shareability of your app by using universal deep links (a cross-platform solution that builds on top of the deep link URL scheme). Learn more about universal deep links here.
To enable deep link support in Android, check out this guide.
To enable deep link support in Unity, you have a few options:
- Use this plugin: https://assetstore.unity.com/packages/tools/integration/universal-deep-linking-seamless-deep-link-and-web-link-associati-125172
- Use this toolset: https://github.com/TROPHiT/UnityDeeplinks
- Use Branch: https://blog.branch.io/how-to-deep-link-in-unity-for-ios-and-android/
Having trouble getting deep link support set up? We’re happy to jump on a call and help you get everything in place! Just shoot us an email at firstname.lastname@example.org and someone from our team will help you out.