Thẻ cho phép bạn thu phí Robux một lần cho người dùng để truy cập các quyền lợi đặc biệt trong trò chơi của bạn, chẳng hạn như vào một khu vực bị hạn chế, một vật phẩm avatar trong trò chơi, hoặc một quyền tăng cường vĩnh viễn.
Tạo một thẻ
Để tạo một thẻ:
- Đi tới Tạo ra và chọn một trò chơi.
- Đi tới Monetization ⟩ Thẻ.
- Nhấp vào Tạo thẻ.
- Tải lên một hình ảnh để hiển thị như biểu tượng thẻ. Đảm bảo hình ảnh không vượt quá 512x512 pixel, không bao gồm các chi tiết quan trọng bên ngoài đường viền hình tròn của nó, và có định dạng .jpg, .png hoặc .bmp.
- Nhập tên và mô tả cho thẻ.
- Chọn một danh mục cho thẻ. Danh mục này được sử dụng để tổ chức các vật phẩm trong Cửa hàng trong trò chơi của bạn.
- Nhấp vào Tạo thẻ.


Lấy ID thẻ
Để sử dụng lập trình, bạn cần có ID thẻ. Để lấy ID thẻ:
Đi tới Monetization ⟩ Thẻ.
Di chuột qua thumbnail của một thẻ, 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 thẻ
Bạn có thể bán thẻ theo hai cách:
Trong trò chơi của bạn
Để triển khai và bán một thẻ trong trò chơi, gọi các hàm MarketplaceService.
Sử dụng GetProductInfo() để lấy thông tin về một thẻ, chẳng hạn như tên và giá, và sau đó hiển thị thẻ đó cho người dùng. Bạn có thể bán thẻ trong cửa hàng của trò chơi, chẳng hạn. Đối với thẻ, tham số thứ hai phải là Enum.InfoType.GamePass.
local MarketplaceService = game:GetService("MarketplaceService")
-- Thay thế ID placeholder bằng ID thẻ của bạn
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.GamePass)
end)
if success and productInfo then
-- Kiểm tra xem sản phẩm có đang bán không
if productInfo.IsForSale then
-- Hiển thị thông tin sản phẩm
-- Thay thế các lệnh print bằng mã UI để hiển thị thẻ
print("Tên Thẻ: " .. productInfo.Name)
print("Giá bằng Robux: " .. productInfo.PriceInRobux)
print("Mô tả: " .. productInfo.Description)
else
print("Sản phẩm này không có sẵn để bán")
end
end
Sử dụng PromptGamePassPurchase() để yêu cầu mua thẻ nếu người dùng chưa có thẻ trong kho của họ. Bạn có thể gọi hàm này khi người dùng thực hiện các hành động như nhấp 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")
-- Thay thế ID placeholder bằng ID thẻ của bạn
local passID = 0000000
-- Yêu cầu mua thẻ
local function promptPurchase()
local player = Players.LocalPlayer
local hasPass = false
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.UserId, passID)
end)
if not success then
warn("Lỗi khi kiểm tra xem người chơi có thẻ không: " .. tostring(message))
return
end
if hasPass then
-- Hiển thị một thông điệp cho biết người dùng đã sở hữu thẻ
else
-- Yêu cầu mua thẻ
MarketplaceService:PromptGamePassPurchase(player, passID)
end
end
Sử dụng PromptGamePassPurchaseFinished để xử lý một yêu cầu và mua thẻ đã hoàn thành và gán cho người dùng những quyền lợi liên quan đến thẻ.
Đặt đoạn mã vào ServerScriptService để máy chủ xử lý quyền lợi thẻ của người dùng.
local MarketplaceService = game:GetService("MarketplaceService")
-- Thay thế ID placeholder bằng ID thẻ của bạn
local passID = 0000000 -- Thay đổi điều này thành ID Thẻ của bạn
-- Xử lý một yêu cầu và mua đã hoàn thành
local function onPromptPurchaseFinished(player, purchasedPassID, purchaseSuccess)
if purchaseSuccess and purchasedPassID == passID then
print(player.Name .. " đã mua Thẻ với ID " .. passID)
-- Gán cho người dùng năng lực hoặc phần thưởng liên quan đến thẻ
end
end
-- Kết nối các sự kiện PromptGamePassPurchaseFinished với hàm
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptPurchaseFinished)
Ngoài trò chơi của bạn
Để bán một thẻ trên tab Cửa hàng của trang chi tiết trò chơi:
- Đi tới Monetization ⟩ Thẻ.
- Di chuột qua thẻ và nhấp vào menu ⋯.
- Chọn thẻ bạn muốn bán.
- Chọn Bán hàng.
- Bật công tắc Đặt món này để bán.
- Trong trường Giá bằng Robux, nhập số Robux mà bạn muốn thu phí người dùng để nhận thẻ. Giá bạn nhập ảnh hưởng đến số Robux bạn kiếm được cho mỗi lần bán. Giá tối thiểu là 1 Robux và giá tối đa là 1 tỷ Robux.
- Nhấp vào Lưu thay đổi. Thẻ sẽ hiển thị trong tab Cửa hàng của trang chi tiết trò chơi.
Gán quyền lợi thẻ
Bạn phải gán quyền lợi thẻ bằng tay cho người dùng đã mua thẻ của bạn. Để làm điều này, hãy sử dụng PlayerAdded khi một người dùng tham gia trò chơi của bạn để kiểm tra xem họ đã sở hữu thẻ chưa và để gán cho họ các quyền lợi thẻ.
Đặt đoạn mã vào ServerScriptService để máy chủ xử lý quyền lợi thẻ của người dùng.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
-- Thay thế ID placeholder bằng ID thẻ của bạn
local passID = 0000000
local function onPlayerAdded(player)
local hasPass = false
-- Kiểm tra xem người dùng đã sở hữu thẻ chưa
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.UserId, passID)
end)
if not success then
-- Phát ra cảnh báo và thoát khỏi hàm
warn("Lỗi khi kiểm tra xem người chơi có thẻ không: " .. tostring(message))
return
end
if hasPass then
-- Gán cho người dùng năng lực hoặc phần thưởng liên quan đến thẻ
print(player.Name .. " sở hữu Thẻ với ID " .. passID)
end
end
-- Kết nối các sự kiện PlayerAdded với hàm
Players.PlayerAdded:Connect(onPlayerAdded)
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í tuệ sản phẩm để sắp xếp và gợi ý thẻ cho người dùng. Cá nhân hóa cửa hàng trong trò chơi của bạn giúp đưa các vật phẩm phù hợp nhất đến từng người dùng, tăng cường sự tương tác và doanh thu. Bằng cách điều chỉnh các thẻ cho sở thích của người dùng, bạn có thể cải thiện khả năng phát hiện, 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 thẻ để bán
RankProductsAsync nhận một danh sách các ID sản phẩm và trả về một danh sách các sản phẩm đã được sắp xếp cá nhân hóa. Bạn có thể sử dụng phương pháp này để cung cấp cho người dùng những gợi ý vật phẩm cá nhân hóa trong cửa hàng của bạn.

