ผลิตภัณฑ์นักพัฒนา

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

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

สร้างผลิตภัณฑ์นักพัฒนา

เพื่อสร้างผลิตภัณฑ์นักพัฒนา:

  1. ไปที่ การสร้าง และเลือกประสบการณ์
  2. ไปที่ การสร้างรายได้ > ผลิตภัณฑ์นักพัฒนา .
  3. คลิก สร้างผลิตภัณฑ์นักพัฒนา .
  4. อัปโหลดภาพเพื่อแสดงเป็นไอคอนผลิตภัณฑ์ตรวจสอบให้แน่ใจว่าภาพไม่เกิน 512x512 พิกเซลไม่รวมรายละเอียดสำคัญนอกขอบเขตกลมของมันและอยู่ในรูปแบบ .jpg , .png หรือ .bmp
  5. ใส่ชื่อและคำอธิบายสำหรับผลิตภัณฑ์
  6. ตั้งราคาผลิตภัณฑ์ใน Robux ราคาขั้นต่ำคือ 1 Robux และราคาสูงสุดคือ 1 พันล้าน Robux
  7. คลิก สร้างผลิตภัณฑ์นักพัฒนา .

รับรหัสผลิตภัณฑ์นักพัฒนา

scriptingเพื่อรับรหัสผลิตภัณฑ์:

  1. ไปที่ การสร้างรายได้ > ผลิตภัณฑ์นักพัฒนา .

  2. ภาพขนาดย่อ, คลิกปุ่ม และเลือก คัดลอก 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 อย่างถูกต้องก่อนเปิดใช้งานการขายผลิตภัณฑ์นักพัฒนาภายนอก

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

เพื่อทดสอบการดำเนินการของคุณ:

  1. ใน Creator Hub ไปที่ การสร้างรายได้ > ผลิตภัณฑ์นักพัฒนา 2. คลิกที่เมนู และเลือก การตั้งค่าการซื้อภายนอก 3. ในหน้า การซื้อภายนอกการตั้งค่า คลิก เปิดใช้งานโหมดการทดสอบ 4. เมื่อโหมดการทดสอบเปิดใช้งานแล้ว กลับไปที่หน้า ผลิตภัณฑ์สําหรับนักพัฒนา และเลือกผลิตภัณฑ์เพื่อทดสอบ
  2. ในหน้า การตั้งค่าพื้นฐาน เลือกกล่องเลือก อนุญาตให้ซื้อจากภายนอก และบันทึกการเปลี่ยนแปลงของคุณ
  3. ไปที่แท็บ ร้านค้า สำหรับขาย
  4. เข้าสู่ประสบการณ์และยืนยันว่าคุณได้รับผลิตภัณฑ์ที่คุณซื้อแล้วสถานะใบเสร็จของ API ProcessReceipt ควรอัปเดตเป็น ปิด หลังจากที่คุณทดสอบการใช้งานแล้ว Roblox จะตรวจสอบว่าการทดสอบสําเร็จแล้วและอนุญาตให้คุณเปิดใช้งานคุณสมบัตินี้อย่างเต็มที่เพื่อขายผลิตภัณฑ์นักพัฒนานอกประสบการณ์ของคุณ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ API ProcessReceipt และการใช้งาน ดูที่หน้า ProcessReceipt

เปิดใช้งานการขายภายนอก

เพื่อเปิดใช้งานการขายภายนอก:

  1. ไปที่หน้า การตั้งค่าการซื้อภายนอก 2. เปิดใช้งาน การซื้อภายนอก 3. กลับไปที่หน้า ผลิตภัณฑ์สำหรับนักพัฒนา และเลือกผลิตภัณฑ์ที่คุณต้องการขายนอกประสบการณ์ของคุณ
  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

การวิเคราะห์ผลิตภัณฑ์นักพัฒนา

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

ด้วยการวิเคราะห์คุณสามารถ:

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

เพื่อเข้าถึงการวิเคราะห์ผลิตภัณฑ์นักพัฒนา:

  1. ไปที่ การสร้าง และเลือกประสบการณ์
  2. ไปที่ การสร้างรายได้ > ผลิตภัณฑ์นักพัฒนา .
  3. เลือกแท็บ การวิเคราะห์