패스는 사용자가 게임 내에서 제한된 지역에 진입하거나 게임 내 아바타 아이템, 영구적인 파워업 등을 포함한 특별한 특권에 접근하기 위해 일회성 로벅스 요금을 지불하도록 할 수 있게 해줍니다.
패스 만들기
패스를 만들려면:
- 창작물로 이동하여 게임을 선택합니다.
- 수익화 ⟩ 패스로 이동합니다.
- 패스 만들기를 클릭합니다.
- 패스 아이콘으로 표시할 이미지를 업로드합니다. 이미지는 512x512 픽셀을 초과하지 않으며, 원형 경계 밖에 중요한 세부 사항이 포함되지 않아야 하고, .jpg, .png 또는 .bmp 형식이어야 합니다.
- 패스의 이름과 설명을 입력합니다.
- 패스의 카테고리를 선택합니다. 카테고리는 게임 내 상점에서 아이템을 정리하는 데 사용됩니다.
- 패스 만들기를 클릭합니다.


패스 ID 가져오기
스크립팅을 사용하려면 패스 ID가 필요합니다. 패스 ID를 얻으려면:
수익화 ⟩ 패스로 이동합니다.
패스의 썸네일 위에 마우스를 올리고, ⋯ 버튼을 클릭한 후 컨텍스트 메뉴에서 자산 ID 복사를 선택합니다.

