Das Empfehlungssystem für Freunde ermutigt bestehende Spieler, neue Spieler in deine Erlebniszu bringen, was die Kundenbindung und das allgemeine Engagement erhöht.Spieler können auf Empfehlungs-Links zugreifen und sie teilen von Spieler-Einladungsaufforderungen oder direkt aus dem Standard-Erfahrungs-Einladungsmenü.
Als Entwickler kannst du diese teilbaren Empfehlungs-Links verwenden, um:
- Verfolge, welche Spieler andere Spieler erfolgreich in deine Erlebniseingeladen haben.
- Verfolge, welche Spieler deinem Erlebnis beigetreten sind, indem du eine Empfehlungs-Link-Einladung von einem anderen Spieler:inverwendest.
- Erstelle und verteile Belohnungen sowohl an Einladende als auch an Eingeladene.

Um ein Freundesempfehlungssystem zu implementieren, richte ein Empfehlungsereignis ein und schaffe Empfehlungsbelohnungen.Die ReferredByPlayerId Eigenschaft von GetJoinData() füllt automatisch für alle Arten von Einladungen und gibt Ihnen Zugriff auf die Benutzer-ID des empfehlenden Spieler:in.Du kannst dann auf diese Daten im Players.PlayerAdded zugreifen, um den Einlader zu identifizieren und Belohnungen für den Einlader und den Empfänger zu gewähren.
function onPlayerAdded(player)
local referredByPlayerId = player:GetJoinData().ReferredByPlayerId
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
referrerEvent:FireClient(player, referredByPlayerId)
end
Players.PlayerAdded:Connect(onPlayerAdded)
Ein Empfehlungsereignis einrichten
Um ein Empfehlungsereignis einzurichten:
- Richten Sie ein RemoteEvent in ReplicatedStorage ein, um ein Remote-Ereignis zu erstellen, mit dem Sie mit dem Client kommunizieren, wenn eine Empfehlung erhalten wird.
- Rufen Sie die Benutzer-ID des Veranstalters mit ReferredByPlayerId ab, um Spieler-Beitritte zu verfolgen und die Empfehlungslogik in Ihrem Serverseiten-Skript während des Players.PlayerAdded-Ereignisses zu verwalten.
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Erstellen oder holen Sie sich das RemoteEvent für die Bearbeitung von Empfehlungen
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Funktion, die ausgelöst wird, wenn ein Spieler beitritt
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Überprüfe, ob der Spieler durch eine Empfehlung eingeladen wurde
if referredByPlayerId and referredByPlayerId ~= 0 then
-- Feuere das Empfehlungsereignis an den Client ab, indem du die ID des Einladers übermittelst
referrerEvent:FireClient(player, referredByPlayerId)
-- Zusätzliche Logik für die Belohnung von Einlader und Empfänger kann hier hinzugefügt werden
-- z. B. rewardReferrer(referredByPlayerId)
-- z. B. rewardInvitee(Spieler:in)
end
end
-- Verbinde die Funktion mit dem Ereignis PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)
Gewährleistung von Empfehlungsprämien
Um die Teilnahme zu fördern, gewähre Belohnungen sowohl den Einladenden als auch den Eingeladenen.Zum Beispiel kannst du Teilnehmern ein Abzeichen oder eine Erfahrungswährung geben, wenn ihr Freund der Erlebnisbeitritt, und Teilnehmern eine Begrüßungsbelohnung für den Beitritt zur Erfahrung durch einen verlinkengeben.
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Erstellen oder holen Sie sich das RemoteEvent für die Bearbeitung von Empfehlungen
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Funktion, die ausgelöst wird, wenn ein Spieler beitritt
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Überprüfe, ob der Spieler durch eine Empfehlung eingeladen wurde
if referredByPlayerId and referredByPlayerId ~= 0 then
-- Feuere das Empfehlungsereignis an den Client ab, indem du die ID des Einladers übermittelst
referrerEvent:FireClient(player, referredByPlayerId)
-- Belohnen Sie den Veranstalter
function rewardReferrer(referrerId)
local referrerPlayer = Players:GetPlayerByUserId(referrerId)
if referrerPlayer then
-- Gewähre dem Einlader seine Belohnung
-- Beispiel: referrerPlayer.leaderstats.Coins.Value += 100
end
end
-- Belohnen Sie den Gast
function rewardInvitee(player)
-- Gib dem Einladenden seine Belohnung
-- Beispiel: Spieler:in.leaderstats.WelcomeBonus.Value += 50
end
end
end
-- Verbinde die Funktion mit dem Ereignis PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)
Missbrauchsprävention verwalten
Du kannst Schutzmaßnahmen implementieren, um Spieler daran zu hindern, das Freundesempfehlungssystem auszunutzen.
- Biete einmalige Belohnungen an, um Teilnehmer zu verfolgen und sicherzustellen, dass sie nur einmal belohnt werden.
- Führe eine Abklingzeit ein, bevor ein Einlader einen weiteren Empfehlungslink einreichen kann.
- Überwachen Sie ungewöhnliche Aktivitäten und implementieren Sie korrektive Maßnahmen wie das Sperren von Benutzern oder das Abbrechen von Belohnungen.
-- Tabelle, um Spieler zu verfolgen, die bereits verwiesen wurden
local referredPlayers = {}
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Überprüfe, ob der Spieler eingeladen wurde und bereits keine Empfehlung verwendet hat
if referredByPlayerId and referredByPlayerId ~= 0 and not referredPlayers[player.UserId] then
-- Markiere den Spieler als verwiesen
referredPlayers[player.UserId] = true
-- Belohnungsinitiator und -Empfänger
rewardReferrer(referredByPlayerId)
rewardInvitee(player)
end
end