Spieler Einladungen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Zusätzlich zu den häufigen Werbemethoden zur Erweiterung deiner Spielerbasis kannst du Einladungsaufforderungen direkt in deinem Spiel implementieren, um die Spieler zu ermutigen, ihre Freunde einzuladen und das gemeinsame Gameplay zu erhöhen.

Das Einladungsaufforderungssystem bietet Folgendes:

  • Dynamische Einzuladende — Fordere die Spieler auf, mehrere Freunde aus einer Auswahlliste einzuladen oder einen bestimmten Freund einzuladen.
  • Startdaten — Füge optionale Startdaten hinzu, die über Player:GetJoinData() gelesen werden können, wenn der eingeladene Freund beitritt. Beispielanwendungen umfassen das Leiten eingeladener Freunde zu einem Koordinatenstandort oder das Personalisieren des beigetretenen Spiels für den Eingeladenen.
  • Anpassbarer Text — Passe die Einladungsaufforderung und die Benachrichtigungs nachricht an. Zum Beispiel könnte eine Einladungsaufforderung für den Spieler "Bitte lade deine Freunde ein, sich dem Abenteuer anzuschließen!" lauten, und die Benachrichtungsnachricht für den eingeladenen Freund(e) könnte lauten "{displayName} möchte, dass du dich ihrem Abenteuer in {experienceName} anschließt!".

Du kannst auch Einladende und Eingeladene mit dem Freund Einladungsbelohnungssystem nachverfolgen und belohnen.

Einladungsoptionen festlegen

Standardmäßig zeigt eine Einladungsaufforderung für den Spieler ein Menü mit seinen Freunden mit Einladen-Schaltflächen an. Um die Aufforderungsnachricht anzupassen, einen bestimmten Freund auszuwählen oder Startdaten in die Einladung einzufügen, musst du ein ExperienceInviteOptions-Objekt mit den gewünschten Eigenschaften einrichten.

EigenschaftTypBeschreibung
PromptMessagestringBenutzerdefinierter Text, der auf der Einladungsaufforderung für den sendenden Spieler angezeigt wird. Zum Beispiel "Bitte lade deine Freunde ein, sich dem Abenteuer anzuschließen!" für eine Einladungsaufforderung mit mehreren Freunden oder "Lade diesen Freund ein, sich dem Abenteuer anzuschließen!" für eine spezifische Freundeseinladung. Beachte, dass, falls deine benutzerdefinierte Einladungsaufforderungsnachricht lang genug ist, um die Grenzen der UI zu überschreiten, sie nicht angezeigt wird.
InviteUsernumberRoblox UserId des spezifischen Freundes, den du einladen möchtest. Wenn dies nicht angegeben ist, wird der Spieler aufgefordert, aus einer Liste von Freunden auszuwählen.
InviteMessageIdstringAsset-ID, die einem Benachrichtigungs-Assettyp zuordnet. Dieses Asset wird verwendet, um einen benutzerdefinierten Text für die Einladung zu speichern/lokalisieren, den Freunde erhalten. Siehe Benachrichtigungsoptionen festlegen für weitere Details.
LaunchDatastringWird verwendet, um einen Parameter in Player:GetJoinData() festzulegen, wenn ein Freund über die Einladung geht. Maximal 200 Zeichen. Siehe Startdaten einfügen für ein Anwendungsbeispiel.
LocalScript - Mehrere Freunde Einladen
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Einladungsoptionen mit benutzerdefinierter Aufforderungsnachricht erstellen
local inviteOptions = Instance.new("ExperienceInviteOptions")
inviteOptions.PromptMessage = "Bitte lade deine Freunde ein, sich dem Abenteuer anzuschließen!"

Benachrichtigungsoptionen festlegen

Standardmäßig enthält die Einladungsbenachrichtigung, die Freunde erhalten, den DisplayName, den Benutzername und den Spielnamen des Senders. Um die Nachricht anzupassen, kannst du ein Benachrichtigungs-Asset im Creator Dashboard erstellen und dessen Asset-ID als Parameter von ExperienceInviteOptions einfügen.

  1. Navigiere zum Creator Dashboard.

  2. Ähnlich wie bei Abzeichen sind Benachrichtigungsstrings an ein bestimmtes Spiel gebunden. Finde das Thumbnail dieses Spiels und klicke darauf.

  3. Klicke in der linken Spalte unter Engagement auf Benachrichtigungen.

  4. Klicke im mittleren Bereich auf die Schaltfläche Erstelle einen Benachrichtigungsstring.

  5. Fülle einen Identifikationsnamen (nur für dich sichtbar) und den benutzerdefinierten Benachrichtigungstext aus. Beachte, dass du {experienceName} als Platzhalter einfügen musst, um den Namen des Spiels für eingeladene Freunde zu kennzeichnen, und du kannst optional den DisplayName des Senders über den Platzhalter {displayName} einfügen.

    Beispiel-Benachrichtigungsstrings:

    • {displayName} möchte, dass du dich ihrem Abenteuer in {experienceName} anschließt!
    • {displayName} hat gerade die sechste Stufe von {experienceName} gemeistert. Kannst du das auch?
  6. Wenn du bereit bist, klicke auf die Schaltfläche Benachrichtigungsstring erstellen.

  7. Klicke auf der Seite der Benachrichtigungen in der Tabelle der Benachrichtigungen auf die Schaltfläche in der Aktionen-Spalte und wähle Asset-ID kopieren.

  8. Füge in dem ExperienceInviteOptions-Objekt für die Einladungsaufforderung die Asset-ID als Wert der InviteMessageId-Eigenschaft ein.

    LocalScript - Mehrere Freunde Einladen
    local SocialService = game:GetService("SocialService")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    -- Einladungsoptionen mit der Benutzer-ID des Freundes erstellen
    local inviteOptions = Instance.new("ExperienceInviteOptions")
    inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"

