คำเชิญชวนผู้เล่น

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

นอกจากวิธีการโปรโมททั่วไป สำหรับการเพิ่มฐานผู้เล่นของคุณ เพื่อเพิ่มฐานผู้เล่นของคุณคุณสามารถใช้วิธีการเชิญ คําเชิญ โดยตรงภายในประสบการณ์ของคุณเพื่อส่งเสริมให้ผู้เล่นเชิญเพื่อนของพวกเขาและเพิ่มการเล่นเกมร่วมกัน

กำลังติดตาม:

  • ผู้เชิญแบบไดนามิก — ขอให้ผู้เล่นเชิญเพื่อนหลายคนจากรายการเลือกหรือเชิญเพื่อนคนหนึ่งโดยเฉพาะ
  • เปิดเผยข้อมูล — รวมข้อมูลเปิดตัวที่เลือกได้ ข้อมูลเปิดตัว ที่สามารถอ่านได้ผ่าน Player:GetJoinData() เมื่อเพื่อนที่เชิญเข้าร่วมตัวอย่างกรณีการใช้งานรวมถึงการเรียกเพื่อนที่ได้รับเชิญไปยังตำแหน่งพิกัดหรือปรับแต่งประสบการณ์การเข้าร่วมสำหรับผู้รับเชิญ
  • ข้อความที่ปรับแต่งได้ — ปรับแต่งข้อความ แจ้งเตือน และข้อความ การแจ้งเตือนตัวอย่างเช่น คำเชิญชวนสำหรับผู้เล่นอาจอ่านว่า "ขอให้เพื่อนของคุณเข้าร่วมการผจญภัย!" และข้อความแจ้งเตือนสำหรับเพื่อนที่เชิญอาจอ่านว่า "displayName ต้องการให้คุณเข้าร่วมการผจญภัยใน experienceName!"

คุณยังสามารถติดตามและรางวัลผู้เชิญและผู้รับเชิญโดยใช้ระบบรางวัลการเชิญเพื่อน Friend Invite Reward System

ตั้งตัวเลือกการเชิญ

โดยค่าเริ่มต้น คำเชิญสำหรับผู้เล่นจะแสดงเมนูเพื่อนของพวกเขาด้วยปุ่ม เชิญ เพื่อปรับแต่งข้อความแจ้งเตือน เล็งเป้าหมายเพื่อนรายเฉพาะ หรือรวมข้อมูลการเปิดตัวในคำเชิญ คุณจะต้องตั้งค่าวัตถุ ExperienceInviteOptions ที่มีคุณสมบัติที่ต้องการ

คุณสมบัติประเภทคําอธิบาย
PromptMessageสตริงข้อความที่กำหนดเองที่แสดงในแท็บเชิญสำหรับผู้เล่นที่ส่ง ตัวอย่างเช่น "ขอให้เพื่อนของคุณเข้าร่วมการผจญภัย!" สำหรับแท็บเชิญเพื่อนหลายคน หรือ "เชิญเพื่อนคนนี้เข้าร่วมการผจญภัย!" สำหรับแท็บเชิญเพื่อนคนเฉพาะโปรดทราบว่าหากข้อความเชิญที่กําหนดเองมีความยาวเพียงพอที่จะเกินขอบเขตของ UI จะไม่แสดง
InviteUserจํานวนRoblox UserId ของเพื่อนเฉพาะที่จะเชิญ; หากไม่ได้ระบุ ผู้เล่นจะถูกขอให้เลือกจากรายการเพื่อน
InviteMessageIdสตริงID สินทรัพย์ที่แผนที่ไปยังประเภทสินทรัพย์การแจ้งเตือน Notice สินทรัพย์นี้ใช้เพื่อจัดเก็บ/แปลงเป็นภาษาท้องถิ่นสตริงที่กำหนดเองสำหรับการแจ้งเตือนการเชิญที่เพื่อนได้รับดู ตัวเลือกการแจ้งเตือนการตั้งค่า สำหรับรายละเอียด
LaunchDataสตริงใช้เพื่อตั้งพารามิเตอร์ใน Player:GetJoinData() เมื่อเพื่อนเข้าร่วมจากการแจ้งเตือนสูงสุด 200 ตัวอักษรดู รวมข้อมูลการเปิดตัว สําหรับตัวอย่างการใช้งาน
สคริปท้องถิ่น - เชิญเพื่อนหลายคน

local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- สร้างตัวเลือกการเชิญด้วยข้อความแจ้งเตือนที่กําหนดเอง
local inviteOptions = Instance.new("ExperienceInviteOptions")
inviteOptions.PromptMessage = "Ask your friends to join the adventure!"

