Zusätzlich zu den üblichen Förderungs-Methoden, um deine Spielerbasis zu vergrößern, kannst du Einladungsaufforderungen direkt in deinem Erlebnis implementieren, um Spieler dazu zu bringen, ihre Freunde einzuladen und das gemeinsame Gameplayzu vergrößern.
Das Einladungssystem bietet gefolgte Profile:
- Dynamische Einladende — Fordere Spieler auf, mehrere Freunde aus einer Auswahlliste einzuladen oder einen bestimmten Freund:ineinzuladen.
- Startdaten — Enthält optionale Startdaten , die gelesen werden können, wenn sich der eingeladene Freund anschließt.Beispiele für Anwendungsfälle umfassen die routierung eingeladener Freunde an einen Koordinatenstandort oder die Personalisierung der Beitrittserfahrung für den Empfänger.
- Anpassbarer Text — Passen Sie die Einladungsaufforderung-Nachricht und die Benachrichtigungsnachricht an.Zum Beispiel kann eine Einladungsaufforderung für den Spieler lesen "Frage deine Freunde, dem Abenteuer beizutreten!", und die Benachrichtigungsnachricht für die eingeladenen Freund:inkann lesen "displayName möchte, dass du ihrem Abenteuer in experienceName beitrittst!".
Du kannst auch Empfänger und Einladende verfolgen und belohnen, indem du das Freund-Einladungs-Belohnungssystem verwendest.

