การสมัครสมาชิก ภายในเกมช่วยให้คุณเสนอประโยชน์ที่เกิดขึ้นซ้ำให้กับผู้ใช้ในค่าธรรมเนียมรายเดือน การสมัครสมาชิกมีความคล้ายคลึงกับ พาส แต่ในขณะที่ผลประโยชน์จากพาสจะถูกมอบให้โดยไม่กำหนดเวลา การสมัครสมาชิกจะขึ้นอยู่กับการจ่ายค่าธรรมเนียมรายเดือนโดยผู้ใช้
การสมัครสมาชิกบน Roblox มีลักษณะดังต่อไปนี้:
- การต่ออายุอัตโนมัติ: การสมัครสมาชิกจะมีการต่ออายุอัตโนมัติ ไม่ใช่การซื้อครั้งเดียว และสามารถตั้งราคาในสกุลเงินท้องถิ่นหรือ Robux
- การจ่าย Robux: ไม่ว่าการสมัครสมาชิกจะซื้อในสกุลเงินท้องถิ่นหรือ Robux คุณจะได้รับรายได้จากการสมัครสมาชิกในรูปแบบ Robux สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ สร้างรายได้จากการสมัครสมาชิก
- ชั้นเดียว: การสมัครสมาชิกทั้งหมดภายในเกมสามารถเป็นเจ้าของโดยผู้ใช้ได้พร้อมกัน การสมัครสมาชิกที่ไม่สามารถยกเลิกได้จะไม่ได้รับการสนับสนุน
- การตั้งราคาในภูมิภาค: การตั้งราคาในภูมิภาค จะเปิดใช้งานโดยที่ตั้งค่าเริ่มต้นสำหรับการสมัครสมาชิกที่ขายใน Robux และไม่สามารถปิดได้ การตั้งราคาในภูมิภาคจะไม่สามารถใช้ได้สำหรับการสมัครสมาชิกที่ขายในสกุลเงินท้องถิ่น
แนวทางการสมัครสมาชิก
ก่อนที่คุณจะสร้างการสมัครสมาชิก ตรวจสอบให้แน่ใจว่าการสมัครนั้นสอดคล้องกับ ข้อกำหนดการใช้งานของ Roblox และปฏิบัติตามกฎหมายท้องถิ่น เกมใดๆ ที่มีการหลอกลวง พยายามที่จะหลอกผู้ใช้ด้วยข้อเสนอที่ไม่เป็นจริง หรือทำผิด มาตรฐานชุมชน ของเราจะถูกลบออก
คุณจะต้องตรวจสอบให้แน่ใจว่าการสมัครของคุณปฏิบัติตามแนวทางต่อไปนี้:
- ให้ตัวเลือกการสมัครสมาชิกที่ชัดเจนและแตกต่างกัน: ใช้ชื่อที่สั้น กระชับ และอธิบายได้ด้วยตัวเองที่แตกต่างกันระหว่างตัวเลือกการสมัครสมาชิก กำหนดราคาและระยะเวลาสำหรับแต่ละตัวเลือกเมื่อทำการขายในเกม
- เสนอผลประโยชน์เดียวกันในทุกแพลตฟอร์มและอุปกรณ์: ไม่ว่าจะซื้อการสมัครสมาชิกที่ไหน ต้องแน่ใจว่าผู้ใช้ได้รับผลประโยชน์เดียวกันสำหรับแผนการสมัครสมาชิกใดๆ
- ออกแบบการสมัครให้เข้ากับกันและกับข้อเสนอโดยรวมของเกม: ไม่สามารถนำเสนอเป็นชั้น ๆ ในชุดสิทธิประโยชน์เดียวกัน เช่น การเสนอ "ทองแดง," "เงิน," และ "ทอง" ที่ไม่สามารถยกเลิกได้ในขณะนี้ ต้องแน่ใจว่าการสมัครสมาชิกแสดงชุดสิทธิประโยชน์ที่แตกต่างกัน
- เสนอผลประโยชน์ตลอดระยะเวลาของการสมัครสมาชิก: เมื่อข้อเสนอการสมัครสมาชิกเปิดใช้งานแล้ว ให้เกียรติผลประโยชน์ที่ระบุและอย่าถอนผลประโยชน์แบบซ่อนเร้น
- อย่าชี้นำผู้ใช้ให้ซื้อในแพลตฟอร์มอื่น (เช่น มือถือ เว็บ ฯลฯ) ในเกม: ในขณะที่คุณสามารถสื่อสารกับผู้ใช้นอกแพลตฟอร์มได้ คุณต้องห้ามใช้แอป Roblox ในการแนะนำผู้ใช้ให้ซื้อในที่อื่น
- อย่ากำหนดข้อกำหนดเพิ่มเติมเพื่อรับผลประโยชน์จากการสมัครสมาชิกหลังจากที่ผู้ใช้ได้จ่ายเงินแล้ว: การเรียกร้องให้ผู้ใช้ทำกิจกรรมเพิ่มเติม เช่น โพสต์ไปยังโซเชียลมีเดีย เพื่อให้ได้รับผลประโยชน์ที่พวกเขาชำระเงินนั้นเป็นสิ่งต้องห้าม แนวทางนี้ไม่ส่งผลกระทบต่อบัตรผ่านการต่อสู้ ซึ่งคุณสามารถสร้างและทำการตลาดในฐานะการสมัครสมาชิกได้
Robux กับสกุลเงินท้องถิ่น
การสมัครสมาชิกสามารถตั้งราคาได้ใน Robux หรือสกุลเงินท้องถิ่น ตารางด้านล่างเปรียบเทียบตัวเลือกการชำระเงินทั้งสอง
| Robux | สกุลเงินท้องถิ่น | |
|---|---|---|
| คุณสมบัติ | ผู้สร้างทั้งหมด | ต้องมีบัญชี ยืนยันด้วย ID หรือหมายเลขโทรศัพท์ |
| แพลตฟอร์ม | สามารถใช้ได้ในทุกแพลตฟอร์ม | สามารถใช้ได้บนเว็บ, App Store และ Google Play |
| ประเทศ | สามารถใช้ได้ในทุกประเทศที่สนับสนุน Roblox | ใช้งานไม่ได้ในอาร์เจนตินา, จีน, โคลอมเบีย, อินเดีย, อินโดนีเซีย, ญี่ปุ่น, รัสเซีย, ไต้หวัน, ตุรกี, สหรัฐอาหรับเอมิเรตส์, ยูเครน และเวียดนาม |
| ราคา | จำนวนใดๆ ที่เท่ากับหรือมากกว่า 49 Robux | $2.99, $4.99, $7.99, $9.99 หรือ $14.99 |
| การตั้งราคาในภูมิภาค | เปิดใช้งานโดยค่าเริ่มต้น | ใช้งานไม่ได้ |
| การจ่ายเงิน | 70% ของรายได้การสมัครสมาชิกในแต่ละเดือน | 70% ในเดือนแรก จากนั้น 100% ในเดือนถัดไป |
สร้างการสมัครสมาชิก
เพื่อสร้างการสมัครสมาชิก:
- คลิก สร้างการสมัครสมาชิก
- อัปโหลดภาพหน้าปก
- ใส่ชื่อที่มีเอกลักษณ์ คุณไม่สามารถมีการสมัครสมาชิกสองรายการที่มีชื่อเดียวกันในเกมเดียวกันได้
- ใส่คำอธิบายที่อธิบายผลประโยชน์ที่คุณเสนออย่างชัดเจน
- เลือกหนึ่งในตัวเลือกการชำระเงินต่อไปนี้:
- ผู้สมัครจ่าย Robux: คิดค่าบริการรายเดือนใน Robux หากคุณเลือกตัวเลือกนี้ คุณต้องป้อนราคาที่กำหนดเองซึ่งมากกว่าหรือเท่ากับ 49 Robux การตั้งราคาในภูมิภาค จะเปิดใช้งานโดยค่าเริ่มต้นสำหรับการสมัครสมาชิกดังกล่าวและไม่สามารถปิดได้
- ผู้สมัครจ่ายในสกุลเงินท้องถิ่น: คิดค่าบริการรายเดือนในสกุลเงินท้องถิ่นของพวกเขา หากคุณเลือกตัวเลือกนี้ คุณจะต้องเลือกค่าธรรมเนียมการสมัครจาก 5 ระดับราคาที่มีให้
- เลือกหนึ่งในประเภทผลิตภัณฑ์ต่อไปนี้:
- ถาวร: รายการถาวรที่คงอยู่หลังจากการใช้งานหรือการได้มา เช่น รายการทางกายภาพ เช่น อาวุธ หากการสมัครสมาชิกประกอบด้วยสินค้าหลายประเภท ซึ่งหนึ่งในนั้นหรือมากกว่านั้นถาวร เช่น แพ็กค่าตัวที่มีดาบและน้ำยา เลือก ถาวร เป็นประเภทผลิตภัณฑ์
- ของใช้: รายการชั่วคราวที่สามารถซื้อซ้ำได้ซึ่งหมดอายุหลังจากใช้งานหรือตั้งแต่ได้มา เช่น น้ำยาที่ใช้แล้วซึ่งมอบความสามารถพิเศษชั่วคราวและหมดอายุเมื่อเวลาผ่านไป
- สกุลเงิน: สื่อกลางในการแลกเปลี่ยนที่ผู้ใช้สามารถใช้เพื่อซื้อรายการภายในเกมของคุณ
- คลิก สร้างการสมัครสมาชิก
เปิดใช้งานการสมัครสมาชิก
คุณสามารถมีการสมัครสมาชิกได้สูงสุด 50 รายการ ต่อเกมรวมทั้งการสมัครสมาชิกที่ใช้งานอยู่และไม่ได้ใช้งาน
เพื่อนำการสมัครสมาชิกมาขาย คลิก ⋮ ถัดจากการสมัครที่คุณต้องการเปิดใช้งานและเลือก เปิดใช้งาน การสมัครสมาชิกที่เปิดใช้งานจะพร้อมขายโดยอัตโนมัติในแท็บ ร้านค้า ของหน้าเกม และสามารถถูกเพิ่มไปที่เกมของคุณผ่านฟังก์ชัน MarketplaceService
ก่อนที่คุณจะเปิดใช้งานการสมัครสมาชิกครั้งแรก คุณต้องยืนยันชื่อเกมที่สั้นลง ชื่อนี้จะแสดงให้ผู้ใช้เห็นเมื่อพวกเขาสมัคร และจะปรากฏอยู่พร้อมกับชื่อการสมัครสมาชิกที่คุณสร้างใน สร้างการสมัครสมาชิก
สถานะการสมัครสมาชิก
การสมัครสมาชิกมีสองสถานะที่เป็นไปได้:
- เปิดใช้งาน: การสมัครสมาชิกที่เปิดใช้งานจะพร้อมขาย โดยผู้ใช้สามารถต่ออายุการสมัครในช่วงเริ่มต้นของระยะถัดไป
- ไม่ได้ใช้งาน: การสมัครสมาชิกที่ไม่ได้ใช้งานจะไม่มีให้ขาย
หากต้องการเปลี่ยนสถานะของการสมัครสมาชิก คลิก ⋯ ที่มุมขวาบนของบล็อกการสมัครสมาชิกและเลือก เปิดใช้งาน (หากการสมัครสมาชิกไม่เปิดใช้งานอยู่ในขณะนี้) หรือ ถอนการขาย (หากการสมัครสมาชิกเปิดใช้งานอยู่ในขณะนี้)
หากคุณเลือก ถอนการขาย คุณจะมีตัวเลือกในการให้ผู้ใช้ที่มีการสมัครสมาชิกได้รับการต่ออายุการสมัคร และทำการยกเลิกการต่ออายุในอนาคตสำหรับผู้ใช้ที่มีอยู่ หากคุณไม่วางแผนที่จะลบผลประโยชน์ที่เกี่ยวข้องจากเกมของคุณอย่างถาวร เราขอแนะนำให้คุณอนุญาตให้ผู้ใช้ที่มีอยู่ต่ออายุการสมัครของพวกเขา
แก้ไขการสมัครสมาชิก
ฟิลด์ที่คุณสามารถแก้ไขได้จะขึ้นอยู่กับวิธีการชำระเงิน
| ฟิลด์ที่แก้ไขได้ | การสมัครสมาชิกที่ขายใน Robux | การสมัครสมาชิกที่ขายในสกุลเงินท้องถิ่น |
|---|---|---|
| ภาพหน้าปก | ใช่ | ใช่ |
| ชื่อ | ไม่ | ไม่ |
| คำอธิบาย | ใช่ | ใช่ |
| วิธีการชำระเงิน | ใช่ (สามารถเปลี่ยนเป็นสกุลเงินท้องถิ่น) | ใช่ (สามารถเปลี่ยนเป็น Robux) |
| ราคา | ใช่ (ห一次ทุก 60 วัน) | ไม่ |
| ประเภทผลิตภัณฑ์ | ไม่ | ไม่ |
| สถานะการเปิดใช้งาน | ใช่ | ใช่ |
การเปลี่ยนแปลงวิธีการชำระเงินจะมีผลต่อการสมัครสมาชิกใหม่เท่านั้น ผู้ใช้ที่มีอยู่จะยังคงอยู่ในวิธีการชำระเงินเดิมและต้องยกเลิกและสมัครสมาชิกใหม่เพื่อเปลี่ยน
ลบการสมัครสมาชิก
เพื่อจะลบการสมัครสมาชิก คลิก ⋮ ถัดจากการสมัครสมาชิกที่คุณต้องการลบและเลือก ลบ
การลบการสมัครสมาชิกที่เปิดใช้งานจะทำให้มีการคืนเงินเต็มจำนวนแก่ผู้ใช้ที่สมัครอยู่และไม่มี Robux ให้กับคุณ ในสถานการณ์ส่วนใหญ่หากคุณต้องการลบการสมัครสมาชิก เราขอแนะนำให้คุณถอดออกจากการขายก่อน เลือกตัวเลือกเพื่อยกเลิกการต่ออายุทั้งหมด และรอให้ระยะเวลาปัจจุบันสิ้นสุดลง
การลบการสมัครสมาชิกต้องใช้ตัวเลขสี่หลักสุดท้ายของ ID การสมัครสมาชิกเพื่อยืนยัน
รวมการสมัครสมาชิกเข้ากับเกม
ตรวจสอบสถานะการสมัครสมาชิกของผู้ใช้
โค้ดตัวอย่างต่อไปนี้ implement การตรวจสอบสถานะการสมัครสมาชิกในเกมของคุณ:
-- รันโค้ดนี้บนเซิร์ฟเวอร์
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- เปลี่ยนเป็น ID การสมัครสมาชิกของคุณ
local function grantAward(player: Player)
-- คุณควรมอบรางวัลที่เกี่ยวข้องกับการสมัครสมาชิกที่นี่
end
local function revokeAwardIfGranted(player: Player)
-- วิธีนี้ถูกเรียกสำหรับผู้เล่นที่ไม่มีการสมัครสมาชิก
-- หากโค้ดของคุณบันทึกการสมัครสมาชิกใน Data Stores หรือให้ผลประโยชน์ที่ต้องถูก 'ถอดถอน'
-- คุณควรใช้วิธีนี้ในการจัดการการถอน
end
local function checkSubStatus(player)
local success, response = pcall(function()
return MarketplaceService:GetUserSubscriptionStatusAsync(player, SUBSCRIPTION_ID)
end)
if not success then
warn(`เกิดข้อผิดพลาดขณะที่ตรวจสอบว่าผู้เล่นมีการสมัครสมาชิก: {response}`)
return
end
if response.IsSubscribed then
grantAward(player)
else
revokeAwardIfGranted(player)
end
end
local function onUserSubscriptionStatusChanged(player: Player, subscriptionId: string)
if subscriptionId == SUBSCRIPTION_ID then
checkSubStatus(player)
end
end
Players.PlayerAdded:Connect(checkSubStatus)
Players.UserSubscriptionStatusChanged:Connect(onUserSubscriptionStatusChanged)
แทนที่พาสด้วยการสมัครสมาชิก
อีกหนึ่งตัวเลือกสำหรับการเปิดตัวการสมัครสมาชิกในเกมของคุณคือการแทนที่พาสที่มีอยู่ด้วยการสมัครสมาชิก นี่เป็นตัวเลือกที่ดีหากคุณต้องการที่จะดำเนินการกับการสมัครสมาชิกโดยไม่เพิ่มฟีเจอร์หรือรางวัลใหม่
เมื่อแทนที่พาสด้วยการสมัครสมาชิก ให้พิจารณาสิ่งต่อไปนี้:
- ผู้ถือพาสที่มีอยู่ควรยังคงได้รับประโยชน์ที่พวกเขาจ่ายเงิน
- พาสนั้นควรถูกนำออกจากการขายเพื่อให้ผู้ใช้ใหม่สามารถซื้อการสมัครสมาชิกได้แทน
- การสมัครสมาชิกสามารถถูกถอดถอนซึ่งหมายความว่าหากพาสของคุณเคยคงอยู่ผลประโยชน์ที่บันทึกไว้ใน Data Store คุณจะต้อง "ยกเลิก" ผลประโยชน์เหล่านี้ การพิจารณานี้อาจไม่เกี่ยวข้องกับการใช้งานพาสทั้งหมดแต่ก็อาจใช้ได้กับบางกรณีที่ซับซ้อนมากขึ้น
โค้ดตัวอย่างต่อไปนี้แทนที่พาสด้วยการสมัครสมาชิก:
-- รันโค้ดนี้บนเซิร์ฟเวอร์
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local LEGACY_GAME_PASS_ID = 1234 -- เปลี่ยนเป็น ID ของพาสที่ถูกแทนที่ด้วยการสมัครสมาชิก
local SUBSCRIPTION_ID = "EXP-11111111" -- เปลี่ยนเป็น ID การสมัครสมาชิกของคุณ
local function awardBenefit(player: Player)
-- คุณควรมอบประโยชน์จากการสมัครสมาชิกที่นี่
end
local function revokeBenefitIfGranted(player: Player)
-- วิธีนี้ถูกเรียกสำหรับผู้เล่นที่ไม่มีการสมัครสมาชิก
-- หากโค้ดของคุณบันทึกการสมัครสมาชิกใน Data Stores หรือให้ผลประโยชน์ที่ต้องถูก 'ถอน'
-- คุณควรใช้วิธีนี้ในการจัดการการถอน
end
local function checkSubscriptionStatus(player: Player)
local success, result = pcall(function()
return MarketplaceService:GetUserSubscriptionStatusAsync(player, SUBSCRIPTION_ID)
end)
if not success then
print(`เกิดข้อผิดพลาดในการดึงสถานะการสมัครสมาชิก: {result}`)
return
end
if result.IsSubscribed then
awardBenefit(player)
else
revokeBenefitIfGranted(player)
end
end
local function onPlayerAdded(player: Player)
local success, result = pcall(function()
return MarketplaceService:UserOwnsGamePassAsync(player.UserId, LEGACY_GAME_PASS_ID)
end)
if not success then
print(`เกิดข้อผิดพลาดในการดึงสถานะพาส: {result}`)
return
end
if result then
-- หากผู้เล่นได้ซื้อพาสที่เก่า เราไม่จำเป็นต้องตรวจสอบสถานะการสมัครสมาชิกของพวกเขา
-- เพราะพวกเขาได้รับผลประโยชน์ตลอดชีวิต
awardBenefit(player)
return
end
checkSubscriptionStatus(player)
end
local function onUserSubscriptionStatusChanged(player: Player, subscriptionId: string)
if subscriptionId == SUBSCRIPTION_ID then
checkSubscriptionStatus(player)
end
end
local function onPromptGamePassPurchaseFinished(player: Player, purchasedPassID: number, purchaseSuccess: boolean)
if purchaseSuccess and purchasedPassID == LEGACY_GAME_PASS_ID then
awardBenefit(player)
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
Players.UserSubscriptionStatusChanged:Connect(onUserSubscriptionStatusChanged)
-- เราจะยังคงฟังการซื้อพาสในกรณีที่พาสยังขายอยู่
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptGamePassPurchaseFinished)
ขอให้มีการซื้อการสมัครสมาชิก
ผู้ใช้สามารถซื้อการสมัครสมาชิกได้โดยตรงจากแท็บ ร้านค้า ของหน้าเกมของคุณ แต่คุณก็ควรเพิ่มวิธีอื่นให้พวกเขาซื้อการสมัครสมาชิกในเกมด้วย
เมื่อคุณขอให้มีการซื้อการสมัครสมาชิก UserSubscriptionStatusChanged จะทำงานหากผู้เล่นมีการสมัครสมาชิกอยู่แล้ว ซึ่งช่วยจับสถานการณ์ที่ผู้เล่นซื้อการสมัครสมาชิกจากแท็บ ร้านค้า ของหน้าเกมของคุณในขณะที่พวกเขาอยู่ในเกมอยู่แล้ว
แม้ว่าคุณจะสามารถขอให้มีการซื้อการสมัครสมาชิกจากลูกค้าได้ แต่การตรวจสอบว่าผู้ใช้มีการสมัครสมาชิกอยู่แล้วโดยการใช้ GetUserSubscriptionStatusAsync ต้องทำจากเซิร์ฟเวอร์
โค้ดตัวอย่างต่อไปนี้สร้าง RemoteFunction ที่ลูกค้าสามารถใช้เพื่อขอสถานะของการสมัครสมาชิก:
--โค้ดนี้ควรทำงานบนเซิร์ฟเวอร์
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- สร้าง RemoteFunction ที่ลูกค้าสามารถใช้ขอสถานะการสมัครสมาชิก
local getSubscriptionStatusRemote = Instance.new("RemoteFunction")
getSubscriptionStatusRemote.Name = "GetSubscriptionStatus"
getSubscriptionStatusRemote.Parent = ReplicatedStorage
getSubscriptionStatusRemote.OnServerInvoke = function(player: Player, subscriptionId: string)
assert(typeof(subscriptionId) == "string")
return MarketplaceService:GetUserSubscriptionStatusAsync(player, subscriptionId)
end
-- โค้ดนี้ควรทำงานบนลูกค้า
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- เปลี่ยนเป็น ID การสมัครสมาชิกของคุณ
local getSubscriptionStatusRemote = ReplicatedStorage:WaitForChild("GetSubscriptionStatus")
local purchaseSubscriptionButton = script.Parent.PromptPurchaseSubscription -- เปลี่ยนเป็นปุ่มของคุณ
local function playerHasSubscription()
-- หมายเหตุ หากการสมัครของคุณแทนที่พาส คุณจำเป็นต้องตรวจสอบว่าพาสนั้นมีอยู่ที่นี่ด้วย
local success, result = pcall(function()
return getSubscriptionStatusRemote:InvokeServer(SUBSCRIPTION_ID)
end)
if not success then
print(`เกิดข้อผิดพลาดในการดึงสถานะการสมัครสมาชิก: {result}`)
return
end
return result.IsSubscribed
end
-- ซ่อนปุ่มหากผู้เล่นมีการสมัครสมาชิกแล้ว
local function hideButtonIfPlayerHasSubscription()
if playerHasSubscription() then
purchaseSubscriptionButton.Visible = false
end
end
local function onPromptSubscriptionPurchaseFinished(player: Player, subscriptionId: string, didTryPurchasing: boolean)
if didTryPurchasing then
-- อาจใช้เวลาสักครู่ในการลงทะเบียนการสมัครสมาชิก ดังนั้นเราจะตรวจสอบดูว่าการซื้อผ่านใน 10 วินาที
-- และซ่อนปุ่มหากเป็นไปแล้ว
task.delay(10, hideButtonIfPlayerHasSubscription)
end
end
-- หากผู้เล่นมีการสมัครอยู่แล้ว เราไม่ต้องการแสดงปุ่มเลย
hideButtonIfPlayerHasSubscription()
purchaseSubscriptionButton.Activated:Connect(function()
MarketplaceService:PromptSubscriptionPurchase(Players.LocalPlayer, SUBSCRIPTION_ID)
-- หากผู้เล่นมีการสมัครอยู่แล้ว ซ่อนปุ่ม
hideButtonIfPlayerHasSubscription()
end)
MarketplaceService.PromptSubscriptionPurchaseFinished:Connect(onPromptSubscriptionPurchaseFinished)
ฟังก์ชั่นที่เกี่ยวข้องอื่นๆ
ฟังก์ชั่นที่เกี่ยวข้องอื่น ๆ ที่มีอยู่ใน MarketplaceService ได้แก่:
- GetSubscriptionProductInfoAsync ซึ่งส่งคืนข้อมูลผลิตภัณฑ์ของการสมัครสมาชิก รวมถึงว่าการสมัครสมาชิกตั้งราคาใน Robux หรือ สกุลเงินท้องถิ่น
- GetUserSubscriptionPaymentHistoryAsync ซึ่งส่งคืนประวัติการชำระเงินสำหรับการสมัครสมาชิกของผู้ใช้
- GetUserSubscriptionStatusAsync ซึ่งส่งคืนสถานะการสมัครสมาชิกของผู้ใช้
สร้างรายได้จากการสมัครสมาชิก
สำหรับ การสมัครสมาชิกที่ตั้งราคาในสกุลเงินท้องถิ่น คุณจะได้รับ Robux ในอัตราของ US $0.01 ต่อ 1 Robux ตามราคาพื้นฐานของแพลตฟอร์มที่คุณเลือก หลังจากหักค่าธรรมเนียมของแพลตฟอร์ม คุณจะได้รับ 70% ของมูลค่าการสมัครในเดือนแรก และ 100% ตั้งแต่เดือนที่สองเป็นต้นไป การแบ่งรายได้นี้จะมีผลทั่วทั้งแพลตฟอร์ม
ตัวอย่างเช่น หากการสมัครสมาชิกของคุณมีราคาเดือนละ 5 USD:
- เดือนแรก: คุณจะได้รับ 350 Robux (500 * 0.7 = 350)
- เดือนถัดไป: คุณจะได้รับจำนวนเต็ม 500 Robux (500 * 1.0 = 500)
สำหรับ การสมัครสมาชิกที่ตั้งราคาใน Robux คุณจะได้รับ 70% ของมูลค่าการสมัครในแต่ละเดือน การแบ่งรายได้นี้จะมีผลทั่วทั้งแพลตฟอร์ม
ตัวอย่างเช่น หากการสมัครสมาชิกของคุณมีราคา 500 Robux:
- เดือนแรก: คุณจะได้รับ 350 Robux (500 * 0.7 = 350)
- เดือนถัดไป: คุณยังคงได้รับ 350 Robux (500 * 0.7 = 350)
รายได้จากการสมัครสมาชิกในสกุลเงินท้องถิ่นจะต้องรอเป็นระยะเวลา 30 วันและจะถูกเพิ่มไปยังยอด Robux ของคุณหลังจากการสมัครสมาชิกสิ้นสุดลง
รายได้จากการสมัครสมาชิกใน Robux จะมีระยะเวลารอ เช่นเดียวกับพาสและผลิตภัณฑ์นักพัฒนา ซึ่งประมาณ 5 วัน
การคืนเงิน
สำหรับการสมัครสมาชิกในสกุลเงินท้องถิ่น หากผู้ใช้ขอคืนเงินผ่านธนาคารหรือร้านค้าแอปภายในระยะเวลารอ 30 วัน การรอจะถูกยกเลิกและคุณจะไม่ได้รับยอดเงินสำหรับการทำธุรกรรมนั้น
การคืนเงินที่ได้รับนอกเหนือจากระยะเวลารอจะส่งผลให้จำนวนเงินที่ลดจากยอด Robux ของคุณ หากเกมของคุณเป็นของกลุ่มและยอดของกลุ่มน้อยกว่าจำนวนที่จะถูกลด ระบบจะลดจากยอด Robux ของเจ้าของกลุ่ม
เมื่อผู้ใช้ยกเลิกหรือไม่ต่ออายุการสมัครสมาชิกที่เปิดใช้งาน จะไม่มีการคืนเงินโดยอัตโนมัติ ผู้ใช้งานจะต้องขอคืนเงินด้วยตนเอง ซึ่งจะได้รับการจัดการเป็นกรณีไป สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการคืนเงินการสมัครสมาชิกของผู้ใช้ โปรดตรวจสอบที่ ศูนย์ช่วยเหลือ
การจ่ายเงิน
คุณสามารถตรวจสอบการจ่ายเงินจากการสมัครสมาชิกของคุณใน ยอด Robux ⟩ ธุรกรรมของฉัน
การสมัครสมาชิก และ การสมัครสมาชิกกลุ่ม จะปรากฏภายใต้ Robux ที่เข้ามา ในขณะที่การคืนเงินจะถูกรวมกลุ่มภายใต้ Robux ที่ออกไป ในรูปแบบของ การคืนเงินการจ่ายเงิน หน้าเฉพาะสำหรับการสมัครสมาชิกและการสมัครสมาชิกกลุ่มจะให้ข้อมูลเพิ่มเติมสำหรับหมวดหมู่ที่เกี่ยวข้อง

