Das Freundschafts-Referral-System ermutigt bestehende Spieler, neue Spieler in Ihr Spiel zu bringen, was die Spielerbindung und das allgemeine Engagement erhöht. Spieler können Referral-Links über Spielereinladungsaufforderungen oder direkt aus dem standardmäßigen In-Game-Einladungsmenü abrufen und teilen.
Als Entwickler können Sie angepasste Banner erstellen, um Ihr Belohnungssystem zu bewerben und teilbare Referral-Links zu verwenden, um:
- Nachzuverfolgen, welche Spieler erfolgreich andere Spieler in Ihr Spiel eingeladen haben.
- Nachzuverfolgen, welche Spieler Ihrem Spiel über eine Einladung mit einem Referral-Link von einem anderen Spieler beigetreten sind.
- Belohnungen sowohl für Einladende als auch für Eingeladene zu erstellen und zu verteilen.
Um ein Referral-System zu implementieren, richten Sie ein Referral-Event ein und erstellen Sie Referral-Belohnungen im Studio. Die ReferredByPlayerId-Eigenschaft von GetJoinData() wird automatisch für alle Arten von Einladungen ausgefüllt und gibt Ihnen Zugriff auf die Benutzer-ID des einladenden Spielers. Sie können dann auf diese Daten im Players.PlayerAdded-Ereignis zugreifen, um den Einladenden zu identifizieren und sowohl dem Einladenden als auch dem Eingeladenen Belohnungen 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)Um sicherzustellen, dass die Spieler das Belohnungssystem verstehen, implementieren Sie ein angepasstes Belohnungsbanner oben in Ihrem Freundschaftseinladungsmodal, das ihnen Details zu den Belohnungen zeigt, die sie verdienen können.
Richten Sie ein Referral-Event ein
Um ein Referral-Event einzurichten:
- Richten Sie ein RemoteEvent in ReplicatedStorage ein, um ein Remote-Event zu erstellen, das mit dem Client kommuniziert, wenn ein Referral empfangen wird.
- Rufen Sie die Benutzer-ID des Einladenden mit ReferredByPlayerId ab, um Spielerbeitritte nachzuverfolgen und die Referral-Logik in Ihrem serverseitigen Skript während des Players.PlayerAdded-Ereignisses zu behandeln.
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Erstellen oder Abrufen des RemoteEvent zur Handhabung von Referrals
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üfen, ob der Spieler über einen Referral eingeladen wurde
if referredByPlayerId and referredByPlayerId ~= 0 then
-- Fire das Referral-Event an den Client und übergebe die ID des Einladenden
referrerEvent:FireClient(player, referredByPlayerId)
-- Zusätzliche Logik zur Belohnung des Einladenden und des Eingeladenen kann hier hinzugefügt werden
-- z.B. rewardReferrer(referredByPlayerId)
-- z.B. rewardInvitee(player)
end
end
-- Verbinden Sie die Funktion mit dem PlayerAdded-Ereignis
Players.PlayerAdded:Connect(onPlayerAdded)Gewähren Sie Referral-Belohnungen
Um die Teilnahme zu fördern, gewähren Sie Belohnungen sowohl für Einladende als auch für Eingeladene. Zum Beispiel können Sie Einladenden ein Abzeichen oder In-Game-Währung geben, wenn ihr Freund dem Spiel beitritt, und Eingeladenen eine Willkommensbelohnung für den Beitritt zum Spiel über einen Referral-Link geben.
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Erstellen oder Abrufen des RemoteEvent zur Handhabung von Referrals
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üfen, ob der Spieler über einen Referral eingeladen wurde
if referredByPlayerId and referredByPlayerId ~= 0 then
-- Fire das Referral-Event an den Client und übergebe die ID des Einladenden
referrerEvent:FireClient(player, referredByPlayerId)
-- Belohnen Sie den Einladenden
function rewardReferrer(referrerId)
local referrerPlayer = Players:GetPlayerByUserId(referrerId)
if referrerPlayer then
-- Gewähren Sie dem Einladenden seine Belohnung
-- Beispiel: referrerPlayer.leaderstats.Coins.Value += 100
end
end
-- Belohnen Sie den Eingeladenen
function rewardInvitee(player)
-- Gewähren Sie dem Eingeladenen seine Belohnung
-- Beispiel: player.leaderstats.WelcomeBonus.Value += 50
end
end
end
-- Verbinden Sie die Funktion mit dem PlayerAdded-Ereignis
Players.PlayerAdded:Connect(onPlayerAdded)Erstellen Sie ein Belohnungsbanner
Belohnungsbanner ermutigen Benutzer, Freunde einzuladen, Ihrem Spiel beizutreten, indem sie ihnen Details zu den Referral-Belohnungen zeigen, die sie verdienen können. Diese Banner werden oben in Ihrem Freundschaftseinladungsmodal angezeigt.
Um ein angepasstes Belohnungsbanner zu erstellen:
- Gehen Sie im Creator Hub zu Creations und wählen Sie das Spiel aus, für das Sie ein Referral-Event eingerichtet haben.
- Gehen Sie zu Engagement ⟩ Referral Rewards.
- Klicken Sie auf Belohnungsdetails hinzufügen.
- Auf der Seite Referral Rewards:
- Ersetzen Sie das Standard-Icon durch ein Bild, das Ihr Spiel repräsentiert.
- Geben Sie einen Belohnungsnamen ein, der auf dem Banner angezeigt werden soll.
- Wählen Sie ein Start- und Enddatum aus, für das Sie das Banner den Spielern anzeigen möchten.
- OPTIONALGeben Sie eine Beschreibung mit Details zur Belohnung ein.
- OPTIONALWenn Sie Belohnungseinschränkungen hinzufügen möchten, geben Sie ein Belohnungslimit ein. Zum Beispiel ein Limit von bis zu 3 Belohnungen pro Einladendem.
- Klicken Sie auf Speichern, um Ihre Änderungen zu speichern.
- Klicken Sie auf Veröffentlichen, um das Banner für die Spieler sichtbar zu machen.
Sie können viele verschiedene Banner erstellen, aber nur ein Banner kann veröffentlicht und gleichzeitig angezeigt werden. Stellen Sie sicher, dass das veröffentlichte Banner das Referral-System, das Sie im Studio implementiert haben, genau beschreibt.
Verhindern Sie den Missbrauch des Referral-Systems
Sie können Schutzmaßnahmen implementieren, um zu verhindern, dass Spieler das Freundschafts-Referral-System ausnutzen.
- Bieten Sie einmalige Belohnungen an, um Eingeladene zu verfolgen und sicherzustellen, dass sie nur einmal belohnt werden.
- Führen Sie eine Abkühlzeit ein, bevor ein Einladender einen weiteren Referral einreichen kann.
- Überwachen Sie ungewöhnliche Aktivitäten und implementieren Sie Korrekturmaßnahmen wie das Sperren von Benutzern oder das Stornieren von Belohnungen.
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
-- Erstellen oder Abrufen des Datenspeichers für Referrals
local referralDataStore = DataStoreService:GetDataStore("ReferralDataStore")
-- Funktion zum Überprüfen und Markieren von Referrals
local function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Laden Sie die Referral-Daten des Spielers
local success, alreadyReferred = pcall(function()
return referralDataStore:GetAsync(tostring(player.UserId))
end)
if not success then
warn("Fehler beim Abrufen der Referral-Daten für Spieler:", player.UserId)
return
end
if referredByPlayerId and referredByPlayerId ~= 0 and not alreadyReferred then
-- Belohnen Sie den Einladenden und den Eingeladenen
rewardReferrer(referredByPlayerId)
rewardInvitee(player)
-- Markieren Sie den Spieler als verwiesen im DataStore
local saveSuccess, err = pcall(function()
referralDataStore:SetAsync(tostring(player.UserId), true)
end)
if not saveSuccess then
warn("Fehler beim Speichern des Referral-Status für Spieler:", player.UserId, err)
end
end
end
-- Verbinden Sie die Funktion mit dem Beitritt des Spielers
Players.PlayerAdded:Connect(onPlayerAdded)Häufig gestellte Fragen
Welche Spiele sind berechtigt, diese Funktion zu nutzen?
Diese Funktion steht jedem Spiel zur Verfügung, das seit mindestens einem Tag live ist und das nicht gegen die Community-Standards verstößt.
Welche Spieler können von Referrals profitieren?
Alle Spieler sind berechtigt, durch Referrals Belohnungen zu verdienen.
Ist die Einladung auf die Freunde eines Spielers auf Roblox beschränkt?
Nein, Spieler können Einladungen an Freunde senden, mit denen sie auf der Roblox-Plattform noch nicht verbunden sind.
Läuft der Referral-Link ab?
Der Link läuft niemals ab.
Wie kann ich das Beste aus dieser Funktion herausholen?
Sie können einen In-Game-Button hinzufügen, um das Referral-System zu bewerben und die Spieler zu ermutigen, von Referrals Gebrauch zu machen. Sie können dann dem Button einen beschreibenden Titel geben und das Button-Klick-Ereignis mit dem Freundschaftseinladungsmodal verbinden, in dem die Spieler das Belohnungsbanner sehen können.