ระบบการแนะนำเพื่อนสนับสนุนผู้เล่นที่มีอยู่ให้เชื้อเชิญผู้เล่นใหม่เข้าสู่เกมของคุณ ช่วยเพิ่มการรักษาผู้เล่นและการมีส่วนร่วมโดยรวม ผู้เล่นสามารถเข้าถึงและแชร์ลิงก์การแนะนำจาก ข้อความเชิญผู้เล่น หรือโดยตรงจากเมนูเชิญในเกมที่ตั้งไว้เริ่มต้น
ในฐานะนักพัฒนา คุณสามารถสร้างป้ายที่ปรับแต่งได้เพื่อโฆษณาระบบรางวัลของคุณและใช้ลิงก์การแนะนำที่แชร์ได้เพื่อ:
- ติดตามผู้เล่นที่ได้เชื้อเชิญผู้เล่นอื่นเข้าสู่เกมของคุณอย่างสำเร็จ
- ติดตามผู้เล่นที่เข้าร่วมเกมของคุณโดยใช้การเชิญจากลิงก์การแนะนำจากผู้เล่นคนอื่น
- สร้างและแจกจ่ายรางวัลให้กับทั้งผู้เชื้อเชิญและผู้ที่ถูกเชิญ
ในการใช้ระบบการแนะนำ ให้ ตั้งค่าเหตุการณ์การแนะนำ และ สร้างรางวัลการแนะนำ ใน Studio คุณสมบัติ ReferredByPlayerId ของ GetJoinData() จะถูกกรอกโดยอัตโนมัติสำหรับทุกประเภทของคำเชิญและให้คุณเข้าถึง ID ผู้ใช้ของผู้เล่นที่แนะนำ จากนั้นคุณสามารถเข้าถึงข้อมูลนี้ในเหตุการณ์ Players.PlayerAdded เพื่อระบุผู้เชื้อเชิญและให้รางวัลแก่ทั้งผู้เชื้อเชิญและผู้ที่ถูกเชิญ
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 เพื่อสร้างเหตุการณ์ระยะไกลเพื่อสื่อสารกับลูกค้าเมื่อได้รับการแนะนำ
- ดึง ID ผู้ใช้ของผู้เชื้อเชิญโดยใช้ ReferredByPlayerId เพื่อติดตามการเข้าร่วมของผู้เล่นและจัดการตรรกะการแนะนำในสคริปต์ด้านเซิร์ฟเวอร์ของคุณในระหว่างเหตุการณ์ Players.PlayerAdded
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- สร้างหรือรับ RemoteEvent สำหรับจัดการการแนะนำ
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- ฟังก์ชันที่จะถูกเรียกเมื่อผู้เล่นเข้าร่วม
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- ตรวจสอบว่าผู้เล่นถูกเชื้อเชิญผ่านการแนะนำหรือไม่
if referredByPlayerId and referredByPlayerId ~= 0 then
-- ส่งเหตุการณ์การแนะนำไปยังลูกค้า โดยส่ง ID ของผู้เชื้อเชิญ
referrerEvent:FireClient(player, referredByPlayerId)
-- สามารถเพิ่มตรรกะเพิ่มเติมสำหรับการให้รางวัลแก่ผู้เชื้อเชิญและผู้ที่ถูกเชิญได้ที่นี่
-- เช่น รางวัลให้กับผู้เชื้อเชิญ(referredByPlayerId)
-- เช่น รางวัลให้กับผู้ที่ถูกเชิญ(player)
end
end
-- เชื่อมต่อฟังก์ชันกับเหตุการณ์ PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)
ให้รางวัลการแนะนำ
เพื่อสนับสนุนการเข้าร่วม ให้รางวัลแก่ทั้งผู้เชื้อเชิญและผู้ที่ถูกเชิญ ตัวอย่างเช่น คุณสามารถให้ผู้เชื้อเชิญได้เหรียญรางวัลหรือเงินในเกมเมื่อเพื่อนของพวกเขาเข้าร่วมเกม และให้ผู้ที่ถูกเชิญได้รับรางวัลตอนต้อนรับสำหรับการเข้าร่วมเกมผ่านลิงก์การแนะนำ
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- สร้างหรือรับ RemoteEvent สำหรับจัดการการแนะนำ
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- ฟังก์ชันที่จะถูกเรียกเมื่อผู้เล่นเข้าร่วม
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- ตรวจสอบว่าผู้เล่นถูกเชื้อเชิญผ่านการแนะนำหรือไม่
if referredByPlayerId and referredByPlayerId ~= 0 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)
-- มอบรางวัลให้กับผู้ที่ถูกเชิญ
-- ตัวอย่าง: player.leaderstats.WelcomeBonus.Value += 50
end
end
end
-- เชื่อมต่อฟังก์ชันกับเหตุการณ์ PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)
สร้างป้ายรางวัล
ป้ายรางวัลสนับสนุนผู้ใช้ให้เชื้อเชิญเพื่อนให้เข้าร่วมเกมของคุณ โดยแสดงรายละเอียดเกี่ยวกับรางวัลการแนะนำที่พวกเขาสามารถรับได้ ป้ายเหล่านี้จะแสดงที่ด้านบนของโมดัลเชิญเพื่อนของคุณ
ในการสร้างป้ายรางวัลที่ปรับแต่งได้:
- ใน Creator Hub ไปที่ Creations และเลือกเกมที่คุณได้ตั้งค่าเหตุการณ์การแนะนำไว้
- ไปที่ Engagement ⟩ Referral Rewards.
- คลิก Add Reward Details.
- ในหน้า Referral Rewards:
- แทนที่ไอคอนเริ่มต้นด้วยภาพที่เป็นตัวแทนของเกมของคุณ
- ป้อนชื่อรางวัลที่จะถูกแสดงบนป้าย
- เลือกวันเริ่มต้นและวันสิ้นสุดสำหรับเมื่อคุณต้องการแสดงป้ายนี้ให้ผู้เล่น
- (เลือกทำ) ป้อนคำอธิบายที่มีรายละเอียดเกี่ยวกับรางวัล
- (เลือกทำ) หากคุณต้องการเพิ่มข้อจำกัดเกี่ยวกับรางวัล ให้ป้อนขีดจำกัดรางวัล ตัวอย่างเช่น ขีดจำกัดสูงสุด 3 รางวัลต่อผู้เชื้อเชิญ
- คลิก Save เพื่อบันทึกการเปลี่ยนแปลงของคุณ
- คลิก Publish เพื่อให้ป้ายนี้สามารถมองเห็นได้โดยผู้เล่น
คุณสามารถสร้างป้ายต่างๆ มากมายได้ แต่จะสามารถเผยแพร่และแสดงป้ายเดียวในแต่ละครั้งเท่านั้น ตรวจสอบให้แน่ใจว่าป้ายที่เผยแพร่นั้นอธิบายระบบการแนะนำที่คุณได้ดำเนินการใน Studio อย่างถูกต้อง
ป้องกันการละเมิดระบบการแนะนำ
คุณสามารถดำเนินการป้องกันเพื่อป้องกันไม่ให้ผู้เล่นใช้ประโยชน์จากระบบการแนะนำเพื่อน
- เสนอรางวัลแบบครั้งเดียวเพื่อติดตามผู้ที่ถูกเชิญและตรวจสอบว่าพวกเขาได้รับรางวัลเพียงครั้งเดียว
- แนะนำระยะเวลารอคอยก่อนที่ผู้เชื้อเชิญจะส่งคำเชิญอีกครั้ง
- ตรวจสอบกิจกรรมที่ไม่ปกติและดำเนินการแก้ไข เช่น การแบนผู้ใช้หรือการยกเลิกการให้รางวัล
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
-- สร้างหรือรับ datastore สำหรับการแนะนำ
local referralDataStore = DataStoreService:GetDataStore("ReferralDataStore")
-- ฟังก์ชันเพื่อตรวจสอบและทำเครื่องหมายการแนะนำ
local function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- โหลดข้อมูลการแนะนำของผู้เล่น
local success, alreadyReferred = pcall(function()
return referralDataStore:GetAsync(tostring(player.UserId))
end)
if not success then
warn("ล้มเหลวในการดึงข้อมูลการแนะนำสำหรับผู้เล่น:", player.UserId)
return
end
if referredByPlayerId and referredByPlayerId ~= 0 and not alreadyReferred then
-- มอบรางวัลให้กับผู้เชื้อเชิญและผู้ที่ถูกเชิญ
rewardReferrer(referredByPlayerId)
rewardInvitee(player)
-- ทำเครื่องหมายผู้เล่นว่าได้รับการแนะนำใน DataStore
local saveSuccess, err = pcall(function()
referralDataStore:SetAsync(tostring(player.UserId), true)
end)
if not saveSuccess then
warn("ล้มเหลวในการบันทึกสถานะการแนะนำสำหรับผู้เล่น:", player.UserId, err)
end
end
end
-- เชื่อมต่อฟังก์ชันกับการเข้าร่วมของผู้เล่น
Players.PlayerAdded:Connect(onPlayerAdded)
คำถามที่มักพบบ่อย
เกมใดบ้างที่มีสิทธิ์ใช้ฟีเจอร์นี้?
ฟีเจอร์นี้เปิดให้กับเกมใดๆ ที่ออนไลน์มาอย่างน้อยหนึ่งวันและไม่ละเมิด มาตรฐานชุมชน
ผู้เล่นคนไหนบ้างที่สามารถใช้ประโยชน์จากการแนะนำได้?
ผู้เล่นทุกคนมีสิทธิ์ได้รับรางวัลผ่านการแนะนำ
การเชิญจำกัดเฉพาะเพื่อนของผู้เล่นใน Roblox หรือไม่?
ไม่ ผู้เล่นสามารถส่งคำเชิญไปยังเพื่อนที่พวกเขายังไม่ได้เชื่อมต่อในแพลตฟอร์ม Roblox
ลิงก์การแนะนำหมดอายุหรือไม่?
ลิงก์ไม่หมดอายุ
ฉันจะใช้ฟีเจอร์นี้ให้เกิดประโยชน์สูงสุดได้อย่างไร?
คุณสามารถเพิ่มปุ่มในเกมเพื่อโฆษณาระบบการแนะนำเพื่อกระตุ้นให้ผู้เล่นใช้ประโยชน์จากการแนะนำ จากนั้นคุณสามารถให้ปุ่มนั้นมีชื่อที่มีความหมายและเชื่อมต่อเหตุการณ์คลิกปุ่มไปยังโมดัลเชิญเพื่อนที่ผู้เล่นสามารถเห็นป้ายรางวัลได้