ตั้งตัวเลือกการแจ้งเตือน

โดยค่าเริ่มต้น การแจ้งเตือนการเชิญที่เพื่อนได้รับจะมีชื่อผู้ส่ง DisplayName ชื่อผู้ใช้ และชื่อประสบการณ์เพื่อปรับแต่งข้อความคุณสามารถสร้างสินทรัพย์ การแจ้งเตือน บน แดชบอร์ดของผู้สร้าง และรวมรหัสสินทรัพย์ของมันเป็นพารามิเตอร์ของ ExperienceInviteOptions

  1. นําทางไปยัง แดชบอร์ดผู้สร้าง

  2. คล้ายกับตรา แย่ สตริงการแจ้งเตือนถูกผูกกับประสบการณ์ เฉพาะ ค้นหาภาพรวมของประสบการณ์นั้นและคลิกที่มัน

  3. ในคอลัมน์ด้านซ้ายภายใต้ การมีส่วนร่วม คลิก การแจ้งเตือน

  4. ในภูมิภาคกลาง, คลิกปุ่ม สร้างสตริงการแจ้งเตือน

  5. กรอกชื่อตัวระบุ (สามารถมองเห็นได้เฉพาะคุณ) และข้อความการแจ้งเตือนที่กำหนดเองโปรดทราบว่าคุณต้องรวม experienceName เป็นตัวชั่วคราวเพื่อระบุชื่อประสบการณ์สำหรับเพื่อนที่ได้รับเชิญ และคุณสามารถรวม DisplayName ของผู้ส่งผ่านตัวชั่วคราว displayName ได้ หากต้องการ

    ตัวอย่างสตริงการแจ้งเตือน:

    • displayName ต้องการให้คุณเข้าร่วมการผจญภัยใน experienceName!
    • displayName เพิ่งเคลียร์สเตจที่หกของ experienceName คุณสามารถไหม?
  6. เมื่อพร้อมแล้ว คลิกที่ปุ่ม สร้างสตริงการแจ้งเตือน

  7. บนหน้าการแจ้งเตือนในตารางการแจ้งเตือน คลิกปุ่ม ในคอลัมน์ การดำเนินการ และเลือก คัดลอก ID ทรัพยากร

  8. ในวัตถุ ExperienceInviteOptions สำหรับการแจ้งเตือนการเชิญ ให้วางรหัสทรัพยากรเป็นค่าของคุณสมบัติ InviteMessageId

    สคริปท้องถิ่น - เชิญเพื่อนหลายคน

    local SocialService = game:GetService("SocialService")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    -- สร้างตัวเลือกการเชิญด้วย ID ผู้ใช้ของเพื่อน
    local inviteOptions = Instance.new("ExperienceInviteOptions")
    inviteOptions.InviteMessageId = "ef0e0790-e2e8-4441-9a32-93f3a5783bf1"

เรียกร้องการเชิญ

เพื่อส่งคำเชิญ คุณควรกำหนดก่อนว่าผู้เล่น สามารถ ส่งคำเชิญได้หรือไม่ เนื่องจากความสามารถอาจแตกต่างกันไปขึ้นอยู่กับแพลตฟอร์มหรือผู้เล่นเมื่อยืนยันแล้ว คุณสามารถแสดงคำเชิญไปยังผู้เล่นได้

  1. โทร SocialService:CanSendGameInviteAsync() , ห่อหุ้มด้วย pcall() เนื่องจากเป็นการโทรเครือข่ายแบบไม่สynchronous ที่อาจล้มเหลวได้เป็นครั้งคราว
  2. หากความสามารถในการเชิญถูกยืนยันให้โทร SocialService:PromptGameInvite() ด้วยตัวเลือก เชิญตัวเลือกวัตถุ เป็นอาร์กิวเมนต์ที่สอง

เมื่อได้รับคำขอแล้ว ผู้เล่นจะเห็นคำขอบนหน้าจอเพื่อเชิญเพื่อนหลายคนหรือเพื่อนเฉพาะที่กำหนดไว้ในตัวเลือกการเชิญ objectเมื่อผู้เล่นคลิกปุ่ม เชิญ สำหรับเพื่อนหนึ่งหรือมากกว่า เพื่อนเหล่านั้นจะได้รับการแจ้งเตือนที่มีชื่อผู้ส่ง DisplayName ชื่อผู้ใช้ และชื่อประสบการณ์การแจ้งเตือนอาจปรับแต่งเพิ่มเติมตามที่อธิบายไว้ใน ตั้งตัวเลือกการแจ้งเตือน

