Sản phẩm nhà phát triển

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

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

Tạo một sản phẩm nhà phát triển

Để tạo một sản phẩm nhà phát triển:

  1. Đi tới Tạo và chọn một trò chơi.
  2. Đi tới Kiếm tiềnSản phẩm nhà phát triển.
  3. Nhấp vào Tạo sản phẩm nhà phát triển.
  4. Tải lên một hình ảnh để hiển thị làm biểu tượng sản phẩm. Đảm bảo hình ảnh không vượt quá 512x512 pixel, không bao gồm những chi tiết quan trọng bên ngoài các giới hạn hình tròn của nó, và ở định dạng .jpg, .png, hoặc .bmp.
  5. Nhập tên và mô tả cho sản phẩm.
  6. Chọn một danh mục cho sản phẩm. Danh mục được sử dụng để tổ chức các mặt hàng trong Cửa hàng trong trò chơi của bạn.
  7. Đặ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.
  8. Nhấp vào Lưu thay đổi.

Lấy ID sản phẩm nhà phát triển

Để sử dụng mã script, bạn cần một ID sản phẩm nhà phát triển. Để lấy ID sản phẩm:

  1. Đi tới Kiếm tiềnSản phẩm nhà phát triển.

  2. Di chuột qua hình thu nhỏ của 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 đảm bảo bạn đang xử lý biên lai bán hàng đúng cách và cấp quyền cho người dùng các sản phẩm mà họ đã mua. Để làm điều này, bạn phải:

  • Sử dụng API ProcessReceipt để kiểm tra biên lai mua hàng. ProcessReceipt sẽ tự động đọc và xác nhận rằng một người dùng đã mua một sản phẩm bên ngoài trò chơi.
  • Xác thực mỗi biên lai dựa trên User ID, Developer Product ID, và trạng thái biên lai.
  • Nếu biên lai có trạng thái là Mở, cấp cho người dùng các mặt hàng nhà phát triển mà họ đã mua.
  • Phản hồi đến API ProcessReceipt với một thông điệp xác nhận biên lai và xác nhận rằng các mặt hàng đã mua được cấp phát.

Bạn có thể bán sản phẩm nhà phát triển theo hai cách:

Trong trò chơi của bạn

Để triển khai và bán một sản phẩm nhà phát triển trong một trò chơi, hãy gọi các hàm MarketplaceService.

Sử dụng GetProductInfo để lấy thông tin về một sản phẩm nhà phát triển, 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ò chơi bạn, chẳng hạn như. Đối với sản phẩm nhà phát triển, tham số thứ hai phải là Enum.InfoType.Product.


local MarketplaceService = game:GetService("MarketplaceService")
-- Thay thế ID ký hiệu 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 dòng lệnh print bằng mã UI để hiển thị sản phẩm
print("Tên sản phẩm nhà phát triển: " .. productInfo.Name)
print("Giá bằng Robux: " .. productInfo.PriceInRobux)
print("Mô tả: " .. productInfo.Description)
end

Sử dụng GetDeveloperProductsAsync để lấy tất cả sản phẩm nhà phát triển liên kết với trò chơi của bạn. Hàm 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ư cửa hàng trong trò chơi hoặc giao diện 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ế câu lệnh print 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 trong trò chơi của bạn. Bạn có thể gọi hàm 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 NPC người bán.


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Thay thế ID ký hiệu 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("Yêu cầu mua hàng đã hiển thị thành công")
end
end

Bạn cũng có thể kết hợp các hàm bên trong một LocalScript. Ví dụ, bạn có thể tạo một phần tử UI như một nút hoặc một NPC người bán, sau đó sử dụng GetProductInfo() để kết nối một sản phẩm nhà phát triển đã tồn tại với phần tử đó, kiểm tra xem sản phẩm có đang được bán hay không, và sử dụng PromptProductPurchase() để yêu cầu một lần mua bất cứ khi nào 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 ký hiệu bằng ID sản phẩm nhà phát triển của bạn
local productId = 000000
-- Lấy 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 được bán không
if productInfo.IsForSale then
print("Sản phẩm này đang được bán")
-- 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 được bán
print("Sản phẩm này hiện không có sẵn để mua.")
end
else
print("Lỗi khi truy xuất thông tin sản phẩm: " .. tostring(productInfo))
end
end)

Ngoài trò chơi của bạn

Để kích hoạt việc mua sản phẩm nhà phát triển bên ngoài trò chơi 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 giao dịch trong tab Cửa hàng của trang chi tiết trò chơi của bạn, bạn phải sử dụng ProcessReceipt để xác nhận giao dịch của họ và cấp cho họ các mặt hàng khi họ vào trò chơi của bạn.

