Hệ thống phần thưởng mời bạn bè

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.


Hệ thống giới thiệu bạn bè khuyến khích người chơi hiện tại mang những người chơi mới vào trải nghiệm của bạn, tăng tỷ lệ giữ chơi và tổng sự tham tương tác. Người chơi có thể truy cập và chia sẻ liên kết giới thiệu từ mời người chơi vào trải nghiệm hoặc trực tiế

Là một nhà phát triển, bạn có thể sử dụng các liên kết chia sẻ được chia sẻ này để:

  • Theo dõi những người chơi nào đã mời thành công người chơi khác vào trải nghiệm của bạn.
  • Theo dõi những người chơi nào đã tham gia trải nghiệm của bạn bằng cách sử dụng một lời mời liên kết qua một người chơi khác.
  • Tạo và phân phối phần thưởng cho cả những người mời và những người mời.
Các pop-up Mời bạn bèPhần thưởng giới thiệu bạn bè sẽ xuất hiện vào đầu năm 2025.

Để implement a friend referral system, set up a referral event and create referral rewards . The ReferredByPlayerId property of 1> Class.Player:GetJoinData()|GetJoinData()1> automatically populates for all types of invitations and gives you access to the


function onPlayerAdded(player)
local referredByPlayerId = player:GetJoinData().ReferredByPlayerId
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
referrerEvent:FireClient(player, referredByPlayerId)
end
Players.PlayerAdded:Connect(onPlayerAdded)

Tổ chức một sự kiện giới thiệu

Để tạo một sự kiện giới thiệu:

  1. Tạo một RemoteEvent trong ReplicatedStorage để tạo một sự kiện xa trung gian để truyền thông tin với khách hàng khi nhận được một lời giới thiệu.
  2. Lấy ID người dùng của nhà mời bằng cách sử dụng ReferredByPlayerId để theo dõi người chơi tham gia và xử lý logica giới thiệu trong script phía máy chủ của bạn trong sự kiện Players.PlayerAdded .

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Tạo hoặc nhận RemoteEvent để xử lý các mối quan hệ
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Hành động nào sẽ được kích hoạt khi một người chơi tham gia
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Kiểm tra xem người chơi đã được mời thông qua một lời mời
if referredByPlayerId then
-- Kích hoạt sự kiện giới thiệu cho khách hàng, vượt qua ID của người mời
referrerEvent:FireClient(player, referredByPlayerId)
-- Thêm điều khiển cho phần thưởng người mời và mời người được thêm ở đây
-- ví dụ, rewardReferrer(referredByPlayerId)
-- ví dụ, rewardInvitee(người chơi)
end
end
-- Kết nối hàm này với sự kiện PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)

Tặng phần thưởng giới thiệu

Để khuyến khích tham gia, hãy đưa phần thưởng cho cả những người mời và người mời. Ví dụ, bạn có thể đưa phần thưởng cho người mời bằng cách đưa một tiền tệ trong kinh nghiệm hoặc một huy hiệu khi bạn bè tham gia kinh nghiệm thông qua một liên kết giới thiệu.


local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Tạo hoặc nhận RemoteEvent để xử lý các mối quan hệ
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Hành động nào sẽ được kích hoạt khi một người chơi tham gia
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Kiểm tra xem người chơi đã được mời thông qua một lời mời
if referredByPlayerId then
-- Kích hoạt sự kiện giới thiệu cho khách hàng, vượt qua ID của người mời
referrerEvent:FireClient(player, referredByPlayerId)
-- Phần thưởng nhà mời
function rewardReferrer(referrerId)
local referrerPlayer = Players:GetPlayerByUserId(referrerId)
if referrerPlayer then
-- Cho phép người mời họ nhận phần thưởng của họ
-- Ví dụ: referrerPlayer.leaderstats.Coins.Value (+100)
end
end
-- Phần thưởng người mời
function rewardInvitee(player)
-- Cho phép người mời họ nhận phần thưởng
-- Ví dụ: người chơi.leaderstats.WelcomeBonus.Value (+50)
end
end
end
-- Kết nối hàm này với sự kiện PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)

Quản lý ngừa chết tiệt

Bạn có thể thực hiện các biện pháp an toàn để ngăn chặn người chơi lợi dụng hệ thống giới thiệu bạn bè.

  • Cung cấp phần thưởng một lần để theo dõi kẻ mời và đảm bảo họ chỉ được thưởng một lần.
  • Giới thiệu một thời gian chờ đợi trước khi một người gửi thư mời khác có thể gửi thư mời.
  • Theo dõi hoạt động bất thường và thực hiện các biện pháp khắc phục như cấm người dùng hoặc huỷ giải thưởng.

-- Bảng để theo dõi người chơi đã được chuyển
local referredPlayers = {}
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Kiểm tra xem người chơi đã được mời và chưa sử dụng một mối quan hệ
if referredByPlayerId and not referredPlayers[player.UserId] then
-- Mark người chơi như được chỉ định
referredPlayers[player.UserId] = true
-- Người mời phần thưởng và người mời
rewardReferrer(referredByPlayerId)
rewardInvitee(player)
end
end