local MarketplaceService = game:GetService("MarketplaceService")
-- Tạo mảng các sản phẩm 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}
}
-- Tùy chọn: Bọc cuộc gọi trong một tác vụ không đồng bộ để nếu yêu cầu chậm,
-- nó sẽ không làm đông cứng giao diện người dùng / trò chơi
task.spawn(function()
-- Sử dụng một pcall để xử lý lỗi một cách nhẹ nhàng
local success, result = pcall(function()
return MarketplaceService:RankProductsAsync(productIdentifiers)
end)
if not success then
-- Nếu thất bại, 'result' là thông điệp lỗi.
warn("Không thể xếp hạng sản phẩm:", result)
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 productInfo vào cửa hàng
end
end)
Hiển thị các thẻ 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 nhất. 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 của bạn.
Nếu không thể xác định được gợi ý nào, RecommendTopProductsAsync sẽ trả về 0 mặt hàng. Bất kỳ thẻ nào mà người dùng đã sở hữu cũng sẽ không được trả về.
Trong những trường hợp hiếm hoi, các cuộc gọi tới mô hình xếp hạng có thể chậm. Để giúp ngăn chặn thêm việc muộn đối 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 tới RecommendTopProducts không bị chặn.

local MarketplaceService = game:GetService("MarketplaceService")
-- Tạo một mảng các loại sản phẩm để bao gồm. Trong trường hợp này cả thẻ trò chơi và sản phẩm của nhà phát triển
local productTypes = {Enum.InfoType.GamePass, Enum.InfoType.Product}
-- Tùy chọn: Bọc cuộc gọi trong một tác vụ không đồng bộ để nếu yêu cầu chậm,
-- nó sẽ không làm đông cứng giao diện người dùng / trò chơi
task.spawn(function()
-- Sử dụng một pcall để xử lý lỗi một cách nhẹ nhàng
local success, result = pcall(function()
return MarketplaceService:RecommendTopProductsAsync(productTypes)
end)
if not success then
-- Nếu thất bại, 'result' là thông điệp lỗi.
warn("Không thể xếp hạng sản phẩm:", result)
end
-- Tải các mặt hàng đã trả về vào cửa hàng. Đảm bảo loại bỏ 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 của nhà phát triển mà
-- người dùng không còn mua được nữa
for i, rankedItem in ipairs(rankedProducts) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- Logic để thêm productInfo vào cửa hàng
end
end)
Quảng bá một thẻ
Để giúp nhiều người dùng hơn phát hiện trò chơi của bạn, bạn có thể chọn có thẻ của mình được xuất hiện trên trang Mua Robux của Roblox. Việc chọn quảng bá thẻ của bạn có thể giúp tăng thời gian và Robux mà người dùng chi tiêu trong trò chơi của bạn. Không có giới hạn về số lượng thẻ mà bạn có thể quảng bá.
Người dùng sẽ thấy các thẻ liên quan đến lịch sử chơi và sự tương tác của họ trên nền tảng. Họ sẽ không thấy các thẻ mà họ đã sở hữu.

