ผลิตภัณฑ์นักพัฒนา เป็นรายการหรือความสามารถที่ผู้ใช้สามารถซื้อได้มากกว่าหนึ่งครั้ง เช่น สกุลเงินกระสุน หรือยา

สร้างผลิตภัณฑ์นักพัฒนา
เพื่อสร้างผลิตภัณฑ์นักพัฒนา:
- ไปที่ การสร้าง และเลือกประสบการณ์
- ไปที่ การสร้างรายได้ > ผลิตภัณฑ์นักพัฒนา .
- คลิก สร้างผลิตภัณฑ์นักพัฒนา .
- อัปโหลดภาพเพื่อแสดงเป็นไอคอนผลิตภัณฑ์ตรวจสอบให้แน่ใจว่าภาพไม่เกิน 512x512 พิกเซลไม่รวมรายละเอียดสำคัญนอกขอบเขตกลมของมันและอยู่ในรูปแบบ .jpg , .png หรือ .bmp
- ใส่ชื่อและคำอธิบายสำหรับผลิตภัณฑ์
- ตั้งราคาผลิตภัณฑ์ใน Robux ราคาขั้นต่ำคือ 1 Robux และราคาสูงสุดคือ 1 พันล้าน Robux
- คลิก สร้างผลิตภัณฑ์นักพัฒนา .
รับรหัสผลิตภัณฑ์นักพัฒนา
scriptingเพื่อรับรหัสผลิตภัณฑ์:
ไปที่ การสร้างรายได้ > ผลิตภัณฑ์นักพัฒนา .
ภาพขนาดย่อ, คลิกปุ่ม ⋯ และเลือก คัดลอก ID ทรัพยากร จากเมนูบริบท
ขายผลิตภัณฑ์นักพัฒนา
ก่อนขายผลิตภัณฑ์นักพัฒนา ตรวจสอบให้แน่ใจว่าคุณประมวลผลใบเสร็จขายอย่างถูกต้องและให้ผู้ใช้ได้รับผลิตภัณฑ์ที่ซื้อเพื่อทำเช่นนั้นคุณต้อง:
- ใช้ API ProcessReceipt เพื่อตรวจสอบใบเสร็จการซื้อProcessReceipt อ่านและยอมรับโดยอัตโนมัติว่าผู้ใช้ซื้อผลิตภัณฑ์นอกประสบการณ์
- ตรวจสอบใบเสร็จแต่ละฉบับสำหรับ User ID , Developer Product ID และสถานะใบเสร็จ
- หากใบเสร็จมีสถานะ เปิด ให้มอบรายการผู้พัฒนาที่ผู้ใช้ซื้อแล้ว
- ตอบกลับไปยัง API ProcessReceipt ด้วยข้อความที่ยอมรับการรับและยืนยันว่าได้รับไอเทมที่ซื้อแล้ว
คุณสามารถขายผลิตภัณฑ์นักพัฒนาได้สองวิธี:
ภายในประสบการณ์ของคุณ
เพื่อใช้และขายผลิตภัณฑ์นักพัฒนาภายในประสบการณ์ โทร MarketplaceService ฟังก์ชัน
ใช้ GetProductInfo เพื่อดึงข้อมูลเกี่ยวกับผลิตภัณฑ์นักพัฒนา, เช่นชื่อและราคา, แล้วแสดงผลิตภัณฑ์นั้นให้กับผู้ใช้คุณสามารถขายผลิตภัณฑ์ภายในตลาดประสบการณ์ของคุณได้ เช่นสำหรับผลิตภัณฑ์สำหรับนักพัฒนา พารามิเตอร์ที่สองจะต้องเป็น Enum.InfoType.Product
local MarketplaceService = game:GetService("MarketplaceService")
-- แทนที่รหัสชั่วคราวด้วยรหัสผลิตภัณฑ์นักพัฒนาของคุณ
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- แสดงข้อมูลสินค้า
-- แทนที่คำสั่งพิมพ์ด้วยรหัส UI เพื่อแสดงผลิตภัณฑ์
print("Developer Product Name: " .. productInfo.Name)
print("Price in Robux: " .. productInfo.PriceInRobux)
print("Description: " .. productInfo.Description)
end
ใช้ GetDeveloperProductsAsync เพื่อดึงผลิตภัณฑ์นักพัฒนาทั้งหมดที่เกี่ยวข้องกับประสบการณ์ของคุณฟังก์ชันนี้จะคืนวัตถุ Pages ที่คุณสามารถตรวจสอบและกรองเพื่อสร้างสิ่งต่างๆ เช่นร้านค้าในประสบการณ์หรือรายการรายการผลิตภัณฑ์ GUI
local MarketplaceService = game:GetService("MarketplaceService")
local success, developerProducts = pcall(function()
return MarketplaceService:GetDeveloperProductsAsync()
end)
if success and developerProducts then
local firstPage = developerProducts:GetCurrentPage()
for _, developerProduct in firstPage do
-- แทนที่คำสั่งพิมพ์ด้วยรหัส UI เพื่อแสดงผลิตภัณฑ์
print(field .. ": " .. value)
end
end
ใช้ PromptProductPurchase เพื่อเรียกการซื้อผลิตภัณฑ์ภายในประสบการณ์ของคุณคุณสามารถเรียกฟังก์ชันนี้เมื่อผู้ใช้ดำเนินการด้วยการกดปุ่มหรือพูดคุยกับ NPC ผู้ขายได้
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- แทนที่รหัสชั่วคราวด้วยรหัสผลิตภัณฑ์นักพัฒนาของคุณ
local productId = 000000
local function promptProductPurchase()
local success, errorMessage = pcall(function()
MarketplaceService:PromptProductPurchase(player, productId)
end)
if success then
print("Purchase prompt shown successfully")
end
end
คุณยังสามารถรวมฟังก์ชันภายใน LocalScript ได้ตัวอย่างเช่น คุณสามารถสร้างองค์ประกอบ UI เช่นปุ่มหรือ NPC สำหรับขายจากนั้นใช้ GetProductInfo() เพื่อเชื่อมโยงผลิตภัณฑ์นักพัฒนาที่มีอยู่กับองค์ประกอบนั้น ตรวจสอบว่าผลิตภัณฑ์มีจำหน่ายหรือไม่ แล้วใช้ PromptProductPurchase() เพื่อระบุการซื้อเมื่อผู้ใช้คลิกที่มัน
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local button = script.Parent
-- แทนที่รหัสชั่วคราวด้วยรหัสผลิตภัณฑ์นักพัฒนาของคุณ
local productId = 000000
-- รับข้อมูลผลิตภัณฑ์เมื่อผู้ใช้คลิกปุ่ม UI
button.MouseButton1Click:Connect(function()
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- สำหรับขาย
if productInfo.IsForSale then
print("This is for sale")
-- แจ้งการซื้อผลิตภัณฑ์
MarketplaceService:PromptProductPurchase(player, productId)
else
-- การขาย
print("This product is not currently for sale.")
end
else
print("Error retrieving product info: " .. tostring(productInfo))
end
end)
นอกประสบการณ์ของคุณ
เพื่อเปิดใช้งานการซื้อผลิตภัณฑ์นักพัฒนานอกประสบการณ์ของคุณคุณต้องทำงานร่วมกับ API ProcessReceiptหลังจากที่ผู้ใช้ทำการซื้อในแท็บ ร้านค้า ของรายละเอียดประสบการณ์ของคุณแล้ว คุณต้องใช้ ProcessReceipt เพื่อยืนยันการซื้อและให้ไอเทมแก่พวกเขาเมื่อพวกเขาเข้าสู่ประสบการณ์ของคุณ
โหมดทดสอบ
คุณสมบัติโหมดทดสอบ ช่วยให้คุณตรวจสอบการไหลของการซื้อโดยจำลองการซื้อผลิตภัณฑ์นักพัฒนานอกประสบการณ์ของคุณ คุณควรใช้โหมดทดสอบเพื่อให้แน่ใจว่าคุณได้ใช้งาน ProcessReceipt อย่างถูกต้องก่อนเปิดใช้งานการขายผลิตภัณฑ์นักพัฒนาภายนอก
ผลิตภัณฑ์นักพัฒนาที่คุณวางขายในโหมดการทดสอบสามารถมองเห็นได้เฉพาะคุณและสมาชิกในกลุ่มของคุณเท่านั้น พวกเขาไม่สามารถมองเห็นได้โดยผู้ใช้
เพื่อทดสอบการดำเนินการของคุณ:
- ใน Creator Hub ไปที่ การสร้างรายได้ > ผลิตภัณฑ์นักพัฒนา 2. คลิกที่เมนู ⋮ และเลือก การตั้งค่าการซื้อภายนอก 3. ในหน้า การซื้อภายนอกการตั้งค่า คลิก เปิดใช้งานโหมดการทดสอบ 4. เมื่อโหมดการทดสอบเปิดใช้งานแล้ว กลับไปที่หน้า ผลิตภัณฑ์สําหรับนักพัฒนา และเลือกผลิตภัณฑ์เพื่อทดสอบ
- ในหน้า การตั้งค่าพื้นฐาน เลือกกล่องเลือก อนุญาตให้ซื้อจากภายนอก และบันทึกการเปลี่ยนแปลงของคุณ
- ไปที่แท็บ ร้านค้า สำหรับขาย
- เข้าสู่ประสบการณ์และยืนยันว่าคุณได้รับผลิตภัณฑ์ที่คุณซื้อแล้วสถานะใบเสร็จของ API ProcessReceipt ควรอัปเดตเป็น ปิด หลังจากที่คุณทดสอบการใช้งานแล้ว Roblox จะตรวจสอบว่าการทดสอบสําเร็จแล้วและอนุญาตให้คุณเปิดใช้งานคุณสมบัตินี้อย่างเต็มที่เพื่อขายผลิตภัณฑ์นักพัฒนานอกประสบการณ์ของคุณ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ API ProcessReceipt และการใช้งาน ดูที่หน้า ProcessReceipt
เปิดใช้งานการขายภายนอก
เพื่อเปิดใช้งานการขายภายนอก:
- ไปที่หน้า การตั้งค่าการซื้อภายนอก 2. เปิดใช้งาน การซื้อภายนอก 3. กลับไปที่หน้า ผลิตภัณฑ์สำหรับนักพัฒนา และเลือกผลิตภัณฑ์ที่คุณต้องการขายนอกประสบการณ์ของคุณ
- ในหน้า การตั้งค่าพื้นฐาน เลือกกล่องเลือก อนุญาตให้ซื้อจากภายนอก และบันทึกการเปลี่ยนแปลงของคุณ
- ยืนยันว่าผลิตภัณฑ์สามารถซื้อได้ในแท็บ ร้านค้า ของหน้ารายละเอียดประสบการณ์แล้ว
เพื่อปิดการขายภายนอกของผลิตภัณฑ์นักพัฒนา ให้เลือกผลิตภัณฑ์บนหน้า ผลิตภัณฑ์นักพัฒนา และล้างกล่องเลือก อนุญาตให้ซื้อจากภายนอก
ข้อจํากัด
- รายการสำหรับขายในโหมดทดสอบมีค่าใช้จ่ายเป็น Robux จริง เราขอแนะนำให้ทดสอบผลิตภัณฑ์นักพัฒนาราคาถูก
- รายการสำหรับขายในโหมดทดสอบสามารถมองเห็นได้เฉพาะโดยคุณหรือโดยสมาชิกกลุ่มของคุณเท่านั้น
- เพื่อขายภายนอกผลิตภัณฑ์นักพัฒนาของคุณ จะต้อง มีภาพนิ่ง
- คุณไม่ควรขายสิ่งต่อไปนี้นอกประสบการณ์ของคุณ:
- ไอเทมสุ่มจ่ายเงิน
- รายการที่จํากัดเฉพาะปริมาณ เวลา สถานที่ หรือการตั้งค่าและบทบาทของผู้ใช้
จัดการการซื้อผลิตภัณฑ์นักพัฒนา
หลังจากที่ผู้ใช้ซื้อผลิตภัณฑ์นักพัฒนาแล้ว คุณต้องจัดการและบันทึกธุรกรรมเพื่อทำเช่นนี้ให้ใช้ Script ภายใน ServerScriptService โดยใช้ฟังก์ชัน ProcessReceipt
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ API ProcessReceipt และการใช้งาน ดูที่หน้า ProcessReceipt
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local productFunctions = {}
-- ตัวอย่าง: รหัสผลิตภัณฑ์ 123123 นำผู้ใช้กลับสู่สุขภาพเต็ม
productFunctions[123123] = function(receipt, player)
local character = player.Character
local humanoid = character and character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
humanoid.Health = humanoid.MaxHealth
-- บ่งชี้การซื้อที่ประสบความสำเร็จ
return true
end
end
-- ตัวอย่าง: รหัสผลิตภัณฑ์ 456456 มอบ 100 เหรียญทองให้กับผู้ใช้
productFunctions[456456] = function(receipt, player)
local leaderstats = player:FindFirstChild("leaderstats")
local gold = leaderstats and leaderstats:FindFirstChild("Gold")
if gold then
gold.Value += 100
return true
end
end
local function processReceipt(receiptInfo)
local userId = receiptInfo.PlayerId
local productId = receiptInfo.ProductId
local player = Players:GetPlayerByUserId(userId)
if player then
-- รับฟังก์ชันตัวจัดการที่เกี่ยวข้องกับรหัสผลิตภัณฑ์นักพัฒนาและพยายามที่จะรันมัน
local handler = productFunctions[productId]
local success, result = pcall(handler, receiptInfo, player)
if success then
-- ผู้ใช้ได้รับไอเทมแล้ว
-- ส่งคืน "PurchaseGranted" เพื่อยืนยันธุรกรรม
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Failed to process receipt:", receiptInfo, result)
end
end
-- ไอเทมของผู้ใช้ไม่สามารถได้รับรางวัล
-- ส่งคืน "ยังไม่ได้ประมวลผล" และลองอีกครั้งเมื่อผู้ใช้เข้าร่วมประสบการณ์ครั้งต่อไป
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- ตั้งค่าการโทรกลับ
-- สามารถทำได้เพียงครั้งเดียวโดยสคริปต์ด้านเซิร์ฟเวอร์เพียงครั้งเดียว
MarketplaceService.ProcessReceipt = processReceipt
การวิเคราะห์ผลิตภัณฑ์นักพัฒนา
ใช้การวิเคราะห์ข้อมูลผลิตภัณฑ์ของนักพัฒนาเพื่อวิเคราะห์ความสำเร็จของผลิตภัณฑ์แต่ละรายการ ระบุแนวโน้ม และคาดการณ์รายได้ในอนาคตที่อาจเกิดขึ้น
ด้วยการวิเคราะห์คุณสามารถ:
- ดูผลิตภัณฑ์นักพัฒนาชั้นนำของคุณในช่วงเวลาที่เลือกไว้
- แสดงรายการที่ขายดีที่สุดสูงสุดแปดรายการบนแผนภูมิแท่งเวลาเพื่อวิเคราะห์ยอดขายและรายได้สุทธิโดยรวม
- ตรวจสอบรายการแคตตาล็อกและจัดเรียงรายการตามยอดขายและรายได้สุทธิ
เพื่อเข้าถึงการวิเคราะห์ผลิตภัณฑ์นักพัฒนา:
- ไปที่ การสร้าง และเลือกประสบการณ์
- ไปที่ การสร้างรายได้ > ผลิตภัณฑ์นักพัฒนา .
- เลือกแท็บ การวิเคราะห์