패스 판매하기
패스를 판매할 수 있는 방법은 두 가지입니다:
내 게임 내에서
게임 내에서 패스를 구현하고 판매하려면 MarketplaceService 함수를 호출합니다.
GetProductInfo()를 사용하여 패스에 대한 정보(이름 및 가격 등)를 검색하고, 이를 사용자에게 표시합니다. 예를 들어 게임의 시장 내에서 패스를 판매할 수 있습니다. 패스의 경우 두 번째 매개변수는 Enum.InfoType.GamePass여야 합니다.
local MarketplaceService = game:GetService("MarketplaceService")
-- 자리 표시자 ID를 패스 ID로 교체하세요
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.GamePass)
end)
if success and productInfo then
-- 제품이 판매 중인지 확인합니다
if productInfo.IsForSale then
-- 제품 정보를 표시합니다
-- print 문을 UI 코드로 교체하여 패스를 표시합니다
print("패스 이름: " .. productInfo.Name)
print("가격(로벅스): " .. productInfo.PriceInRobux)
print("설명: " .. productInfo.Description)
else
print("이 제품은 판매되지 않습니다")
end
end
사용자가 이미 패스를 보유하고 있지 않은 경우 패스 구매를 유도하려면 PromptGamePassPurchase()를 사용합니다. 사용자가 버튼을 누르거나 상인 NPC와 대화할 때 이 함수를 호출할 수 있습니다.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
-- 자리 표시자 ID를 패스 ID로 교체하세요
local passID = 0000000
-- 패스 구매 유도
local function promptPurchase()
local player = Players.LocalPlayer
local hasPass = false
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.UserId, passID)
end)
if not success then
warn("플레이어의 패스 보유 여부 확인 중 오류 발생: " .. tostring(message))
return
end
if hasPass then
-- 사용자에게 이미 패스를 소유하고 있다고 알리는 메시지를 표시합니다
else
-- 패스 구매 유도
MarketplaceService:PromptGamePassPurchase(player, passID)
end
end
패스 구매 프롬프트와 구매가 완료된 후 사용자에게 패스에 연관된 특권을 부여하려면 PromptGamePassPurchaseFinished를 사용합니다.
스크립트를 ServerScriptService 내부에 위치시켜야 서버가 사용자의 패스 특권을 처리합니다.
local MarketplaceService = game:GetService("MarketplaceService")
-- 자리 표시자 ID를 패스 ID로 교체하세요
local passID = 0000000 -- 이 값을 패스 ID로 변경하세요
-- 완료된 프롬프트 및 구매 처리
local function onPromptPurchaseFinished(player, purchasedPassID, purchaseSuccess)
if purchaseSuccess and purchasedPassID == passID then
print(player.Name .. "가 ID " .. passID + "인 패스를 구매했습니다.")
-- 사용자에게 패스에 관련된 능력 또는 보너스를 부여합니다
end
end
-- PromptGamePassPurchaseFinished 이벤트를 함수에 연결합니다
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptPurchaseFinished)
내 게임 외부에서
게임 세부 정보 페이지의 상점 탭에서 패스를 판매하려면:
- 수익화 ⟩ 패스로 이동합니다.
- 패스 위에 마우스를 올리고 ⋯ 메뉴를 클릭합니다.
- 판매할 패스를 선택합니다.
- 판매를 선택합니다.
- 판매용 아이템 전환 스위치를 활성화합니다.
- 가격(로벅스) 필드에 사용자가 패스를 구매하기 위해 지불할 로벅스 금액을 입력합니다. 입력한 가격은 판매당 얻는 로벅스 금액에 영향을 미칩니다. 최소 가격은 1 로벅스, 최대 가격은 10억 로벅스입니다.
- 변경 사항 저장을 클릭합니다. 패스가 게임 세부 정보 페이지의 상점 탭에 추가됩니다.
패스 특권 부여
패스를 구매한 사용자에게 수동으로 패스 특권을 부여해야 합니다. 이를 위해 사용자가 게임에 참여할 때 PlayerAdded를 사용하여 이미 패스를 소유하고 있는지 확인하고 패스 특권을 부여합니다.
스크립트를 ServerScriptService 내부에 위치시켜야 서버가 사용자의 패스 특권을 처리합니다.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
-- 자리 표시자 ID를 패스 ID로 교체하세요
local passID = 0000000
local function onPlayerAdded(player)
local hasPass = false
-- 사용자가 이미 패스를 소유하고 있는지 확인합니다
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.UserId, passID)
end)
if not success then
-- 경고를 발행하고 함수에서 나갑니다
warn("패스 보유 여부 확인 중 오류 발생: " .. tostring(message))
return
end
if hasPass then
-- 사용자에게 패스와 관련된 능력 또는 보너스를 부여합니다
print(player.Name .. "가 ID " .. passID + "인 패스를 소유하고 있습니다.")
end
end
-- PlayerAdded 이벤트를 함수에 연결합니다
Players.PlayerAdded:Connect(onPlayerAdded)
게임 내 상점 개인화
제품 인텔리전스 API를 사용하여 사용자에게 패스를 정렬하고 추천할 수 있습니다. 게임 내 상점을 개인화하면 각 사용자에게 가장 관련성이 높은 아이템을 표출하여 참여도와 수익을 증가시킬 수 있습니다. 사용자의 선호도에 맞춰 패스를 조정함으로써 발견 가능성을 향상시키고 전환율을 높이며 새로운 수익화 기회를 열 수 있습니다.
판매용 패스 순위 매기기
RankProductsAsync는 제품 ID 목록을 입력으로 받아 사용자에게 맞춤화된 주문된 제품 목록을 반환합니다. 이 방법을 사용하여 게임 내 상점에 사용자 맞춤 아이템 추천을 제공할 수 있습니다.

local MarketplaceService = game:GetService("MarketplaceService")
-- 순위를 매기고 싶은 제품 배열을 생성합니다
local productIdentifiers = {
{InfoType = Enum.InfoType.GamePass, Id = 123},
{InfoType = Enum.InfoType.Product, Id = 456},
{InfoType = Enum.InfoType.Product, Id = 789}
}
-- 선택사항: 요청이 느릴 경우 ui/game이 멈추지 않도록 비동기 작업을 사용하여 호출을 랩핑합니다
task.spawn(function()
-- 오류를 우아하게 처리하기 위해 pcall을 사용합니다
local success, result = pcall(function()
return MarketplaceService:RankProductsAsync(productIdentifiers)
end)
if not success then
-- 실패한 경우 'result'는 오류 메시지입니다.
warn("제품 순위 매기기 실패:", result)
end
-- 반환된 아이템을 상점에 로드합니다.
for i, rankedItem in ipairs(rankedProducts) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- productInfo를 상점에 추가하는 로직
end
end)
상위 패스 표시
RecommendTopProductsAsync는 InfoType 값의 배열을 입력으로 받아 사용자가 가장 많이 상호작용하고 구매할 가능성이 높은 최대 50개 아이템을 반환합니다. 이 방법을 사용하여 게임 내 상점에서 "최고 추천" 섹션을 만들 수 있습니다.
추천할 수 있는 아이템이 없으면 RecommendTopProductsAsync는 0개의 아이템을 반환합니다. 사용자가 이미 소유하고 있는 패스는 반환되지 않습니다.
드물게 순위 모델을 호출할 때 느릴 수 있습니다. 사용자가 최근 추가된 패스를 피할 수 있도록 하려면 task.spawn을 사용하여 RecommendTopProducts 호출을 비차단 방식으로 하는 것을 권장합니다.