เพื่อดูข้อมูลการคืนเงินสำหรับผู้ใช้แต่ละคน คุณสามารถใช้ GetUserSubscriptionPaymentHistoryAsync
การวิเคราะห์การสมัครสมาชิก
การวิเคราะห์การสมัครสมาชิก ช่วยให้คุณประเมินความสำเร็จของการสมัครสมาชิกแต่ละรายการ, ระบุแนวโน้ม และคาดการณ์รายได้ในอนาคตที่อาจเกิดขึ้น การสมัครสมาชิกจะถูกเพิ่มไปยังหน้า การวิเคราะห์การสมัครสมาชิก หลังจากที่เปิดใช้งานครั้งแรก และจะไม่ถูกลบเมื่อถูกปิดการใช้งานหรือลบออก คุณสามารถเข้าถึงการวิเคราะห์ที่เตรียมไว้ล่วงหน้าผ่าน Creator Dashboard หรือคุณสามารถบันทึกการอัปเดตการสมัครสมาชิกแบบเรียลไทม์โดยใช้เว็บฮุค
ผ่าน Creator Dashboard
เพื่อเข้าถึงการวิเคราะห์การสมัครสมาชิกใน Creator Dashboard:
- ไปที่หน้า การสร้าง บน Creator Dashboard และเลือกเกมของคุณ
- ไปที่ การสร้างรายได้ ⟩ การสมัครสมาชิก
- เลือกแท็บ การวิเคราะห์
การวิเคราะห์การสมัครสมาชิกติดตามเมตริกรายการต่อไปนี้:
- การสมัครสมาชิก: จำนวนการสมัครสมาชิกที่เปิดใช้งานในเกมของคุณทั้งหมด
- รายได้โดยประมาณ: รายได้สุทธิที่ได้รับจากเกมหลังจากหักค่าธรรมเนียม ไม่รวมข้อมูลการคืนเงิน
- การแบ่งประเภทผู้สมัคร: ประเภทต่างๆ ของผู้สมัคร
- ใหม่: จำนวนการซื้อการสมัครสมาชิกโดยผู้สมัครครั้งแรก
- ต่ออายุ: จำนวนการสมัครสมาชิกที่ต่ออายุที่ซื้อในช่วงเวลาก่อนหน้า
- ฟื้นฟู: จำนวนการสมัครสมาชิกใหม่ที่ซื้อโดยผู้ใช้ที่เคยยกเลิก
- การยกเลิก: จำนวนการสมัครสมาชิกที่ไม่ถูกต่ออายุ ซึ่งรวมถึงการยกเลิกทั้งหมดไม่ว่าจะเป็นการยกเลิกโดยผู้ใช้ การปิดการใช้งานโดยผู้สร้าง หรือวิธีการอื่น ๆ
- การยกเลิกจะแตกต่างจากการคืนเงิน การสมัครสมาชิกที่ถูกยกเลิกคือการสมัครสมาชิกที่ไม่ต่ออายุอีกแต่จ่ายเงินเต็มจำนวนสำหรับระยะเวลาทั้งหมดของรอบการเรียกเก็บเงิน ในขณะที่การคืนเงินคือการคืนจำนวนเงินที่ได้จ่ายไป
- การสมัครสมาชิกตามแพลตฟอร์ม: จำนวนการสมัครสมาชิกที่ซื้อในแต่ละแพลตฟอร์ม
- รายได้จากแพลตฟอร์ม: รายได้สุทธิที่ได้รับจากการสมัครสมาชิกที่ซื้อตามแพลตฟอร์มแต่ละแพลตฟอร์ม
ข้อมูลนี้จะปรากฏในรูปแบบของกราฟตามช่วงวันที่ในแท็บ แนวโน้ม และในรูปแบบของรายการรวมของการสมัครสมาชิกที่เสนอในแท็บ ประวัติ

ผ่านเว็บฮุค
ฟีเจอร์ Webhook ของ Cloud API รวมถึงการแจ้งเตือนสำหรับเหตุการณ์การสมัครสมาชิกสี่เหตุการณ์: ยกเลิก, ซื้อ, คืนเงิน, และต่ออายุ คำแจ้งเตือนเหล่านี้จะถูกเปิดใช้งานทันที ดังนั้นคุณสามารถตอบสนองในเวลาจริงหรือสร้างการวิเคราะห์ที่กำหนดเองของคุณเอง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการตั้งค่าเว็บฮุค โปรดดูที่ การแจ้งเตือนเว็บฮุค