Một sản phẩm nhà phát triển là một vật phẩm hoặc khả năng mà người dùng có thể mua nhiều hơn một lần, chẳng hạn như tiền tệ trong kinh nghiệm, đạn dược hoặc thuốc.

Tạo sản phẩm nhà phát triển
Để tạo một sản phẩm nhà phát triển:
- Đi tới Sáng tạo và chọn một trải nghiệm.
- Đi tới Hóa đơn hóa > Sản phẩm nhà phát triển .
- Nhấp vào Tạo sản phẩm nhà phát triển .
- Tải lên hình ảnh để hiển thị như biểu tượng sản phẩm.Hãy chắc chắn rằng hình ảnh không vượt quá 512x512像素, không bao gồm chi tiết quan trọng ngoài ranh giới hình tròn của nó, và nó ở trong .jpg , .png , hoặc .bmp định dạng.
- Nhập tên và mô tả cho sản phẩm.
- Đặt giá sản phẩm bằng Robux. Giá tối thiểu là 1 Robux, và giá tối đa là 1 tỷ Robux.
- Nhấp vào Tạo sản phẩm nhà phát triển .
Nhận ID sản phẩm nhà phát triển
Để sử dụng lập trình, bạn cần một ID sản phẩm nhà phát triển. Để có được ID sản phẩm:
Đi tới Hóa đơn hóa > Sản phẩm nhà phát triển .
Vượt qua hình ảnh hình nhỏcủa một sản phẩm, nhấp vào nút ⋯ và chọn Sao chép ID tài sản từ menu ngữ cảnh.
Bán một sản phẩm nhà phát triển
Trước khi bán sản phẩm nhà phát triển, hãy chắc chắn rằng bạn đang xử lý đúng hóa đơn bán hàng và cấp cho người dùng các sản phẩm đã mua.Để làm điều đó, bạn phải:
- Sử dụng API ProcessReceipt để kiểm tra hóa đơn mua hàng.ProcessReceipt Tự động đọc và xác nhận rằng một người dùng đã mua một sản phẩm ngoài trải nghiệm.
- Xác minh mỗi hóa đơn cho User ID , Developer Product ID , và tình trạng tháihóa đơn.
- Nếu hóa đơn có trạng thái Mở , cấp cho người dùng các mục nhà phát triển họ đã mua.
- Trả lời API ProcessReceipt với một tin nhắn xác nhận việc nhận và xác minh rằng các mặt hàng đã mua đã được cấp.
Bạn có thể bán sản phẩm nhà phát triển theo hai cách:
Bên trong trải nghiệm của bạn
Để triển khai và bán sản phẩm nhà phát triển bên trong trải nghiệm, gọi MarketplaceService chức năng.
Sử dụng GetProductInfo để lấy lại thông tin về sản phẩm phát triển của một nhà sản xuất, như tên và giá, và sau đó hiển thị sản phẩm đó cho người dùng.Bạn có thể bán sản phẩm trong thị trường của trải nghiệm của bạn, ví dụ.Đối với sản phẩm của nhà phát triển, tham số thứ hai phải là Enum.InfoType.Product .
local MarketplaceService = game:GetService("MarketplaceService")
-- Thay thế ID nơi để trống bằng ID sản phẩm nhà phát triển của bạn
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Hiển thị thông tin sản phẩm
-- Thay thế các tuyên bố in bằng mã UI để hiển thị sản phẩm
print("Developer Product Name: " .. productInfo.Name)
print("Price in Robux: " .. productInfo.PriceInRobux)
print("Description: " .. productInfo.Description)
end
Sử dụng GetDeveloperProductsAsync để lấy lại tất cả các sản phẩm nhà phát triển liên quan đến trải nghiệm của bạn.Chức năng này trả về một đối tượng Pages mà bạn có thể kiểm tra và lọc để xây dựng các thứ như một cửa hàng trong trải nghiệm hoặc danh sách sản phẩm.
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
-- Thay thế tuyên bố in bằng mã UI để hiển thị sản phẩm
print(field .. ": " .. value)
end
end
Sử dụng PromptProductPurchase để yêu cầu mua sản phẩm bên trong trải nghiệm của bạn.Bạn có thể gọi chức năng này khi một người dùng thực hiện các hành động như nhấn nút hoặc nói chuyện với một NPC nhà cung cấp.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Thay thế ID nơi để trống bằng ID sản phẩm nhà phát triển của bạn
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
Bạn cũng có thể kết hợp chức năng bên trong một LocalScript .Ví dụ, bạn có thể tạo một thành phần UI như một nút hoặc một NPC nhà cung cấp, sau đó sử dụng GetProductInfo() để kết nối một sản phẩm phát triển hiện có với thành phần đó, kiểm tra xem sản phẩm có đang bánkhông, và sử dụng PromptProductPurchase() để yêu cầu mua mỗi khi người dùng nhấp vào nó.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local button = script.Parent
-- Thay thế ID nơi để trống bằng ID sản phẩm nhà phát triển của bạn
local productId = 000000
-- Nhận thông tin sản phẩm khi người dùng nhấp vào nút UI
button.MouseButton1Click:Connect(function()
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Kiểm tra xem sản phẩm có đang bán
if productInfo.IsForSale then
print("This is for sale")
-- Yêu cầu mua sản phẩm
MarketplaceService:PromptProductPurchase(player, productId)
else
-- Thông báo sản phẩm không đang bán
print("This product is not currently for sale.")
end
else
print("Error retrieving product info: " .. tostring(productInfo))
end
end)
Ngoài trải nghiệm của bạn
Để bật mua sắm sản phẩm nhà phát triển bên ngoài trải nghiệm của bạn, bạn phải làm việc với API ProcessReceipt.Sau khi người dùng thực hiện một lần mua hàng trong tab Cửa hàng của trang chi tiết trải nghiệm của bạn, bạn phải sử dụng ProcessReceipt để xác nhận việc mua hàng của họ và cấp cho họ các vật phẩm một khi họ bước vào trải nghiệm của bạn.
Chế độ thử nghiệm
Tính năng chế độ thử nghiệm giúp bạn xác minh dòng mua hàng của bạn bằng cách mô phỏng việc mua sản phẩm nhà phát triển bên ngoài trải nghiệm của bạn.Bạn nên sử dụng chế độ thử nghiệm để chắc chắn rằng bạn đã thực hiện ProcessReceipt đúng cách trước khi bật mở bán sản phẩm nhà phát triển bên ngoài.
Các sản phẩm nhà phát triển bạn đưa ra bán trong chế độ thử nghiệm chỉ có thể được xem bởi bạn và các thành viên trong nhóm của bạn. Chúng không hiển thị cho người dùng.
Để kiểm tra triển khai của bạn:
- Trong Trung tâm Nhà sáng tạo , hãy đi đến Hóa đơn hóa lợi nhuận > Sản phẩm Nhà phát triển .
- Nhấp vào menu ⋮ và chọn Cài đặt Mua bên ngoài .
- Trên trang Tùy chỉnh mua ngoại bộ , nhấp vào Bật chế độ thử nghiệm .
- Khi chế độ thử nghiệm được bật, hãy quay lại trang Sản phẩm Nhà phát triển và chọn một sản phẩm để thử nghiệm.
- Trên trang Cài đặt cơ bản , chọn hộp kiểm Cho phép mua hàng bên ngoài và lưu các thay đổi của bạn.
- Đi đến tab Cửa hàng của trang chi tiết trải nghiệm và mua sản phẩm bạn đã cung cấp đang mua bán.
- Nhập vào trải nghiệm và xác nhận rằng bạn đã nhận được sản phẩm bạn đã mua.Tình trạng nhận của API ProcessReceipt nên được cập nhật thành Đã đóng .
Sau khi bạn kiểm tra triển khai của mình, Roblox xác minh rằng bài kiểm tra đã được hoàn thành thành công và cho phép bạn hoàn toàn kích hoạt tính năng để bán các sản phẩm nhà phát triển ngoài kinh nghiệm của bạn.
Để biết thêm thông tin về API ProcessReceipt và triển khai của nó, hãy xem trang ProcessReceipt.
Bật bán hàng ngoại tuyến
Để bật bán hàng bên ngoài:
- Đi đến trang Tùy chỉnh Mua ngoại bộ .
- Bật Mua hàng bên ngoài .
- Quay lại trang Sản phẩm Nhà phát triển và chọn các sản phẩm bạn muốn bán ngoài trải nghiệm của mình.
- Trên trang Cài đặt cơ bản , chọn hộp kiểm Cho phép mua hàng bên ngoài và lưu các thay đổi của bạn.
- Xác nhận rằng các sản phẩm hiện đã có sẵn để mua trong tab Cửa hàng của trang chi tiết trải nghiệm.
Để vô hiệu hóa bán hàng ngoại tuyến của sản phẩm nhà phát triển, hãy chọn sản phẩm trên trang Sản phẩm Nhà phát triển và xóa dấu kiểm Cho phép mua hàng ngoại tuyến .
Hạn chế
- Các mặt hàng để bán trong chế độ thử nghiệm có chi phí thực tế Robux. Chúng tôi khuyên bạn nên thử nghiệm các sản phẩm phát triển chi phí thấp.
- Các mặt hàng để bán trong chế độ thử nghiệm chỉ có thể được xem bởi bạn hoặc các thành viên trong nhóm của bạn.
- Để được bán bên ngoài, sản phẩm nhà phát triển của bạn phải có một hình hình nhỏ.
- Bạn không nên bán các thứ sau ngoài trải nghiệm của bạn:
- Vật phẩm ngẫu nhiên đã trả tiền
- Các mục bị giới hạn bởi số lượng, thời gian, địa điểm hoặc cài đặt và vai trò người dùng cụ thể
Xử lý việc mua sản phẩm nhà phát triển
Sau khi người dùng mua một sản phẩm nhà phát triển, bạn phải xử lý và ghi lại giao dịch.Để làm điều này, hãy sử dụng một Script bên trong ServerScriptService bằng chức năng ProcessReceipt.
Để biết thêm thông tin về API ProcessReceipt và triển khai của nó, hãy xem trang ProcessReceipt.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local productFunctions = {}
-- Ví dụ: ID sản phẩm 123123 mang người dùng trở lại sức khỏe đầy đủ
productFunctions[123123] = function(receipt, player)
local character = player.Character
local humanoid = character and character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
humanoid.Health = humanoid.MaxHealth
-- Chỉ ra một lần mua thành công
return true
end
end
-- Ví dụ: ID sản phẩm 456456 trao 100 đồng tiền vàng cho người dùng
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
-- Nhận chức năng xử lý liên quan đến ID sản phẩm nhà phát triển và cố gắng chạy nó
local handler = productFunctions[productId]
local success, result = pcall(handler, receiptInfo, player)
if success then
-- Người dùng đã nhận được vật phẩm của họ
-- Trả về "PurchaseGranted" để xác nhận giao dịch
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Failed to process receipt:", receiptInfo, result)
end
end
-- Các vật phẩm của người dùng không thể được trao tặng
-- Trả về "Chưa được xử lý" và thử lại lần tiếp theo khi người dùng tham gia trải nghiệm
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- Đặt lại cuộc gọi lại
-- Việc này chỉ có thể được thực hiện một lần bởi một kịch bản bên máy chủ
MarketplaceService.ProcessReceipt = processReceipt
Phân tích sản phẩm của nhà phát triển
Sử dụng phân tích sản phẩm của nhà phát triển để phân tích thành công của các sản phẩm riêng lẻ, xác định xu hướng và dự báo thu nhập tiềm năng trong tương lai.
Với phân tích, bạn có thể:
- Xem các sản phẩm phát triển hàng đầu của bạn trong một khoảng thời gian được chọn.
- Hiển thị tối đa tám mặt hàng bán chạy nhất trên biểu đồ series thời gian để phân tích doanh số và thu nhập ròng tổng thể.
- Theo dõi danh mục của bạn và sắp xếp các mục theo doanh số và thu nhập ròng.
Để truy cập phân tích sản phẩm nhà phát triển:
- Đi tới Sáng tạo và chọn một trải nghiệm.
- Đi tới Hóa đơn hóa > Sản phẩm nhà phát triển .
- Chọn tab Phân tích .