Chế độ thử nghiệm

Tính năng chế độ thử nghiệm giúp bạn xác thực quy trình mua hàng của mình bằng cách mô phỏng một giao dịch sản phẩm nhà phát triển bên ngoài trò chơi của bạn. Bạn nên sử dụng chế độ thử nghiệm để đảm bảo rằng bạn đã triển khai ProcessReceipt đúng cách trước khi kích hoạt các giao dịch sản phẩm nhà phát triển bên ngoài.

Các sản phẩm nhà phát triển mà bạn đưa ra để bán trong chế độ thử nghiệm chỉ có thể được nhìn thấy 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.

Để thử nghiệm việc triển khai của bạn:

  1. Trong Creator Hub, đi tới Kiếm tiềnSản phẩm nhà phát triển.
  2. Nhấp vào menu và chọn Cài đặt mua ngoài.
  3. Trong trang Cài đặt mua ngoài, nhấp vào Kích hoạt chế độ thử nghiệm.
  4. Khi chế độ thử nghiệm kích hoạt, 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.
  5. Trong trang Cài đặt cơ bản, chọn hộp kiểm Cho phép mua ngoài và lưu thay đổi của bạn.
  6. Đi tới tab Cửa hàng của trang chi tiết trò chơi và mua sản phẩm mà bạn đã đưa ra để bán.
  7. Vào trò chơi và xác nhận rằng bạn đã nhận được sản phẩm mà bạn đã mua. Trạng thái biên lai của API ProcessReceipt nên cập nhật thành Đóng.

Sau khi bạn thử nghiệm xong, Roblox xác minh rằng việc kiểm tra đã hoàn tất thành công và cho phép bạn hoàn toàn kích hoạt tính năng để bán sản phẩm nhà phát triển bên ngoài trò chơi của bạn.

Để biết thêm thông tin về API ProcessReceipt và các triển khai của nó, hãy xem trang ProcessReceipt.

Kích hoạt bán hàng bên ngoài

Để kích hoạt bán hàng bên ngoài:

  1. Đi tới trang Cài đặt mua ngoài.
  2. Bật Mua ngoài.
  3. 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 bên ngoài trò chơi của bạn.
  4. Trong trang Cài đặt cơ bản, chọn hộp kiểm Cho phép mua ngoài và lưu thay đổi của bạn.
  5. 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ò chơi.

Để vô hiệu hóa việc bán ngoài một 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à bỏ chọn hộp kiểm Cho phép mua ngoài.

Giới hạn

  • Các mặt hàng cho bán trong chế độ thử nghiệm có giá Robux thực. Chúng tôi khuyên bạn nên thử nghiệm các sản phẩm nhà phát triển có giá thấp.
  • Các mặt hàng cho bán trong chế độ thử nghiệm chỉ có thể được nhìn thấy 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, các sản phẩm nhà phát triển của bạn phải có một hình thu nhỏ.
  • Bạn không nên bán các mặt hàng sau bên ngoài trò chơi của bạn:
    • Mặt hàng ngẫu nhiên có phí
    • Mặt hàng bị giới hạn theo số lượng, thời gian, địa điểm hoặc các cài đặt và vai trò của người dùng cụ thể

Xử lý việc mua sản phẩm nhà phát triển

Sau khi một 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 Script trong ServerScriptService sử dụng hàm ProcessReceipt.

Để biết thêm thông tin về API ProcessReceipt và các 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 đưa người dùng trở lại trạng thá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 giao dịch thành công
return true
end
end
-- Ví dụ: ID sản phẩm 456456 trao 100 đồng 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
-- Lấy hàm xử lý liên kết với ID sản phẩm nhà phát triển và cố gắng thực thi nó
local handler = productFunctions[productId]
local success, result = pcall(handler, receiptInfo, player)
if success then
-- Người dùng đã nhận được các mặt hàng của họ
-- Trả về "PurchaseGranted" để xác nhận giao dịch
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Không thể xử lý biên lai:", receiptInfo, result)
end
end
-- Các mặt hàng của người dùng không thể được cấp phát
-- Trả về "NotProcessedYet" và thử lại lần tiếp theo người dùng vào trò chơi
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- Thiết lập callback
-- Điều này chỉ có thể được thực hiện một lần bởi một script bên phía máy chủ
MarketplaceService.ProcessReceipt = processReceipt

Cá nhân hóa cửa hàng trong trò chơi của bạn

