通行证

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

通行证允许您向用户收取一次性Robux费用,以访问游戏内的特殊特权,例如进入限制区域、游戏内头像物品或永久增强。

创建通行证

要创建通行证:

  1. 前往创作并选择一个游戏。
  2. 转到货币化通行证
  3. 点击创建通行证
  4. 上传一张图像作为通行证图标。确保图像的尺寸不超过512x512像素,重要细节不应超出其圆形边界,并且格式为.jpg.png.bmp
  5. 输入通行证的名称和描述。
  6. 选择一个通行证类别。该类别用于在游戏内商店中组织物品。
  7. 点击创建通行证
良好的圆形修剪
不良的圆形修剪

获取通行证ID

要使用脚本,您需要一个通行证ID。获取通行证ID的方法:

  1. 转到货币化通行证

  2. 将鼠标悬停在通行证的缩略图上,点击**⋯按钮,然后从上下文菜单中选择复制资产ID**。

销售通行证

您可以通过两种方式销售通行证:

在您的游戏内

要在游戏内实施和销售通行证,请调用MarketplaceService函数。

使用GetProductInfo()检索有关通行证的信息,如名称和价格,然后向用户显示该通行证。您可以在游戏的市场中销售通行证。例如,对于通行证,第二个参数必须为Enum.InfoType.GamePass

local MarketplaceService = game:GetService("MarketplaceService")
-- 将占位符ID替换为您的通行证ID
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.GamePass)
end)
if success and productInfo then
-- 检查产品是否在售
if productInfo.IsForSale then
-- 显示产品信息
-- 将print语句替换为用于显示通行证的UI代码
print("通行证名称: " .. productInfo.Name)
print("Robux价格: " .. productInfo.PriceInRobux)
print("描述: " .. productInfo.Description)
else
print("此产品未在售")
end
end

使用PromptGamePassPurchase()在用户的库存中尚未拥有通行证的情况下提示购买通行证。您可以在用户执行诸如按下按钮或与商人NPC交谈时调用此函数。

local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
-- 将占位符ID替换为您的通行证ID
local passID = 0000000
-- 提示购买通行证
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("检查玩家是否拥有通行证时出错: " .. tostring(message))
return
end
if hasPass then
-- 显示一条消息告知用户他们已拥有该通行证
else
-- 提示购买通行证
MarketplaceService:PromptGamePassPurchase(player, passID)
end
end

使用PromptGamePassPurchaseFinished处理完成的通行证提示和购买,并分配用户与通行证相关的特权。

将脚本放置在ServerScriptService中,以便服务器处理用户的通行证特权。

local MarketplaceService = game:GetService("MarketplaceService")
-- 将占位符ID替换为您的通行证ID
local passID = 0000000 -- 将此更改为您的通行证ID
-- 处理完成的提示和购买
local function onPromptPurchaseFinished(player, purchasedPassID, purchaseSuccess)
if purchaseSuccess and purchasedPassID == passID then
print(player.Name .. " 购买了ID为 " .. passID .. " 的通行证")
-- 为用户分配与通行证相关的能力或增益
end
end
-- 连接PromptGamePassPurchaseFinished事件到该函数
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptPurchaseFinished)

在您的游戏外

要在游戏详情页面的商店标签中销售通行证:

  1. 转到货币化通行证
  2. 将鼠标悬停在通行证上,然后点击**⋯**菜单。
  3. 选择您想要销售的通行证。
  4. 选择销售
  5. 启用商品可售切换。
  6. Robux价格字段中,输入您希望向用户收取的通行证金额。您输入的价格会影响您每次销售获得的Robux金额。最低价格为1 Robux,最高价格为10亿Robux。
  7. 点击保存更改。通行证将显示在游戏详情页面的商店标签中。

分配通行证特权

您必须手动将通行证特权分配给购买通行证的用户。要做到这一点,当用户加入您的游戏时,请使用PlayerAdded检查他们是否已经拥有通行证并分配给他们通行证特权。

将脚本放置在ServerScriptService中,以便服务器处理用户的通行证特权。

local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
-- 将占位符ID替换为您的通行证ID
local passID = 0000000
local function onPlayerAdded(player)
local hasPass = false
-- 检查用户是否已拥有通行证
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.UserId, passID)
end)
if not success then
-- 发出警告并退出函数
warn("检查玩家是否拥有通行证时出错: " .. tostring(message))
return
end
if hasPass then
-- 为用户分配与通行证相关的能力或增益
print(player.Name .. " 拥有ID为 " .. passID .. " 的通行证")
end
end
-- 连接PlayerAdded事件到该函数
Players.PlayerAdded:Connect(onPlayerAdded)

