朋友推薦系統會勵勵現有玩家帶來新玩家,增加玩家保留和總體互動。玩家可以從 玩家邀請提示 或直接從預設在體驗中邀請選單中存取並分享推薦連結。
作為開發人員,您可以使用這些可分享的引用鏈接來:
- 追蹤哪些玩家成功邀請其他玩家到您的體驗。
- 追蹤哪些玩家使用其他玩家的推薦鏈邀請加入您的體驗。
- 創建並分配獎勵給邀請者和受邀者。
邀請朋友 pop-up和 朋友推薦獎勵 橫幅將在2025年初推出。
要實現朋友推薦系統,請 設置一個推薦事件 和 創建推薦獎勵 。 ReferredByPlayerId 屬性的 2>Class.Player:GetJoin
function onPlayerAdded(player)
local referredByPlayerId = player:GetJoinData().ReferredByPlayerId
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
referrerEvent:FireClient(player, referredByPlayerId)
end
Players.PlayerAdded:Connect(onPlayerAdded)
設置一個推薦事件
要設置一個推薦事件:
- 設置 RemoteEvent 在 ReplicatedStorage 以創建一個遠程事件來與客戶端通信,當收到一個指示時。
- 使用 ReferredByPlayerId 追蹤玩家加入,並處理佈景伺服器端的引用論理在 Players.PlayerAdded 事件期間。
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- 創建或取得遠端事件來處理引用
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- 玩家加入時會觸發的功能
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- 檢查玩家是否通過一個推薦被邀請
if referredByPlayerId then
-- 發射指定事件,傳送邀請者的 ID
referrerEvent:FireClient(player, referredByPlayerId)
-- 可以在此添加獎勵邀請者和邀請者的額外邏輯
-- 例如:rewardReferrer(referredByPlayerId)
-- 例如:rewardInvitee(playe玩家)
end
end
-- 連接功能到 PlayerAdded 事件
Players.PlayerAdded:Connect(onPlayerAdded)
授予參考獎勵
為了鼓勵參與,請給予邀請者和邀請者獎勵。例如,您可以給予邀請者一個徽章或體驗貨幣,當其朋友加入體驗,並且給予邀請者一個歡迎獎勵,因為通過簽到綁定接加入體驗。
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- 創建或取得遠端事件來處理引用
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- 玩家加入時會觸發的功能
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- 檢查玩家是否通過一個推薦被邀請
if referredByPlayerId then
-- 發射指定事件,傳送邀請者的 ID
referrerEvent:FireClient(player, referredByPlayerId)
-- 獎勵邀請者
function rewardReferrer(referrerId)
local referrerPlayer = Players:GetPlayerByUserId(referrerId)
if referrerPlayer then
-- 授予邀請者獎勵
-- 範例: referrerPlayer.leaderstats.Coins.Value + 100
end
end
-- 獎勵邀請者
function rewardInvitee(player)
-- 提供給邀請者獎勵
-- 範例:玩家layer.leaderstats.WelcomeBonus.Value增加50
end
end
end
-- 連接功能到 PlayerAdded 事件
Players.PlayerAdded:Connect(onPlayerAdded)
管理濫用防止
您可以實現保護措施來防止玩家濫用朋友推薦系統。
- 提供一次性獎勵來追蹤邀請人,並確認他們只能獲得一次獎勵。
- 在邀請者提交另一個引用之前,請介紹冷卻期。
- 監視不尋常的活動,並且執行徵償措施,例如封鎖用戶或取消獎勵。
-- 用於追蹤已被紅牌玩家的表
local referredPlayers = {}
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- 檢查玩家是否被邀請,並且尚未使用任何簽到
if referredByPlayerId and not referredPlayers[player.UserId] then
-- 參照玩家
referredPlayers[player.UserId] = true
-- 獎勵邀請者和邀請者
rewardReferrer(referredByPlayerId)
rewardInvitee(player)
end
end