Roblox Plus 为您的游戏提供额外的赚取方式,通过奖励 Plus 订阅者的参与和购买。
订阅 Plus 的用户可以获得一系列增强其购买能力、访问权限和整体游戏平台体验的好处:
- 折扣购买:订阅者可以享受 10%的折扣,适用于符合条件的购买,包括游戏内物品、头像物品等。从第三个月起,折扣增加至 20%。Roblox 为您承担此折扣。
- 免费的付费私人服务器:订阅者可以免费访问付费私人服务器。当他们在您的付费私人服务器上花费时间时,您仍然会获得补偿。
- 免费的 Robux 转移:订阅者可以在不产生费用的情况下将 Robux 转移给发送方或接收方。转移受年龄限制和父母同意的限制。通过转移获得的 Robux 不符合 DevEx 计划的资格。
- 市场访问:订阅者可以交易和转售限量物品,并发布和销售头像物品。高级订阅者具有相同的市场访问权限。
有关 Roblox Plus 对最终用户的好处的更多信息,请参阅 帮助中心。
作为创作者,您可以通过以下方式从 Roblox Plus 订阅者那里获利:
- 游戏内 Robux 购买:订阅者的购买享受 10%-20% 的折扣,Roblox 会出资补偿,从而不减少您每次购买的收益。较低的价格可以鼓励更频繁的购买,从而帮助增加您的整体收入。
- 推动 Plus 注册:鼓励活跃用户直接通过您的游戏订阅 Roblox Plus,使用 PromptRobloxSubscriptionPurchase。您可以为每个新订阅者赚取高达 750 Robux,收益从订阅变为付费后开始(免费试用期不包括在内)。
- 在付费私人服务器中花费的时间:每位订阅者每月在您的付费私人服务器中玩满 60 分钟即可赚取高达 100 Robux。
- 游戏内 Robux 转移:当 Plus 订阅者使用 PromptRobuxTransferAsync 在您的游戏内将 Robux 发送给其他用户时,您每次可以赚取 10%。该金额符合 DevEx 计划的资格。
从游戏内购买中获利
通过 Roblox Plus,用户在符合条件的 Robux 购买中享受 10%-20% 的折扣。由于 Roblox 为这些折扣提供补助,您每次购买的收益与非订阅者相同。同时,Plus 订阅者的较低价格可以鼓励更频繁的购买,从而增加您的整体收入。
订阅者在前两个月享受 10% 的折扣,从第三个月开始增加至 20%。如果用户取消 Plus 订阅并在之后重新订阅,其折扣将重置为 10%,并在两个月后再次增加。
符合条件的 Robux 购买包括:
- 开发者产品
- 游戏通行证
- 开发者订阅
- 付费访问游戏
- 头像物品
折扣不适用于:
- 定价高于 1,000,000 Robux 的物品
- 市场发布费用
- 广告积分
- 团体费用
以下表格显示了 Roblox Plus 折扣是如何由 Roblox 补贴的。
| 用户类型 | 物品价格(单位:Robux) | 用户支出 | Roblox 补贴 | 创作者收益 | 有效收入分成 |
|---|---|---|---|---|---|
| 非订阅者 | 100 | 100 | — | 70 | 70% |
| Plus 订阅者(10% 折扣) | 100 | 90 | 10 | 70 | 78% |
| Plus 订阅者(20% 折扣) | 100 | 80 | 20 | 70 | 88% |
从游戏内 Plus 订阅中获利
您可以通过 PromptRobloxSubscriptionPurchase 鼓励用户直接通过您的游戏订阅 Roblox Plus。对于每个通过您的游戏成为订阅者的用户,您可以赚取 每月 250 Robux,持续三个月,对于每位新注册的订阅者,最多可获得 750 Robux。
所有收入需遵循 60 天的保留期。