Ladeoptionen einstellen
Standardmäßig zeigt eine Einladungsaufforderung für den Spieler ein Menü mit Freunden mit Einladen -Buttons.Um die Nachrichtanzupassen, einen bestimmten Freund:inanzuzielen oder Startdaten in die Einladung einzufügen, musst du ein ExperienceInviteOptions Objekt mit den gewünschten Eigenschaften einrichten.
Eigenschaft | Typ | Beschreibung |
---|---|---|
PromptMessage | string | Benutzerdefinierter Text, der auf dem Einladungsfenster für den sendenden Spieler:inangezeigt wird, zum Beispiel "Bitten Sie Ihre Freunde, sich dem Abenteuer anzuschließen!" für eine mehrfachfreie Einladung, oder "Laden Sie diesen Freund ein, sich dem Abenteuer anzuschließen!" für eine spezifische Freundseinladung.Beachten Sie, dass, wenn Ihre benutzerdefinierte Einladungsnachrichtsmeldung lang genug ist, um die Grenzen der UI zu überschreiten, sie nicht angezeigt wird. |
InviteUser | zahl | Roblox UserId des bestimmten Freundes zum Einladen; wenn nicht bereitgestellt, wird der Spieler aufgefordert, aus einer Liste von Freunden zu wählen. |
InviteMessageId | string | Asset-ID, die auf einen eingebenmacht.Dieses Asset wird verwendet, um einen benutzerdefinierten String für die Einladungsbenachrichtigung zu speichern/zu lokalisieren, die Freunde erhalten.Siehe Einstellungsbenachrichtigungsoptionen für Details. |
LaunchData | string | Wird verwendet, um einen Parameter in Player:GetJoinData() festzulegen, wenn ein Freund aus der Benachrichtigungenbeitritt.Maximal 200 Zeichen.Siehe Include Startdaten für ein Nutzungsbeispiel. |
LocalScript - Lade mehrere Freunde ein
local SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Erstelle Einladungsoptionen mit einer benutzerdefinierten Nachrichtlocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.PromptMessage = "Ask your friends to join the adventure!"
Benachrichtigungsoptionen festlegen
Standardmäßig enthält die Einladungsbenachrichtigung, die Freunde erhalten, die DisplayName des Absenders, den Benutzernamen und den Namen der Erfahrung.Um die Nachricht anzupassen, kannst du ein Benachrichtigungs -Asset auf dem Creator-Dashboard erstellen und seine Asset-ID als einen Parameter von ExperienceInviteOptions einfügen.
Navigiere zum Creator-Dashboard.
Ähnlich wie Abzeichen, sind Benachrichtigungsstränge an ein bestimmtes Erlebnis gebunden. Lokalisieren Sie das Thumbnail dieses Erlebnisses und klicken Sie darauf.
In der linken Spalte, unter Beteiligung , klicken Sie auf Benachrichtigungen .
Klicke in der mittleren Region auf die Schaltfläche Erstelle eine Benachrichtigungsstring .
Füllen Sie einen Identifikationsnamen (nur für Sie sichtbar) und den benutzerdefinierten Benachrichtigungstext aus.Beachte, dass du experienceName als Platzhalter einfügen musst, um den Namen der Erlebnisfür eingeladene Freunde zu identifizieren, und du kannst optional den Namen des Absenders DisplayName durch den Platzhalter displayName einfügen.
Beispielfernmeldezeilen:
- displayName möchte, dass du an ihrem Abenteuer in experienceName teilnimmst!
- displayName hat gerade die sechste Stufe von experienceName abgeschlossen. Können Sie?
Wenn du bereit bist, klicke auf die Schaltfläche Erstellungsbenachrichtigungsstring .
Auf der Seite mit den Benachrichtigungen, in der Tabelle der Benachrichtigungen, klicke auf die Schaltfläche ⋯ in der Spalte Aktionen und wähle Kopiere Asset-ID .
Im ExperienceInviteOptions Objekt für die Einladungsaufforderung füge die Asset-ID als Wert der InviteMessageId Eigenschaftenein.
LocalScript - Lade mehrere Freunde einlocal SocialService = game:GetService("SocialService")local Players = game:GetService("Players")local player = Players.LocalPlayer-- Baue Einladungsoptionen mit der Benutzer-ID des Freund:inlocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"
Lade zu einer Einladung ein
Um eine Einladung auszulösen, solltest du zuerst feststellen, ob der Spieler kann eine Einladung senden, da die Fähigkeit je nach Plattform oder Spieler:invariieren kann.Sobald bestätigt, kannst du die Einladungsaufforderung an den Spieler:inanzeigen.
- Rufen Sie SocialService:CanSendGameInviteAsync() an, eingepackt in eine pcall() da es sich um eine asynchrone Netzanruf handelt, der gelegentlich fehlschlagen kann.
- Wenn die Einladungsfähigkeit bestätigt wird, rufe SocialService:PromptGameInvite() mit dem optionalen Einladungsoptionen-Objekt als zweites Argument auf.
Sobald der Spieler dazu aufgefordert wird, sieht er eine Eingabeaufforderung auf dem Bildschirm, um mehrere Freunde einzuladen oder den spezifischen Freund, der in den Einladungsoptionen-Objekt definiert ist.Wenn der Spieler dann auf die Schaltfläche Einladen für einen oder mehrere Freunde klickt, erhalten diese Freunde eine Benachrichtigung mit der DisplayName des Absenders, dem Benutzernamen und dem Erlebnissenamen.Benachrichtigungen können weiter angepasst werden, wie in Benachrichtigungsoptionen festlegen beschrieben.
LocalScript - Lade mehrere Freunde ein
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Funktion, um zu überprüfen, ob der Spieler eine Einladung senden kann
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)
end
Startdaten einfügen
Um die In-Experience-Zusammenarbeit weiter zu verbessern oder Spieler-Einladungen zu fördern, kannst du Startdaten in einem Einladungsfenster einfügen, das für Szenarien wie das Routing eingeladener Freunde an einen Koordinatenstandort oder die Personalisierung der Beitrittserfahrung für den Empfänger nützlich ist.
Wenn du eine Einladung anfragst, füge ein ExperienceInviteOptions Objekt mit relevanten Daten hinzu, die verwendet werden, wenn der Freund der Erlebnisbeitritt, zum Beispiel das Player.UserId des Absenders, die ID eines Abzeichens zur Verleihung an den Freund beim Beitritt oder eine Koordinatenposition, um den Freund zu spawnen.Wenn Sie mehrere Datenstücke kompilieren müssen, verschlüsseln Sie die Daten mit JSONEncode().
LocalScript - Lade mehrere Freunde einlocal 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)-- Baue Einladungsoptionen mit Startdaten auflocal inviteOptions = Instance.new("ExperienceInviteOptions")inviteOptions.LaunchData = launchData-- Funktion, um zu überprüfen, ob der Spieler eine Einladung senden kannlocal 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)endFür eingehende Freunde, die sich über die Benachrichtigungenanmelden, überprüfe die Startdaten auf der Serverseite durch Player:GetJoinData() .Wenn du mehrere Datenstücke in JSON für die Einladungsaufforderung codierst, denke daran, sie mit JSONDecode() zu dekodieren.
Skript - Verwendung von Einladungsstartdatenlocal 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("No launch data received!")endendPlayers.PlayerAdded:Connect(onPlayerAdded)Wenn die Startdaten vorliegen, können Sie sie für eine Vielzahl von Designszenarien verwenden, einschließlich:
- Spawne den eingehenden Freund am Beginn eines herausfordernden Hinderniskurses, den der Absender gerade abgeschlossen hat, basierend auf einer Koordinatenposition, die durch die Startdaten übermittelt wurde.
- Überprüfe, ob der Absender an der Ortist, basierend auf seinen Player.UserId in den Startdaten, und teleportiere den Charakter des Freund:inin der Nähe seines Charakters.