π€Roblox
Create exclusive items, exclusive spaces, and track conversion and engagement in Roblox
Overview
The Bounce SDK for Roblox lets you easily create exclusive Roblox experiences and track user engagement from within your Roblox place.
With the Bounce SDK you can:
β Create exclusive items in your place that are claimable via Bounce Link tags, claim codes and QRs.
β Claim exclusive Limiteds via Bounce Link, tied to Roblox accounts and usable across places.
β Designate exclusive in-place spaces only accessible by specific users (verified product holders, users who have completed engagement campaign requirements, etc)
β Track engagement within your Roblox place with custom events for claims, spaces and more.
Bounce Exclusives in Roblox
Roblox exclusives can be granted to users via two different delivery flows:
π Claim via Roblox Login (OAuth) that directly grants exclusives to a user's Roblox Id.
π In-game deeplinks that are verified via the Bounce server.
Login to Claim Flow
In the login claim flow, Roblox users can authenticate themselves by logging in with their Roblox account on either the Bounce website, an embedded Bounce portal, or a 3rd party site. This allows Bounce to securely link any exclusive (UGC item, Limited, private map area, etc) to a Roblox user. These exclusives are activated when a user enters the target Roblox place.
The Login to Claim flow enables the following:
Exclusives tied directly to Roblox user's id.
Easily link engagement across digital platforms. For example:
A campaign where a user links their Roblox and Discord accounts, and receives Roblox items based on Discord roles, or Discord roles based on Roblox inventory.
Deeper analytics of user engagement across platforms for more complete user profiles.
Below is a demo Login to Claim (OAuth) flow. You can try for yourself on our website!

Prompt Roblox login

Select your Roblox account

Authorize and connect your Roblox account

Bounce to Roblox experience!
Roblox Place Deeplinks
Bounce Link tags can issue secure deeplinks into Roblox experiences that allow users to claim exclusives. Deeplinks are verified through the Bounce SDK and exclusives are linked to the current Roblox user's ID.
Benefits of the deeplink flow are:
Quick and direct access to a Roblox place, no additional sign-in necessary.
Installation
Installation
The Bounce SDK is a ModuleScript. Please contact the Bounce team at [email protected] for access.
Add the BounceSDK ModuleScript to Roblox Studio. The BounceSDK should be accessed via server-side scripts ONLY, so we recommend placing it within your ServerScriptService.
Usage & API
Before using the BounceSDK for Roblox, you must obtain an API key. Please contact [email protected] for your API key.
require
You must require
the BounceSDK within your desired script.
-- NOTE: Depending on your script location, your path to the
-- BounceSDK module may look different
local BounceSDK = require(script.Parent.BounceSDK)
init
Initialize the BounceSDK with your API key. You MUST initialize before use.
Definition
function BounceSDK.init(apiKey: string)
apiKey
Your Roblox BounceSDK API key
YES
Example
-- init BounceSDK
BounceSDK.init("YOUR_API_KEY")
Schemas
Common data types exported from the BounceSDK. Consist of:
Unlockable
TrackEvent
Definitions
-- Unlockable are for Place specific unlockables
export type Unlockable = {
id: string,
unlockableType: string,
name: string,
itemId: string | nil
}
-- TrackEvents are to track targeted engagement
export type TrackEvent = {
id: string,
value: string
}
getUnlockables
Gets unlockables for a PlayerId for the current place. Refer to Schemas above for BounceSDK specific types.
Definition
function BounceSDK.getUnlockables(
player: Player,
handleUnlockable: nil | (player: Player, unlockable: Unlockable) -> any
): {Unlockable}
Parameters
player
The Player to query
YES
handleUnlockable
A callback function triggered for each unlockable for a specific player.
NO
Return Value
{Unlockable}
: An array of Unlockables. Can either use this array or the handleUnlockable
utility callback function.
Example
-- callback function to look for specific unlockable
local handleUnlockable = function(player: Player, unlockable: BounceSDK.Unlockable)
-- Check for specific unlockable item
if unlockable.name == "Bounce Helmet" then
-- Set flag that this player is eligible for item
helmetEligible[player.UserId] = true
end
end
local unlockables = BounceSDK.getUnlockables(player, handleUnlockable)
getUnlockablesFromPayload
Gets unlockables for a Player using encrypted Bounce Data that the user contains when launching the Roblox Place.
Definition
function BounceSDK.getUnlockablesFromPayload(
player: Player,
handleUnlockable: nil | (player: Player, unlockable: Unlockable) -> any
): {Unlockable}
Parameters
player
The Player to query
YES
handleUnlockable
A callback function triggered for each unlockable for a specific player.
NO
Return Value
{Unlockable}
: An array of Unlockables. Can either use this array or the handleUnlockable
utility callback function.
Example
-- callback function to look for specific unlockable
local handleUnlockable = function(player: Player, unlockable: BounceSDK.Unlockable)
-- Check for specific unlockable item
if unlockable.name == "Bounce Helmet" then
-- Set flag that this player is eligible for item
helmetEligible[player.UserId] = true
end
end
local unlockables = BounceSDK.getUnlockablesFromPayload(player, handleUnlockable)
track
Track user engagement using specific track events. For
Definition
function BounceSDK.track(player: Player, event: TrackEvent)
Parameters
player
The Player to query
YES
event
The event data to track
YES
Return Value
nil
Example
-- fire track event
BounceSDK.track(player, {["id"] = BOUNCE_HELMET_ID, ["value"] = "1"})
Last updated
Was this helpful?