สคริปท้องถิ่น - เชิญเพื่อนหลายคน

local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- ฟังก์ชันเพื่อตรวจสอบว่าผู้เล่นสามารถส่งคำเชิญได้หรือไม่
local function canSendGameInvite(sendingPlayer)
local success, canSend = pcall(function()
return SocialService:CanSendGameInviteAsync(sendingPlayer)
end)
return success and canSend
end
local canInvite = canSendGameInvite(player)
if canInvite then
SocialService:PromptGameInvite(player)
end

รวมข้อมูลการเปิดตัว

เพื่อปรับปรุงความร่วมมือในประสบการณ์ต่อไปหรือเพื่อส่งเสริมการเชิญผู้เล่น คุณสามารถรวม ข้อมูลการเปิดตัว ในแจ้งเตือนการเชิญที่มีประโยชน์สำหรับสถานการณ์เช่นเส้นทางการเชิญเพื่อนไปยังตำแหน่งที่กำหนดหรือปรับปรุงประสบการณ์การเชื่อมต่อสำหรับผู้รับเชิญ

  1. เมื่อ ส่งคำเชิญ รวมถึงวัตถุ ที่มีข้อมูลที่เกี่ยวข้องที่จะใช้เมื่อเพื่อนเข้าร่วมประสบการณ์ เช่น ผู้ส่ง ของตราสัญลักษณ์ ที่จะมอบให้กับเพื่อนเมื่อเข้าร่วมหรือตำแหน่งที่ตั้งที่จะสร้างเพื่อนขึ้นมาหากต้องการรวบรวมข้อมูลหลายชิ้น ให้เข้ารหัสข้อมูลโดยใช้ JSONEncode()

    สคริปท้องถิ่น - เชิญเพื่อนหลายคน

    local HttpService = game:GetService("HttpService")
    local SocialService = game:GetService("SocialService")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    local data = {
    senderUserID = player.UserId,
    spawnLocation = {12, 48, 205.5}
    }
    local launchData = HttpService:JSONEncode(data)
    -- สร้างตัวเลือกการเชิญด้วยข้อมูลการเปิดตัว
    local inviteOptions = Instance.new("ExperienceInviteOptions")
    inviteOptions.LaunchData = launchData
    -- ฟังก์ชันเพื่อตรวจสอบว่าผู้เล่นสามารถส่งคำเชิญได้หรือไม่
    local function canSendGameInvite(sendingPlayer)
    local success, canSend = pcall(function()
    return SocialService:CanSendGameInviteAsync(sendingPlayer)
    end)
    return success and canSend
    end
    local canInvite = canSendGameInvite(player)
    if canInvite then
    SocialService:PromptGameInvite(player, inviteOptions)
    end
  2. สำหรับเพื่อนที่เข้าร่วมผ่านการแจ้งเตือน ตรวจสอบข้อมูลการเปิดตัวบนด้านเซิร์ฟเวอร์ผ่าน Player:GetJoinData()หากคุณเข้ารหัสข้อมูลหลายชิ้นเป็น JSON สําหรับการแจ้งเตือนการเชิญ โปรดจําไว้ว่าต้องถอดรหัสด้วย JSONDecode()

    สคริปต์ - ใช้ข้อมูลการเปิดตัวเชิญ

    local HttpService = game:GetService("HttpService")
    local Players = game:GetService("Players")
    local ATTEMPT_LIMIT = 10
    local RETRY_DELAY = 1
    local function onPlayerAdded(player)
    local launchData
    for _ = 1, ATTEMPT_LIMIT do
    task.wait(RETRY_DELAY)
    local joinData = player:GetJoinData()
    if joinData.LaunchData ~= "" then
    launchData = joinData.LaunchData
    break
    end
    end
    if launchData then
    local data = HttpService:JSONDecode(launchData)
    print(data.senderUserID)
    print(data.spawnLocation)
    else
    warn("No launch data received!")
    end
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
  3. หากข้อมูลการเปิดตัวมีอยู่ คุณสามารถใช้มันสำหรับการออกแบบหลากหลายสถานการณ์ รวมถึง:

    • สร้างเพื่อนที่เข้ามาในช่วงต้นของสนามแข่งอุปสรรคที่ท้าทายซึ่งผู้ส่งเพิ่งเสร็จสิ้น ตามตำแหน่งพิกัดที่ส่งผ่านข้อมูลการเปิดตัว
    • ตรวจสอบว่า ผู้ส่ง อยู่ในสถานที่ ตามข้อมูลเปิดตัวของพวกเขา Player.UserId และเทเลพอร์ตตัวละครของเพื่อนใกล้กับตัวละครของพวกเขา