自动 基于参与的付款 让你根据高级会员在体验中投入的时间份额赚取 Robux,无论体验的规模如何。这些付出额外于其他 货币化方法 的收入,例如 通行证 .
为了鼓励高级订阅者增长并提高你获得基于互动的付款的潜力,你可以直接将 高级购买模式 添加到体验中。请注意,来自某些国家的用户可能没有获得高级订阅的权限。
访问支付数据
付款数据可以提供重要反馈,帮助你理解哪些因素驱动高级订阅者进入你的体验。
要访问付款数据:
- 导航到您的 创作 页面,在 创建者仪表板 上选择您的体验。
- 导航到 货币化 选项卡,然后选择 参与付款 。
参与付出
基于参与的付出 图表根据以下指标跟踪付出数据:
高级游戏时间罗宝收入: 您可以期望从高级订阅者互动中获得的金额。这不基于每日时间付费订阅者与体验互动所花费的时间;相反,这个指标聚合了过去 28 天每个用户的行为。因此,即使它们具有相似的趋势,该 метри也没有直接的数学关系与高级游戏时间分数。
高级游戏时间分数: 高级订阅者每天与体验互动的时间量。这个指标可以提供即时反馈,告诉你释放的新功能对你的影响。
高级访问: 多少访问来自高级会员。

高级购买模式
一种提高基于参与度的付出的策略是通过购买模式鼓励 高级 升级。玩家可以在体验中完全完成购买,立即获得高级状态和 Robux 的初始津贴。

请记住,高级会员不应该是享受体验的“要求”。当为高级会员实施激励时,强烈建议您遵循以下最佳实践:
- 诚实地准确描述体验中的升级优势 描述。
- 不要承诺 Robux 或其他超出经验的奖励,你无法控制。
- 当非高级会员进入体验时,不要将弹出窗口显示为“付费墙”。
- 考虑向高级会员提供独家商品,但不要给他们一个战术上的游戏优势,例如那些非高级会员无法与之竞争的超强武器阵列。
检查会员资格
在脚本任何与高级会员或 触发模态 相关的逻辑之前,检查用户的 MembershipType 属性以确定他们是否已经订阅。
local Players = game:GetService("Players")local player = Players.LocalPlayerif player.MembershipType == Enum.MembershipType.Premium then-- 为高级会员采取一些特定的行动end
触发模态
您可以使用 PromptPremiumPurchase() 方法触发购买模态。例如,以下代码提示用户在其角色触摸包含 Script 的部分时购买高级服务,例如允许进入专属区域的传送器。
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local teleporter = script.Parent
local showModal = true
local TELEPORT_POSITION = Vector3.new(1200, 200, 60)
-- 将角色传送到专属区域
local function teleportPlayer(player)
-- 请求在目标位置附近进行流媒体播放
player:RequestStreamAroundAsync(TELEPORT_POSITION)
-- 传送角色
local character = player.Character
if character and character.Parent then
local currentPivot = character:GetPivot()
character:PivotTo(currentPivot * CFrame.new(TELEPORT_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.MembershipType == Enum.MembershipType.Premium then
-- 用户拥有Premium;将角色传送到体验中的专属区域
teleportPlayer(player)
else
-- 显示购买模式,使用缓冲来显示每隔几秒最多一次
if not showModal then return end
showModal = false
task.delay(5, function()
showModal = true
end)
MarketplaceService:PromptPremiumPurchase(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)
-- 处理更改会员身份事件
Players.PlayerMembershipChanged:Connect(function(player)
warn("User membership changed; new membership is " .. tostring(player.MembershipType))
-- 如果会员类型是高级,角色在传送器上,则传送角色到另一个服务器
if player.MembershipType == Enum.MembershipType.Premium and player:GetAttribute("CharacterPartsTouching") > 0 then
teleportPlayer(player)
end
end)