Thẻ cho phép bạn tính phí người dùng một khoản Robux một lần để 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 hạn chế, một vật phẩm avatar trong trò chơi, hoặc một sức mạnh vĩnh viễn.
Tạo một thẻ
Để tạo một thẻ:
- Đi đến Tạo và chọn một trò chơi.
- Đi đến Kiếm tiền ⟩ Thẻ.
- Nhấp vào Tạo thẻ.
- Tải lên một hình ảnh để hiển thị làm 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 ranh giới hình tròn của nó, và ở đị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 đượ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 một ID thẻ. Để lấy ID thẻ:
Đi đến Kiếm tiền ⟩ Thẻ.
Di chuột qua hình thu nhỏ của 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 một trò chơi, gọi các hàm MarketplaceService.
Sử dụng GetProductInfo() để lấy thông tin về một thẻ, như tên và giá, và sau đó hiển thị thẻ đó cho người dùng. Bạn có thể bán thẻ trong thị trường của trò chơi của bạn, 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 giữ chỗ 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 được bán không
if productInfo.IsForSale then
-- Hiển thị thông tin sản phẩm
-- Thay thế các câu 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 bán")
end
endSử 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ấn nút hoặc nói chuyện với NPC bán hàng.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
-- Thay thế ID giữ chỗ 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 người dùng biết họ đã sở hữu thẻ
else
-- Yêu cầu mua thẻ
MarketplaceService:PromptGamePassPurchase(player, passID)
end
endSử dụng PromptGamePassPurchaseFinished để xử lý một yêu cầu mua thẻ đã hoàn thành và cấp cho người dùng các quyền lợi liên quan đến thẻ.
Đặt kịch bản bên trong ServerScriptService để máy chủ xử lý các quyền lợi thẻ của người dùng.
local MarketplaceService = game:GetService("MarketplaceService")
-- Thay thế ID giữ chỗ 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)
-- Cấp cho người dùng khả năng 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 đến Kiếm tiền ⟩ 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 Vật phẩm để bán.
- Trong trường Giá bằng Robux, nhập số Robux bạn muốn tính phí người dùng cho 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ẽ xuất hiện 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ẻ cho người dùng đã mua thẻ của bạn một cách thủ công. Để làm điều nà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 kịch bản bên trong ServerScriptService để máy chủ xử lý các quyền lợi thẻ của người dùng.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
-- Thay thế ID giữ chỗ 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 một 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 khả năng 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 thông minh 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 hiển thị các vật phẩm 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 điều chỉnh thẻ theo sở thích của người dùng, bạn có thể cải thiện khả năng phát hiện của họ, 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ó thứ tự cá nhân hóa của những 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 gợi ý vật phẩm cá nhân hóa trong cửa hàng trong trò chơi của bạn.

local MarketplaceService = game:GetService("MarketplaceService")
-- Tạo 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}
}
-- Tùy chọn: Bọc cuộc gọi trong một tác vụ bất đồng bộ để nếu yêu cầu chậm,
-- nó không làm đông cứng UI / trò chơi
task.spawn(function()
-- Sử dụng 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 vật phẩm đã 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 vật phẩm 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 trong trò chơi của bạn.
Nếu không thể xác định được gợi ý nào, RecommendTopProductsAsync sẽ trả về 0 vật phẩm. 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 đến mô hình xếp hạng có thể chậm. Để giúp ngăn chặn việc thêm gần đây cho 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 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ụ bất đồng bộ để nếu yêu cầu chậm,
-- nó không làm đông cứng UI / trò chơi
task.spawn(function()
-- Sử dụng 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 vật phẩm đã trả về vào cửa hàng. Đảm bảo lọc ra bất kỳ
-- vật phẩm không đủ điều kiện nào từ topRankedItems như sản phẩm của nhà phát triển mà
-- người dùng không còn có thể mua
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 khám phá trò chơi của bạn, bạn có thể chọn tham gia để có thẻ của bạn được giới thiệu trên trang Mua Robux của Roblox. Tham gia quảng bá thẻ của bạn có thể giúp tăng thời gian và Robux mà người dùng dành cho trò chơi của bạn. Không có giới hạn về số lượng thẻ 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ự tham gia 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 họ bằng cách tham gia trò chơi của bạn.

Để tham gia quảng bá một trong các thẻ của bạn:
- Đi đến Kiếm tiền ⟩ Thẻ.
- Chọn thẻ bạn muốn quảng bá.
- Chọn Quảng cáo.
- Bật Bao gồm vật phẩm này trong quỹ thưởng.
- Nhấp vào Lưu thay đổi. Thẻ sẽ được hiển thị cho những người dùng liên quan trong 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á trị 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 hình thu nhỏ.
- Không thể cấp vật phẩm ngẫu nhiên có 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 thành công của từng thẻ, xác định 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.
- Trình bày tối đa tám vật phẩm 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 vật phẩm 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 cáo 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ẻ qua trang Mua Robux.
Để truy cập phân tích thẻ:
- Đi đến Tạo và chọn một trò chơi.
- Đi đến Kiếm tiền ⟩ Thẻ.
- Chọn tab Phân tích.