local MarketplaceService = game:GetService("MarketplaceService")
-- 포함할 제품 유형 배열을 생성합니다. 이 경우 게임 패스와 개발자 제품 모두 포함합니다
local productTypes = {Enum.InfoType.GamePass, Enum.InfoType.Product}
-- 선택사항: 요청이 느릴 경우 UI/game이 멈추지 않도록 비동기 작업을 사용하여 호출을 랩핑합니다
task.spawn(function()
-- 오류를 우아하게 처리하기 위해 pcall을 사용합니다
local success, result = pcall(function()
return MarketplaceService:RecommendTopProductsAsync(productTypes)
end)
if not success then
-- 실패한 경우 'result'는 오류 메시지입니다.
warn("제품 추천 실패:", result)
end
-- 반환된 아이템을 상점에 로드합니다. 상위 순위 아이템에서 더 이상 구매할 수 없는 개발자 제품 등의 적격 아이템을 필터링해야 합니다
for i, rankedItem in ipairs(rankedProducts) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- productInfo를 상점에 추가하는 로직
end
end)
패스 홍보
더 많은 사용자가 게임을 발견하도록 돕기 위해 패스를 로블록스의 로벅스 구매 페이지에 소개하는 옵션을 선택할 수 있습니다. 패스를 홍보하는 것은 사용자들이 게임에서 보내는 시간과 로벅스를 늘리는 데 도움이 될 수 있습니다. 홍보할 수 있는 패스의 수에는 제한이 없습니다.
사용자에게는 그들의 게임 플레이 기록 및 플랫폼 활동과 관련된 패스가 표시됩니다. 이미 소유하고 있는 패스는 표시되지 않습니다.

사용자가 적격 로벅스 패키지를 구매하면 홍보된 패스를 받고 게임에 참여하여 패스를 주장하라는 메시지가 표시됩니다.

패스를 홍보하려면:
- 수익화 ⟩ 패스로 이동합니다.
- 홍보하려는 패스를 선택합니다.
- 홍보를 선택합니다.
- 이 아이템을 보너스 풀에 포함을 활성화합니다.
- 변경 사항 저장을 클릭합니다. 패스가 로벅스 구매 페이지의 관련 사용자에게 표시됩니다.
홍보된 패스는:
- 판매 중이거나 비판매일 수 있습니다. 판매 중인 경우 로벅스 가격은 49 로벅스 이상 801 로벅스 미만이어야 합니다.
- 썸네일을 포함해야 합니다.
- 유료 랜덤 아이템을 제공할 수 없습니다.
- 커뮤니티 표준을 준수해야 합니다.
패스 분석
패스 분석을 사용하여 개별 패스의 성공을 분석하고, 추세를 파악하며, 미래 잠재 수익을 예측할 수 있습니다.
분석 기능을 통해:
- 선택한 기간 동안 최고의 패스를 볼 수 있습니다.
- 전체 판매 및 순 수익을 분석하기 위해 최대 여덟 개의 최고 판매 아이템을 시계열 그래프로 표시할 수 있습니다.
- 카탈로그를 모니터링하고 판매 및 순 수익에 따라 아이템을 정렬할 수 있습니다.
- 로벅스 구매 페이지에서 사용자에게 얼마나 많은 패스가 획득되었는지 확인할 수 있습니다.
- 로벅스 구매 페이지를 통해 패스를 획득한 후 게임에 얼마나 많은 사용자가 참여했는지 확인할 수 있습니다.
패스 분석에 접근하려면:
- 창작물로 이동하여 게임을 선택합니다.
- 수익화 ⟩ 패스로 이동합니다.
- 분석 탭을 선택합니다.
