자동 참여 기반 지급은 Premium 회원이 게임에 참여하는 시간의 비율에 따라 Robux를 얻을 수 있게 해줍니다. 이러한 지급은 게임의 크기에 관계없이 이루어집니다. 이러한 지급은 패스와 같은 다른 수익화 방법으로 얻는 수익에 추가로 지급됩니다.
프리미엄 구독자 수의 증가를 장려하고 참여 기반 지급을 받을 가능성을 높이기 위해, 게임에 프리미엄 구매 모달을 직접 추가할 수 있습니다. 일부 국가의 사용자는 프리미엄 구독에 접근할 수 없을 수 있습니다.
지급 데이터에 접근하기
지급 데이터는 프리미엄 구독자가 귀하의 게임에 참여하게 만드는 요소를 이해하는 데 중요한 피드백을 제공할 수 있습니다.
지급 데이터에 접근하려면:
- 크리에이터 대시보드에서 귀하의 창작물 페이지로 이동하여 귀하의 게임을 선택합니다.
- 수익화 탭으로 이동하여 참여 지급을 선택합니다.
참여 지급
참여 기반 지급 차트는 다음 지표를 기준으로 지급 데이터를 추적합니다:
프리미엄 플레이타임으로 얻은 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
-- 사용자가 프리미엄; 게임 내 독점 지역으로 캐릭터를 텔레포트
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))
-- 멤버십 유형이 프리미엄이고 캐릭터가 텔레포터에 있을 경우 캐릭터 텔레포트
if player.MembershipType == Enum.MembershipType.Premium and player:GetAttribute("CharacterPartsTouching") > 0 then
teleportPlayer(player)
end
end)