要在您的游戏中提供 Plus 订阅并向用户授予奖励,请执行以下操作:
- 检测用户在您的游戏中达到您想要提供 Plus 订阅的那个点。
- 检查用户是否已通过 HasRobloxSubscription 拥有活动的 Plus 订阅。
- 如果用户已经是订阅者:
- 立即授予他们奖励。
- 如果用户不是订阅者:
- 使用 PromptRobloxSubscriptionPurchase 提示他们购买 Roblox Plus。
- 侦听 PromptRobloxSubscriptionPurchaseFinished 以检测购买提示 UI 何时关闭。
- 在授予任何奖励之前,通过 HasRobloxSubscription 使用 GetPropertyChangedSignal 确认服务器上的 Plus 订阅。在此事件中验证用户的 Plus 订阅状态是否确实已经更改。
示例
以下示例展示了如何在您的游戏中使用 Roblox Plus,包括检索折扣信息、检查订阅状态、提示用户订阅,以及处理购买流程。
示例 1
打印游戏通行证的 Roblox Plus 折扣信息。
local MarketplaceService = game:GetService("MarketplaceService")
local PASS_ID = 12345678
local DiscountTypeDisplay = {
RobloxPlusSubscription = "Roblox Plus 折扣",
}
local productInfo = MarketplaceService:GetProductInfoAsync(PASS_ID, Enum.InfoType.GamePass)
print(string.format("原价:%d", productInfo.UserBasePriceInRobux))
for _, discount in ipairs(productInfo.PriceDiscountDetails) do
local displayName = DiscountTypeDisplay[discount.Type] or "其他折扣"
print(string.format("%s (%d%%): -%d", displayName, discount.Percent, discount.AmountInRobux))
end
print(string.format("您需支付:%d", productInfo.PriceInRobux))示例 2
检查用户是否拥有活动的 Roblox Plus 订阅,并根据其订阅状态执行操作。
local MarketplaceService = game:GetService("MarketplaceService")
local player = game.Players.LocalPlayer
local success, details = pcall(function()
return MarketplaceService:GetRobloxSubscriptionDetailsAsync(player)
end)
if success and details.IsSubscribed then
-- 检查用户的 Plus 订阅长度
local threeMonths = 90 * 24 * 60 * 60
if details.StartTime and (os.time() - details.StartTime.UnixTimestamp) > threeMonths then
print("授予 '3个月订阅老手' 皮肤!")
end
-- 检查用户是否通过游戏订阅
if details.IsOriginExperience then
print("归属确认:用户通过此游戏订阅。")
else
print("用户在其他地方订阅:网站或其他游戏。")
end
end示例 3
提示用户订阅 Plus 并处理您游戏中的购买流程。
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local teleporter = script.Parent
local showModal = true
local EXCLUSIVE_AREA_POSITION = Vector3.new(1200, 200, 60)
-- 授予奖励并传送订阅用户到专属区域
local function grantRewardAndTeleport(player)
player:RequestStreamAroundAsync(EXCLUSIVE_AREA_POSITION)
local character = player.Character
if character and character.Parent then
local currentPivot = character:GetPivot()
character:PivotTo(currentPivot * CFrame.new(EXCLUSIVE_AREA_POSITION))
end
end
-- 检测角色何时触碰传送器
teleporter.Touched:Connect(function(otherPart)
local player = Players:GetPlayerFromCharacter(otherPart.Parent)
if not player then
return
end
if not player:GetAttribute("CharacterPartsTouching") then
player:SetAttribute("CharacterPartsTouching", 0)
end
player:SetAttribute("CharacterPartsTouching", player:GetAttribute("CharacterPartsTouching") + 1)
if player.HasRobloxSubscription then
-- 用户已拥有 Roblox Plus;立即授予奖励
grantRewardAndTeleport(player)
else
-- 提示 Roblox Plus 订阅
if not showModal then
return
end
showModal = false
task.delay(5, function()
showModal = true
end)
MarketplaceService:PromptRobloxSubscriptionPurchase(player)
end
end)
-- 检测角色何时退出传送器
teleporter.TouchEnded:Connect(function(otherPart)
local player = Players:GetPlayerFromCharacter(otherPart.Parent)
if player and player:GetAttribute("CharacterPartsTouching") then
player:SetAttribute("CharacterPartsTouching", player:GetAttribute("CharacterPartsTouching") - 1)
end
end)
-- 当服务器确认会员更改时授予奖励
-- 为每个玩家连接 HasRobloxSubscription 变化
Players.PlayerAdded:Connect(function(player)
player:GetPropertyChangedSignal("HasRobloxSubscription"):Connect(function()
if player.HasRobloxSubscription
and player:GetAttribute("CharacterPartsTouching")
and player:GetAttribute("CharacterPartsTouching") > 0
then
grantRewardAndTeleport(player)
end
end)
end)示例 4
检测用户何时关闭购买提示 UI。
local MarketplaceService = game:GetService("MarketplaceService")
local function onPromptRobloxSubscriptionPurchaseFinished(player, didTryPurchasing)
if didTryPurchasing then
-- 用户尝试订阅;等待 HasRobloxSubscription 变化以确认
print(player.Name, "尝试订阅 Roblox Plus")
else
print(player.Name, "在未购买的情况下关闭了 Roblox Plus 订阅提示")
end
end
MarketplaceService.PromptRobloxSubscriptionPurchaseFinished:Connect(onPromptRobloxSubscriptionPurchaseFinished)从付费私人服务器时间中获利
Roblox Plus 订阅者可以在您的游戏中免费创建付费 私人服务器。为了确保您仍然可以从该服务器获利,Roblox 根据 Plus 订阅者在他们自己创建的付费私人服务器中花费的时间来补偿您。
支付基于 Plus 订阅者在他们自己创建的付费私人服务器中花费的时间。 这意味着,如果 Plus 订阅者邀请另一位 Plus 订阅者到他们的付费私人服务器中,则只有服务器所有者的时间会计入您的收益。被邀请的订阅者所花费的时间不计入。
在 Plus 订阅续订日,Roblox 会评估该订阅者在过去 30 天内的付费私人服务器使用情况。即使订阅者取消 Plus 而不续订,也会进行此评估。然后,Roblox 根据他们在该期间每个服务器中所花费的时间,确定该订阅者的 前五个付费私人服务器。如果您的游戏中的付费私人服务器在这五个服务器之中,并且订阅者在该服务器中花费了至少 60 分钟的累计时间,则该服务器符合资格。
如果 Plus 订阅者(包括免费 Plus 试用的订阅者)在过去 30 天内在他们创建的付费私人服务器中花费 至少 60 分钟的累计时间,您可以根据服务器价格赚取该订阅者最多 100 Robux。
在以下示例中,私人服务器 A、B 和 C 符合资格,因为 Plus 订阅者在过去 30 天每个服务器中花费了至少 60 分钟。私人服务器 D 和 E 不符合资格,因为它们未达到 60 分钟的阈值。这些代表了订阅者在 Roblox 上的前五个付费私人服务器。在符合资格的服务器中,创作者从这位 Plus 订阅者那里获得总计 205 Robux。
| 游戏的付费私人服务器 | 服务器价格 | 累计时间(续订前的 30 天) | 创作者收入 |
|---|---|---|---|
| 私人服务器 A | 100 Robux | 120 分钟 | 70 Robux(在 100 Robux 服务器价格上获得 70% 的收入分成) |
| 私人服务器 B | 200 Robux | 80 分钟 | 100 Robux(在 200 Robux 服务器价格上获得 70% 的收入分成,最高为 100 Robux) |
| 私人服务器 C | 50 Robux | 70 分钟 | 35 Robux(在 50 Robux 服务器价格上获得 70% 的收入分成) |
| 私人服务器 D | 60 Robux | 15 分钟 | 不符合资格(少于 60 分钟) |
| 私人服务器 E | 70 Robux | 10 分钟 | 不符合资格(少于 60 分钟) |
从 Robux 转移中获利
Robux 转移允许 Plus 订阅者直接向其他用户发送 Robux。您可以在游戏中实现 Transfers API 来提示这些转移,并获得每次转移的分成。
当 Plus 订阅者启动通过 PromptRobuxTransferAsync 在您游戏中提示的转移时,您将收到 转移金额的 10%。例如,如果一位订阅者向另一位用户转移 100 Robux,接收者将收到 90 Robux(90%),而您的游戏将获得 10 Robux(10%)。
您通过转移获得的 Robux 符合 DevEx 计划的资格。Roblox 不会从这些转移中收取费用。

有关在您的游戏中实现 Robux 转移的更多信息,请参见 Robux 转移。
跟踪您的 Plus 收益
您可以跟踪通过游戏内提示、使用 Transfers API 的 Robux 转移,以及 Plus 订阅者在您的付费私人服务器中花费的时间而获得的收益,无论他们是从您的游戏内部进行加入还是外部加入。
要查看 Plus 订阅激励措施的详细分解:
- 在 Creator Hub 中,转到 创作 并选择一个游戏。
- 转到 货币化 ⟩ Roblox Plus。