个性化您的游戏内商店

您可以使用产品智能API来对通行证进行排序和推荐给用户。个性化您的游戏内商店有助于将最相关的物品呈现给每个用户,提升参与度和收入。通过针对用户偏好的通行证,您可以改善其发现,提升转化率,并解锁新的货币化机会。

对销售的通行证进行排名

RankProductsAsync接受产品ID列表并返回这些产品的个性化排序列表。您可以使用此方法为用户提供个性化的商品推荐。

示例:为用户排名的三件“增强”物品
为用户排名的三件物品。
local MarketplaceService = game:GetService("MarketplaceService")
-- 创建您想要排名的产品数组
local productIdentifiers = {
{InfoType = Enum.InfoType.GamePass, Id = 123},
{InfoType = Enum.InfoType.Product, Id = 456},
{InfoType = Enum.InfoType.Product, Id = 789}
}
-- 可选:将调用包装在异步任务中,以便如果请求缓慢,
-- 它不会冻结UI / 游戏
task.spawn(function()
-- 使用pcall优雅地处理错误
local success, result = pcall(function()
return MarketplaceService:RankProductsAsync(productIdentifiers)
end)
if not success then
-- 如果失败,'result'就是错误信息。
warn("排名产品失败:", result)
end
-- 将返回的物品加载到商店中。
for i, rankedItem in ipairs(rankedProducts) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- 将productInfo添加到商店的逻辑
end
end)

显示您的热门通行证

RecommendTopProductsAsync接受InfoType值的数组并返回用户最有可能与之互动和购买的最多50个物品。您可以使用此方法在游戏内商店中创建“热门推荐”部分。

如果无法确定推荐,RecommendTopProductsAsync将返回0个物品。用户已经拥有的任何通行证也不会被返回。

在少数情况下,对排名模型的调用可能会很慢。为了帮助防止频繁的加载,我们建议使用task.spawn将调用RecommendTopProducts设置为非阻塞。

示例:游戏内商店的“热门推荐”标签
游戏内商店的热门推荐标签。
local MarketplaceService = game:GetService("MarketplaceService")
-- 创建要包含的产品类型数组。在这种情况下包括游戏通行证和开发者产品
local productTypes = {Enum.InfoType.GamePass, Enum.InfoType.Product}
-- 可选:将调用包装在异步任务中,以便如果请求缓慢,
-- 它不会冻结UI / 游戏
task.spawn(function()
-- 使用pcall优雅地处理错误
local success, result = pcall(function()
return MarketplaceService:RecommendTopProductsAsync(productTypes)
end)
if not success then
-- 如果失败,'result'就是错误信息。
warn("排名产品失败:", result)
end
-- 将返回的物品加载到商店中。确保从topRankedItems中过滤掉所有不合格的物品
-- 例如用户不能再购买的开发者产品
for i, rankedItem in ipairs(rankedProducts) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- 将productInfo添加到商店的逻辑
end
end)

推广通行证

为了帮助更多用户发现您的游戏,您可以选择让您的通行证在Roblox的购买Robux页面上展示。选择宣传您的通行证可以帮助增加用户在您游戏中花费的时间和Robux。您可以推广的通行证数量没有限制。

用户会看到与他们的游戏历史和平台参与度相关的通行证。不会向他们展示他们已经拥有的通行证。

当用户购买符合条件的Robux套餐时,他们会收到推广的通行证,并被提示通过加入您的游戏来领取他们的通行证。

要选择推广您的通行证之一:

  1. 转到货币化通行证
  2. 选择您要宣传的通行证。
  3. 选择促销
  4. 启用将此物品包含在奖金池中
  5. 点击保存更改。通行证将在购买Robux页面上展示给相关用户。

被推广的通行证:

  • 可以是下架或在售。如果它们在售,则其Robux价值必须大于49 Robux且小于801 Robux。
  • 必须包含缩略图。
  • 不能授予付费随机物品
  • 必须遵循社区标准

通行证分析

使用通行证分析来分析单个通行证的成功,识别趋势,并预测潜在的未来收益。

通过分析,您可以:

  • 查看在所选时间段内的最佳通行证。
  • 在时间序列图中展示最多八个热销商品,以分析总体销售和净收入。
  • 监控目录并按销售和净收入对物品进行排序。
  • 查看用户通过购买Robux页面获得的通行证数量。
  • 查看通过购买Robux页面获取通行证后加入您游戏的用户数量。

要访问通行证分析:

  1. 转到创作并选择一个游戏。
  2. 转到货币化通行证
  3. 选择分析标签。
©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。