基于交互的布局

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

自动 基于交互的付款 让您根据参与体验的时间来赚取Robux,无论体验的大小。这些付款是通过“通行证”等其他“货币化”方法的收益的额外。

要鼓励高级订阅用户增长并提高您的潜在来自交互式付费的收入,您可以直接将高级订阅模态添加到体验。请注意,某些国家的用户可能无法访问高级订阅。

访问结果数据

布局数据可以提供重要的反馈,帮助您了解哪些因素会驱使高级订阅者到您的体验。

要访问支付数据:

  1. 导航到您的创作页面在 创建者仪表板 上,然后选择您的体验。

  2. 导航到 货币化 选项卡,然后选择 交互式支付

交互式支付

基于交互的赢取 曲线图跟踪付款数据,基于以下指标:

  • 高级游戏时间Robux已赢得: 您可以期待从高级订阅者的交互中获得的金钱。这不是基于每日时间高级订阅者与体验互动;相反,这个指标是根据每个用户在过去 28 天内的行为聚合的。因此,即使它们有类似的趋势,这个指标也不是直接的数学关系。

  • 高级游戏时间奖励: 高级订阅者与体验互动的时间。此指标可以提供即时反馈,并且可以帮助您发布新功能的影响。

  • 高级访问: 高级会员来自哪里的访问。


高级购买模态

一种增加基于参与的付款的策略是鼓励 高级 通过 购买模态 的升级。玩家可以在体验完整内容并立即获得 Robux 初始奖励和其他 Robux 状态。

Premium purchase modal within an experience
在体验中购买高级功能门户

请记住,高级会员不应该是“需求”来享受体验。当实施奖励会员时,建议您遵循以下最佳实践:

  • 诚实地描述体验的描述中的升级优势。
  • 不要保证 Robux 或其他超出体验奖励,您不能控制。
  • 不要将弹出窗口显示为“支付墙”,当非Premium 会员进入体验。
  • 考虑为 Premium 会员提供独家 商品,但不要将它们作为其他会员的战术游戏优势,例如能够无法与非 Premium 会员竞争的超强武器阵营。

检查会员资格

在触发 Premium 会员或 触发模态 相关的任何逻辑之前,检查用户的 MembershipType 属性,以确定他们是否已经订阅。


local Players = game:GetService("Players")
local player = Players.LocalPlayer
if player.MembershipType == Enum.MembershipType.Premium then
-- 为高级会员提供一些特定的行动
end

触发模态

您可以使用 PromptPremiumPurchase() 方法触发购买模态。例如,以下代码提示用户购买 Premium 当其角色触摸到含有 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))
-- 如果会员类型是 Premium 和角色在传送器上,请传送角色
if player.MembershipType == Enum.MembershipType.Premium and player:GetAttribute("CharacterPartsTouching") > 0 then
teleportPlayer(player)
end
end)