참여 기반 레이아웃

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

자동 영입 기반 지불 을 사용하면 경험 내 참여자가 경험의 크기에 관계없이 Robux를 기반으로 수익을 올릴 수 있습니다. 이 지불은 다른 수익 창출 방법 으로 수익 외에 나타납니다. 여기에는 패스 와 같은.

Premium 구독자 성장을 촉진하고 참여 기반 수익을 늘리기 위해 경험에 Premium Purchase Modal를 직접 추가할 수 있습니다. 일부 국가의 사용자는 Premium 구독에 액세스할 수 없을 수 있습니다.

배포 데이터 액세스

데이터 전달은 프리미엄 구독자가 경험에 어떤 요소가 작용하는지 이해하는 데 유용한 정보를 제공할 수 있습니다.

지불 데이터에 액세스하려면:

  1. 크리에이터 대시보드의 생성 페이지로 이동하고 경험을 선택하세요.

  2. 수익 창출 탭으로 이동하고 참여 수익 배분을 선택합니다.

참여 지불

참여 기반 지불 차트는 다음 메트릭스에 따라 지불 데이터를 추적합니다.

  • 프리미엄 플레이 타임 Robux 획득: 프리미엄 구독자 참여에 대한 수입을 예상할 수 있습니다. 이 메트릭은 일일 시간에 따라 프리미엄 구독자가 체험과 상호 작용하는 방식에 기반하지 않습니다. 대신, 이 메트릭은 사용

  • Premium 플레이타임 점수: 프리미엄 구독자가 경험과 상호 작용하는 시간(일일). 이 메트릭스는 새로운 기능을 출시한 후 즉시 피드백을 제공할 수 있습니다.

  • 프리미엄 방문:: 프리미엄 회원으로 얻은 방문 수.


프리미엄 구매 모달

참여 기반 수입을 늘리는 한 가지 전략은 프리미엄 업그레이드를 유도하는 구매 모달 을 통해 플레이어가 구매를 완료할 수 있습니다. 플레이어는 경험 내에서 구매를 완료하고 즉시 프리미엄 상태와 초기 스타이틀의 Robux를 받습니다.

Premium purchase modal within an experience
경험 내에서 프리미엄 구매 모달

Premium 멤버십이 경험을 즐기는 요구 사항이 아님을 기억하십시오. Premium 멤버십에 대한 인센티브를 구현할 때 다음 모범 사례를 따르는 것이 좋습니다.

  • 경험의 설명 내에 있는 업그레이드에 대한 혜택을 솔직하고 정확하게 설명합니다.
  • Robux 또는 경험 밖 보상을 제어하지 않는다고 약속하지 마십시오.
  • Premium 이외 회원이 경험에 입장할 때 모달을 지불 벽으로 표시하지 마십시오.
  • Premium 회원에게 독점 상품을 제공하는 것을 고려하지만, 다른 회원에게는 전술적 게임 플레이 이점을 제공하지 마십시오, 예를 들어, 프리미엄 회원이 경쟁할 수 없는 강력한 무기 배열과 같이.

멤버십 확인

Premium 회원 또는 Modal을 트리거하는 로직과 관련된 스크립트를 작성하기 전에 사용자의 MembershipType 속성을 확인하여 이미 구독되어 있는지 여부를 결정하십시오.


local Players = game:GetService("Players")
local player = Players.LocalPlayer
if player.MembershipType == Enum.MembershipType.Premium then
-- Premium 회원을 위해 특정 조치를 취하십시오
end

모달 트리거

Class.MarketplaceService:PromptPremiumPurchase()|PromptPremiumPurchase() 메서드로 구매 모달을 트리거할 수 있습니다. 예를 들어, 다음 코드는 캐릭터가 특정 영역에 액세스할 때 프리미엄을 구매하도록 유도합니다. 예를 들어, 텔레포터와 같은 액세스 전


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)