基於參與的付款

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

自動 基於參與的付款 讓您根據 Premium 會員在體驗中投入的時間比例來賺取 Robux,無論體驗的規模如何。這些付款額外於其他 盈利方法,例如 通行證

為了鼓勵高級訂閱者增長和增加你獲得基於參與度付款的潛力,你可以直接將 高級購買模式 添加到體驗中。請記住,來自某些國家的使用者可能無法訪問高級訂閱。

存取付款資料

付款數據可提供重要反饋,幫助您了解哪些因素會導致高級訂閱者轉到您的體驗。

要存取付款資料:

  1. 創作者面板 上導航到你的 創作頁面 並選擇你的體驗。
  2. 導航到 盈利 標籤,然後選擇 參與付款

參與付款

參與基礎付款圖表根據以下指標跟蹤付款數據:

  • 高級遊戲時間 Robux 已獲得: 您可以期望獲得高級訂閱者參與的金額。這不是基於每日時間付費訂閱者與體驗互動所花費的時間;相反,此指標會總結過去 28 天每一位使用者的行為。因此,即使他們有相似的趨勢,這個指標與高級遊戲時間分數之間也沒有直接的數學關係。

  • 高級遊戲時間分數: 高級訂閱者每天與體驗互動的時間量。這個指標可以提供即時反饋有關你釋放的新功能的影響。

  • 高級訪問:: 有多少訪問來自高級會員。


高級購買模式

要增加基於參與度的付款,一種方法是通過 購買模式 鼓勵 高級 升級。玩家可以在體驗中完全完成購買,並立即收到 Robux 的初始津貼和高級狀態。

Premium purchase modal within an experience
體驗內的高級購買模式

請記住,高級會員資格不應是「需求」來享受體驗。當為高級會員實施獎勵時,建議您遵循以下最佳做法:

  • 誠實地、準確地在體驗的 說明 中描述升級的好處。
  • 不要承諾 Robux 或其他超出經驗的獎勵,你沒有控制。
  • 當非Premium會員進入體驗時,請勿顯示模式為「付費牆」。
  • 考慮向高級會員提供獨家商品,但不要給他們對抗其他人的戰術游戲優勢,例如非高級會員無法對抗的一系列超強武器。

檢查會員資格

在執寫任何與高級會員資格或 啟動模式 相關的邏輯之前,請檢查使用者的 MembershipType 屬性以確定他們是否已經訂閱。


local Players = game:GetService("Players")
local player = Players.LocalPlayer
if 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)