Khi người dùng mua một gói Robux đủ điều kiện, họ sẽ nhận được thẻ được quảng bá và được yêu cầu nhận thẻ của mình bằng cách tham gia trò chơi của bạn.

Để chọn quảng bá một trong các thẻ của bạn:
- Đi tới Monetization ⟩ Thẻ.
- Chọn thẻ mà bạn muốn quảng bá.
- Chọn Quảng bá.
- Bật Bao gồm mục này trong quỹ thưởng.
- Nhấp vào Lưu thay đổi. Thẻ sẽ được hiển thị cho người dùng liên quan trên trang Mua Robux.
Thẻ được quảng bá:
- Có thể không được bán hoặc đang được bán. Nếu chúng đang được bán, giá Robux của chúng phải lớn hơn 49 Robux và nhỏ hơn 801 Robux.
- Phải bao gồm một biểu tượng.
- Không được cấp vật phẩm ngẫu nhiên trả phí.
- Phải tuân thủ Tiêu chuẩn Cộng đồng.
Phân tích thẻ
Sử dụng phân tích thẻ để phân tích sự thành công của từng thẻ, xác định các xu hướng và dự đoán thu nhập tiềm năng trong tương lai.
Với phân tích, bạn có thể:
- Xem các thẻ hàng đầu của bạn trong một khoảng thời gian đã chọn.
- Hiển thị tới tám mặt hàng bán chạy nhất trên một đồ thị theo thời gian để phân tích doanh số bán hàng tổng thể và doanh thu ròng.
- Theo dõi 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.
- Xem số lượng thẻ được người dùng nhận qua quảng bá trên trang Mua Robux.
- Xem số lượng người dùng tham gia trò chơi của bạn sau khi nhận thẻ thông qua trang Mua Robux.
Để truy cập phân tích thẻ:
- Đi tới Tạo ra và chọn một trò chơi.
- Đi tới Monetization ⟩ Thẻ.
- Chọn tab Phân tích.
