Naast de gebruikelijke promotie methoden om je spelersbasis te vergroten, kun je uitnodigingsprompten direct in je spel implementeren, waardoor spelers worden aangemoedigd om hun vrienden uit te nodigen en de co-ervaring gameplay te vergroten.
Het uitnodigingsprompt-systeem heeft de volgende kenmerken:
- Dynamische Uitnodigden — Vraag spelers om meerdere vrienden uit een selectielijst uit te nodigen, of nodig één specifieke vriend uit.
- Startgegevens — Voeg optionele startgegevens toe die kunnen worden gelezen via Player:GetJoinData() wanneer de uitgenodigde vriend zich aansluit. Voorbeeldtoepassingen zijn het routeren van uitgenodigde vrienden naar een coördinatenlocatie of het personaliseren van het spel voor de uitgenodigde.
- Aanpasbare Tekst — Pas de uitnodigingsprompt boodschap en de melding boodschap aan. Bijvoorbeeld, een uitnodigingsprompt voor de speler kan lezen "Vraag je vrienden om mee te doen aan het avontuur!" en de meldingsboodschap voor de uitgenodigde vriend(en) kan lezen "{displayName} wil dat je je bij hun avontuur in {experienceName} voegt!".
Je kunt ook uitnodigers en uitgenodigden volgen en belonen met behulp van het Vriend Uitnodigingsbeloningssysteem.