Bạn có thể sử dụng các API trí thông minh sản phẩm để sắp xếp và đề xuất các sản phẩm nhà phát triển cho người dùng. Cá nhân hóa cửa hàng trong trò chơi của bạn giúp hiển thị những mặt hàng phù hợp nhất với từng người dùng, tăng cường sự tham gia và doanh thu. Bằng cách tùy chỉnh các sản phẩm nhà phát triển theo sở thích của người dùng, bạn có thể cải thiện khả năng tìm kiếm, tăng tỷ lệ chuyển đổi và mở khóa các cơ hội kiếm tiền mới.

Xếp hạng các sản phẩm nhà phát triển để bán

RankProductsAsync nhận vào một danh sách các ID sản phẩm và trả về một danh sách sắp xếp theo thứ tự cá nhân hóa các sản phẩm đó. Bạn có thể sử dụng phương pháp này để cung cấp cho người dùng các đề xuất mặt hàng cá nhân hóa trong cửa hàng của bạn.

Ví dụ: Ba mặt hàng "Powers" được xếp hạng cho người dùng
Ba mặt hàng được xếp hạng cho người dùng.

local MarketplaceService = game:GetService("MarketplaceService")
-- Tạo một mảng các sản phẩm bạn muốn xếp hạng
local productIdentifiers = {
{InfoType = Enum.InfoType.GamePass, Id = 123},
{InfoType = Enum.InfoType.Product, Id = 456},
{InfoType = Enum.InfoType.Product, Id = 789}
}
-- Thực hiện một cuộc gọi bảo vệ để xử lý lỗi
local success, rankedProducts = pcall(function()
return MarketplaceService:RankProductsAsync(productIdentifiers)
end)
if not success then
error("Xếp hạng sản phẩm không thành công")
end
-- Tải các mặt hàng đã trả về vào cửa hàng
for i, rankedItem in ipairs(rankedProducts) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- Logic để thêm sản phẩm vào cửa hàng
end

Hiển thị các sản phẩm nhà phát triển hàng đầu của bạn

RecommendTopProductsAsync nhận một mảng các giá trị InfoType và trả về tối đa 50 mặt hàng mà người dùng có khả năng tương tác và mua. Bạn có thể sử dụng phương pháp này để tạo một phần "Lựa chọn hàng đầu" trong cửa hàng trong trò chơi của bạn.

Nếu không thể xác định bất kỳ đề xuất nào, RecommendTopProductsAsync sẽ trả về 0 mặt hàng.

Trong một số trường hợp hiếm, các cuộc gọi đến mô hình xếp hạng có thể chậm. Để giúp ngăn ngừa việc chậm trễ với người dùng, chúng tôi khuyên bạn nên sử dụng task.spawn để thực hiện cuộc gọi đến RecommendTopProducts không chặn.

Ví dụ: Một tab "Lựa chọn hàng đầu" trong một cửa hàng trong trò chơi
Tab Lựa chọn hàng đầu của một cửa hàng trong trò chơi.

local MarketplaceService = game:GetService("MarketplaceService")
-- Tạo một mảng các loại sản phẩm bạn muốn bao gồm trong các đề xuất -- Ví dụ này bao gồm cả passes và sản phẩm nhà phát triển
local productTypes = {Enum.InfoType.GamePass, Enum.InfoType.Product}
-- Thực hiện một cuộc gọi bảo vệ để xử lý lỗi
local success, topRankedItems = pcall(function()
return MarketplaceService:RecommendTopProductsAsync(productTypes)
end)
if not success then
error("Xếp hạng sản phẩm không thành công")
end
-- Tải các mặt hàng đã trả về vào cửa hàng
-- Đảm bảo lọc ra bất kỳ mặt hàng không đủ điều kiện nào từ topRankedItems chẳng hạn như sản phẩm nhà phát triển mà người dùng không còn có thể mua
for i, rankedItem in ipairs(topRankedItems) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- Logic để thêm sản phẩm vào cửa hàng
end

Phân tích sản phẩm nhà phát triển

Sử dụng phân tích sản phẩm nhà phát triển để phân tích thành công của từng sản phẩm, xác định xu hướng và dự đoán doanh thu 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 nhà phát triển hàng đầu của bạn trong một khoảng thời gian đã chọn.
  • Hiển thị tối đa tám mặt hàng bán chạy nhất trên một biểu đồ theo thời gian để phân tích doanh số bán hàng tổng thể và doanh thu ròng.
  • Giám sát danh mục của bạn và sắp xếp các mặt hàng theo doanh số bán hàng và doanh thu ròng.

Để truy cập phân tích sản phẩm nhà phát triển:

  1. Đi tới Tạo và chọn một trò chơi.
  2. Đi tới Kiếm tiềnSản phẩm nhà phát triển.
  3. Chọn tab Phân tích.
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.