Einladung auslösen

Um eine Einladung auszulösen, solltest du zunächst feststellen, ob der Spieler einladen kann, da die Fähigkeit je nach Plattform oder Spieler variieren kann. Nachdem dies bestätigt wurde, kannst du die Einladungsaufforderung dem Spieler anzeigen.

  1. Rufe SocialService:CanSendGameInviteAsync() auf, um die Fähigkeit zu überprüfen, verpackt in pcall(), da dies ein asynchroner Netzwerkanruf ist, der gelegentlich fehlschlagen kann.
  2. Wenn die Einladungsfähigkeit bestätigt wird, rufe SocialService:PromptGameInvite() mit dem optionalen Einladungsoptionsobjekt als zweiten Parameter auf.

Sobald die Einladung angezeigt wird, sieht der Spieler eine Aufforderung auf dem Bildschirm, mehrere Freunde oder den spezifischen Freund einzuladen, der in dem Einladungsoptionsobjekt definiert ist. Wenn der Spieler dann auf die Einladen-Schaltfläche für einen oder mehrere Freunde klickt, erhalten diese Freunde eine Benachrichtigung mit dem DisplayName, dem Benutzernamen und dem Erfahrungsnamen des Senders. Benachrichtigungen können weiter angepasst werden, wie in Benachrichtigungsoptionen festlegen beschrieben.

LocalScript - Mehrere Freunde Einladen
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Funktion, um zu prü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 Zusammenarbeit im Spiel weiter zu verbessern oder Spieler einzuladen, kannst du Startdaten in einer Einladungsaufforderung einfügen, die nützlich sind für Szenarien wie das Leiten eingeladener Freunde zu einem Koordinatenstandort oder das Personalisieren des beigetretenen Spiels für den Eingeladenen.

  1. Wenn du eine Einladung auslöst, füge ein ExperienceInviteOptions-Objekt mit relevanten Daten ein, das verwendet wird, wenn der Freund dem Spiel beitritt. Das können beispielsweise die Player.UserId des Senders, die ID eines Abzeichens, das dem Freund beim Beitritt verliehen werden soll, oder ein Koordinatenstandort sein, an dem der Freund erscheinen soll. Wenn du mehrere Daten zusammenstellen musst, kodierst du die Daten mit JSONEncode().

    LocalScript - Mehrere Freunde Einladen
    local HttpService = game:GetService("HttpService")
    local SocialService = game:GetService("SocialService")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    local data = {
    senderUserID = player.UserId,
    spawnLocation = {12, 48, 205.5}
    }
    local launchData = HttpService:JSONEncode(data)
    -- Einladungsoptionen mit Startdaten erstellen
    local inviteOptions = Instance.new("ExperienceInviteOptions")
    inviteOptions.LaunchData = launchData
    -- Funktion, um zu prü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, inviteOptions)
    end
  2. Für eingehende Freunde, die über die Benachrichtigung beitreten, überprüfe die Startdaten auf der Serverseite über Player:GetJoinData(). Wenn du mehrere Daten in JSON für die Einladungsaufforderung kodierst, denke daran, es mit JSONDecode() zu dekodieren.

    Script - Verwendung von Einladungsstartdaten
    local HttpService = game:GetService("HttpService")
    local Players = game:GetService("Players")
    local ATTEMPT_LIMIT = 10
    local RETRY_DELAY = 1
    local function onPlayerAdded(player)
    local launchData
    for _ = 1, ATTEMPT_LIMIT do
    task.wait(RETRY_DELAY)
    local joinData = player:GetJoinData()
    if joinData.LaunchData ~= "" then
    launchData = joinData.LaunchData
    break
    end
    end
    if launchData then
    local data = HttpService:JSONDecode(launchData)
    print(data.senderUserID)
    print(data.spawnLocation)
    else
    warn("Keine Startdaten empfangen!")
    end
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  3. Wenn die Startdaten vorhanden sind, kannst du sie für eine Vielzahl von Szenarien verwenden, darunter:

    • Den eingehenden Freund zu Beginn eines herausfordernden Hinderniskurses spawnen, den der Sender gerade abgeschlossen hat, basierend auf einem Koordinatenstandort, der über die Startdaten übergeben wird.
    • Überprüfen, ob der Sender an dem Ort ist, basierend auf ihrer Player.UserId in den Startdaten, und die Figur des Freundes in die Nähe ihrer Figur teleportieren.
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.