基於參與度的支付

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

自動 基於參與度的支付 讓您根據 Premium 會員在遊戲中參與的時間比例賺取 Robux,無論遊戲的大小如何。這些支付是對其他 貨幣化 方法如 通行證 收入的補充。

為了促進 Premium 訂閱者的增長並提高您賺取基於參與度的支付的潛力,您可以將 Premium 購買彈窗 直接添加到遊戲中。請注意,某些國家的用戶可能無法訂購 Premium 訂閱。

訪問支付數據

支付數據可以提供關鍵反饋,幫助您了解促進 Premium 訂閱者加入您的遊戲的因素。

要訪問支付數據:

  1. 前往您的 創作 頁面,在 創作者儀表板 中選擇您的遊戲。
  2. 進入 貨幣化 標籤並選擇 參與度支付

參與度支付

基於參與度的支付 圖表根據以下指標跟蹤支付數據:

  • Premium 遊玩時間 Robux 收益: 您可以預期從 Premium 訂閱者的參與中賺取的金額。這不是基於 Premium 訂閱者每天花在遊戲中的時間;而是聚合了每個用戶過去 28 天的行為。因此,儘管它們有相似的趨勢,但此指標與 Premium 遊玩時間得分之間沒有直接的數學關係。

  • Premium 遊玩時間得分: Premium 訂閱者每天參與遊戲的時間。此指標可以提供對您釋放的新功能影響的即時反饋。

  • Premium 訪問次數: 有多少次訪問來自 Premium 會員。


Premium 購買彈窗

增加基於參與度的支付的一個策略是通過 購買彈窗 鼓勵 Premium 升級。玩家可以在遊戲內完成購買,並立即獲得 Premium 狀態及其初始的 Robux 津貼。

遊戲中的 Premium 購買彈窗
遊戲中的 Premium 購買彈窗

請記住,Premium 會員資格不應該是享受遊戲的“要求”。在實施對 Premium 會員的激勵時,強烈建議您遵循以下最佳實踐:

  • 誠實且準確地描述在遊戲的 描述 中升級的好處。
  • 不要承諾 Robux 或其他您無法控制的遊戲外獎勵。
  • 當非 Premium 會員進入遊戲時,不要將彈窗顯示為“付費牆”。
  • 考慮為 Premium 會員提供獨家商品,但不要讓他們在策略遊玩上相對於其他人有優勢,例如提供一系列非 Premium 會員無法競爭的超強武器。

檢查會員資格

在編寫任何與 Premium 會員資格相關的邏輯或 觸發彈窗 之前,檢查用戶的 MembershipType 屬性以確定他們是否已訂閱。


local Players = game:GetService("Players")
local player = Players.LocalPlayer
if player.MembershipType == Enum.MembershipType.Premium then
-- 進行對 Premium 會員的專門操作
end

觸發彈窗

您可以使用 PromptPremiumPurchase() 方法觸發購買彈窗。例如,以下代碼在用戶的角色觸摸與其包含的 Script 相關聯的部分時提示用戶購買 Premium,例如一個允許訪問獨家區域的傳送器。


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("用戶會員資格已更改;新會員資格為 " .. tostring(player.MembershipType))
-- 如果會員類型為 Premium 且角色在傳送器上,則傳送角色
if player.MembershipType == Enum.MembershipType.Premium and player:GetAttribute("CharacterPartsTouching") > 0 then
teleportPlayer(player)
end
end)
©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。