Stel uitnodigingsopties in
Standaard toont een uitnodigingsprompt voor de speler een menu van hun vrienden met Uitnodigen knoppen. Om de promptboodschap aan te passen, een specifieke vriend te targeten, of startgegevens in de uitnodiging op te nemen, moet je een ExperienceInviteOptions object instellen met de gewenste eigenschappen.
| Eigenschap | Type | Beschrijving |
|---|---|---|
| PromptMessage | string | Aangepaste tekst die wordt weergegeven op de uitnodigingsprompt voor de verzendende speler, bijvoorbeeld "Vraag je vrienden om mee te doen aan het avontuur!" voor een multi-vriend uitnodigingsprompt, of "Nodig deze vriend uit om mee te doen aan het avontuur!" voor een specifieke vriend uitnodigingsprompt. Let op dat als je aangepaste uitnodigingspromptboodschap lang genoeg is om de grenzen van de UI te overschrijden, deze niet zal worden weergegeven. |
| InviteUser | number | Roblox UserId van de specifieke vriend om uit te nodigen; als dit niet wordt opgegeven, wordt de speler gevraagd om een lijst van vrienden te kiezen. |
| InviteMessageId | string | Asset-ID die overeenkomt met een Melding assettype. Deze asset wordt gebruikt om een aangepaste string voor de uitnodigingsmelding die vrienden ontvangen op te slaan/lokaliseren. Zie Instellen van meldingsopties voor details. |
| LaunchData | string | Wordt gebruikt om een parameter in Player:GetJoinData() in te stellen wanneer een vriend zich aansluit via de uitnodigingsmelding. Maximaal 200 tekens. Zie Inclusief startgegevens voor een gebruiksvoorbeeld. |
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Construct invite options with a custom prompt message
local inviteOptions = Instance.new("ExperienceInviteOptions")
inviteOptions.PromptMessage = "Vraag je vrienden om mee te doen aan het avontuur!"Stel meldingsopties in
Standaard bevat de uitnodigingsmelding die vrienden ontvangen de DisplayName, gebruikersnaam en de spelnaam van de verzender. Om de boodschap aan te passen, kun je een Melding asset maken op het Creator Dashboard en de asset-ID als parameter van ExperienceInviteOptions opnemen.
Navigeer naar het Creator Dashboard.
Net als bij badges, zijn meldingsstrings gekoppeld aan een specifiek spel. Zoek de thumbnail van dat spel en klik erop.
In de linker kolom, onder Betrokkenheid, klik op Meldingen.
In het middengebied, klik op de knop Maak een meldingsstring.
Vul een identificatienaam in (alleen zichtbaar voor jou) en de aangepaste meldingsboodschap. Let op dat je {experienceName} als een placeholder moet opnemen om de naam van het spel voor uitgenodigde vrienden te identificeren, en je kunt optioneel de DisplayName van de verzender opnemen via de {displayName} placeholder.
Voorbeeldmeldingsstrings:
- {displayName} wil dat je je bij hun avontuur in {experienceName} voegt!
- {displayName} heeft net de zesde fase van {experienceName} gehaald. Kun jij dat ook?
Wanneer je klaar bent, klik op de knop Maak meldingsstring.
Op de meldingenpagina, in de tabel van meldingen, klik op de ⋯ knop in de Acties kolom en selecteer Kopieer Asset-ID.
In het ExperienceInviteOptions object voor de uitnodigingsprompt, plak de asset-ID als de waarde van de InviteMessageId eigenschap.
LocalScript - Nodig Meerdere Vrienden Uitlocal SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Construct invite options with friend's user IDlocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"
Vraag om een uitnodiging
Om om een uitnodiging te vragen, moet je eerst bepalen of de speler kan uitnodigen, aangezien de mogelijkheid kan variëren afhankelijk van het platform of de speler. Zodra dit is bevestigd, kun je de uitnodigingsprompt aan de speler tonen.
- Roep SocialService:CanSendGameInviteAsync() aan, gewikkeld in een pcall() aangezien het een asynchrone netwerkoproep is die af en toe kan mislukken.
- Als de uitnodigingsmogelijkheid is bevestigd, roep dan SocialService:PromptGameInvite() aan met het optionele uitnodigingsopties object als het tweede argument.
Zodra de uitnodiging is geprompt, ziet de speler een prompt op het scherm om meerdere vrienden uit te nodigen, of de specifieke vriend die is gedefinieerd in het uitnodigingsopties object. Wanneer de speler vervolgens op de Uitnodigen knop voor een of meer vrienden klikt, ontvangen die vrienden een melding met de DisplayName, gebruikersnaam en de naam van de ervaring van de verzender. Meldingen kunnen verder worden gepersonaliseerd zoals beschreven in Stel meldingsopties in.
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Functie om te controleren of de speler een uitnodiging kan versturen
local function canSendGameInvite(sendingPlayer)
local success, canSend = pcall(function()
return SocialService:CanSendGameInviteAsync(sendingPlayer)
end)
return success and canSend
end
local canInvite = canSendGameInvite(player)
if canInvite then
SocialService:PromptGameInvite(player)
endInclusief startgegevens
Om de samenwerking in de ervaring verder te verbeteren of om spelersuitnodigingen te stimuleren, kun je startgegevens opnemen in een uitnodigingsprompt, nuttig voor scenario's zoals het routeren van uitgenodigde vrienden naar een coördinatenlocatie of het personaliseren van het spel voor de uitgenodigde.
Wanneer je om een uitnodiging vraagt, voeg een ExperienceInviteOptions object toe met relevante gegevens die zullen worden gebruikt wanneer de vriend zich bij het spel voegt, bijvoorbeeld de Player.UserId van de verzender, de ID van een badge die aan de vriend moet worden toegekend bij het joinen, of een coördinatenlocatie om de vriend te laten spawnen. Als je meerdere gegevensstukken moet samenstellen, codeer de gegevens met JSONEncode().
LocalScript - Nodig Meerdere Vrienden Uitlocal HttpService = game:GetService("HttpService")local SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayerlocal data = {senderUserID = player.UserId,spawnLocation = {12, 48, 205.5}}local launchData = HttpService:JSONEncode(data)-- Construct invite options with launch datalocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.LaunchData = launchData-- Functie om te controleren of de speler een uitnodiging kan versturenlocal function canSendGameInvite(sendingPlayer)local success, canSend = pcall(function()return SocialService:CanSendGameInviteAsync(sendingPlayer)end)return success and canSendendlocal canInvite = canSendGameInvite(player)if canInvite thenSocialService:PromptGameInvite(player, inviteOptions)endVoor binnenkomende vrienden die zich via de melding aansluiten, controleer je de startgegevens aan de serverzijde via Player:GetJoinData(). Als je meerdere gegevensstukken in JSON voor de uitnodigingsprompt hebt gecodeerd, vergeet dan niet om het te decoderen met JSONDecode().
Script - Gebruik Uitnodigingsstartgegevenslocal HttpService = game:GetService("HttpService")local Players = game:GetService("Players")local ATTEMPT_LIMIT = 10local RETRY_DELAY = 1local function onPlayerAdded(player)local launchDatafor _ = 1, ATTEMPT_LIMIT dotask.wait(RETRY_DELAY)local joinData = player:GetJoinData()if joinData.LaunchData ~= "" thenlaunchData = joinData.LaunchDatabreakendendif launchData thenlocal data = HttpService:JSONDecode(launchData)print(data.senderUserID)print(data.spawnLocation)elsewarn("Geen startgegevens ontvangen!")endendPlayers.PlayerAdded:Connect(onPlayerAdded)Als de startgegevens bestaan, kun je deze gebruiken voor een breed scala aan ontwerpscenario's, waaronder:
- Spawn de binnenkomende vriend aan het begin van een uitdagend obstakelparcours dat de verzender net heeft voltooid, op basis van een coördinatenlocatie die via de startgegevens is doorgegeven.
- Controleer of de verzender zich op de plek bevindt, op basis van hun Player.UserId in de startgegevens, en teleporteer het personage van de vriend in de buurt van hun personage.