基於參與的網頁

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

自動 基於交互的付款 讓您以 Robux 基於時間的付款,無論是否是高級會員在體驗中參與的時間。這些付款是在其他數值化方法,例如1>通行證1>中獲得的收入之上。

為了鼓勵高級訂閱者增長,並提升您的潛在收入來源,您可以將Premium Purchase Modal直接添加到體驗。請注意,從某些國家的用戶可能無法存取高級訂閱。

存取資金所需資料

可以從外部資料中提供重要的見解,幫助您了解哪些因素會驅使高級訂閱者到您的體驗。

要取得付款資料:

  1. 前往 創作者面板 頁面,選擇您的體驗。

  2. 導航到 金幣化 標籤,然後選擇 交互式付款

參與獎勵

基於參與度的付款計算 圖表會根據以下指標來記錄付款資料:

  • 已獲得 Robux 遊戲時間: 金額是基於每日時間的 Robux 訂閱者互動模式。這不是基於每個用戶的每日時間的 Robux 訂閱者互動模式;相反,這個指標會聚合每個用戶的行為過去 28 天。因此,雖然它們有相似的趨勢,但這個指標與 Robux 遊

  • 高級遊戲時間評分: 這是檢查高級訂閱者每天與體驗互動的時間。這個指標可以提供即時回饋對你發布的新功能的影響。

  • 高級訪問: 高級會員來自的訪問數量。


高級購買模式

一種增加基於參與的付款的方法是鼓勵玩家通過 購買模式 升級。玩家可以在體驗中完成購買,立即獲得 Robux 初始資金和其他獎勵狀態。

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

請記住,Premium 會員不應該是「需求」來享受體驗。當實施 Premium 會員的激勵時,建議您遵守以下最佳練習:

  • 真實、準確地描述體驗的說明中的升級優惠。
  • 不要約束 Robux 或其他超時獎勵,您不能控制。
  • 不要將模式檢視為「付費牆」,當非 Premium 會員進入體驗。
  • 考慮提供獨家 商品 給高級會員,但不要給非高級會員一個戰術遊戲優勢,例如一系列超強力武器,這些武器對於非高級會員無法競爭。

檢查會員資格

在啟用任何與高級會員資格或點擊模式相關的程式碼之前,檢查使用者的 MembershipType 屬性來確認他們是否已訂閱。


local Players = game:GetService("Players")
local player = Players.LocalPlayer
if player.MembershipType == Enum.MembershipType.Premium then
-- 為特定 Premium 會員執行一些行動
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
-- 使用 Debounce 顯示每幾秒鐘最多一次的購買模式
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)