개발자 제품

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

개발자 제품은 사용자가 한 번 이상 구매할 수 있는 아이템이나 능력, 예를 들어 경험 내 통화, 탄약 또는 물약과 같이.

개발자 제품 생성

개발자 제품을 생성하려면:

  1. 크리처 탭으로 이동하고 경험을 선택하세요.
  2. 수익 창출 으로 이동합니다 개발자 제품 > 개발자 제품 으로.
  3. 클릭하십시오 개발자 제품 생성 .
  4. 제품 아이콘으로 업로드하려는 이미지를 업로드하십시오. 이미지가 512x512 픽셀을 초과하지 않도록 하고, 원형 경계 밖에 중요한 세부 정보가 포함되지 않도록 하며, .jpg, .png, 또는 .bmp 형식입니다.
  5. 제품에 대한 이름과 설명을 입력합니다.
  6. Robux로 제품 가격을 설정하십시오. 최소 가격은 1 Robux이고 최대 가격은 10억 Robux입니다.
  7. 클릭하십시오 개발자 제품 생성 .

개발자 제품 ID 取得

스크립팅사용하려면 개발자 제품 ID가 필요합니다. 제품 ID를 얻으려면:

  1. 수익 창출 으로 이동합니다 개발자 제품 > 개발자 제품 으로.

  2. 제품 위로 마우스를 이동하고 메뉴를 클릭하십시오.

  3. 클립보드에 ID를 복사하려면 자산 ID 복사 를 클릭하십시오.

개발자 상품 판매

경험 내에서 개발자 제품을 구현하고 판매하려면 MarketplaceService 함수를 호출하십시오.

Class.MarketplaceService:GetProductInfo()|GetProductInfo() 를 사용하여 개발자 제품, 이름 및 가격과 같은 정보를 검색한 다음 사용자에게 제품을 표시하십시오. 제품을 경험 내에서 판매할 수 있습니다. 개발자 제품의 경우 두 번째 매개 변수는 Enum.InfoType.Product


local MarketplaceService = game:GetService("MarketplaceService")
-- 대체 ID를 개발자 제품 ID로 교체
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- 제품 정보 표시
-- 인쇄 문을 UI 코드로 대체하여 제품을 표시하십시오
print("Developer Product Name: " .. productInfo.Name)
print("Price in Robux: " .. productInfo.PriceInRobux)
print("Description: " .. productInfo.Description)
end

Use GetDeveloperProductsAsync() to retrieve all developer products associating with your experience. This function returns a Pages object that you can inspect and filter to build things like an in-experience store or product list GUI.


local MarketplaceService = game:GetService("MarketplaceService")
local success, developerProducts = pcall(function()
return MarketplaceService:GetDeveloperProductsAsync()
end)
if success and developerProducts then
local firstPage = developerProducts:GetCurrentPage()
for _, developerProduct in firstPage do
-- 인쇄 문을 UI 코드로 대체하여 제품을 표시하십시오
print(field .. ": " .. value)
end
end

Class.MarketplaceService:PromptProductPurchase()|PromptProductPurchase() 를 사용하여 경험 내에서 제품 구매를 촉진합니다. 사용자가 버튼을 누르거나 판매자 NPC에게 이야기하는 등의 작업을 수행할 때 이 함수를 호출할 수 있습니다.


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- 대체 ID를 개발자 제품 ID로 교체
local productId = 000000
local function promptProductPurchase()
local success, errorMessage = pcall(function()
MarketplaceService:PromptProductPurchase(player, productId)
end)
if success then
print("Purchase prompt shown successfully")
end
end

Class.LocalScript|LocalScript 내에 함수를 조합하여 기능을 결합할 수도 있습니다. 예를 들어, 버튼이나 공급 업체 NPC와 같은 UI 요소를 생성한 다음 GetProductInfo()


local MarketplaceService = game:GetService("MarketplaceService")
local player = game.Players.LocalPlayer
local button = script.Parent
-- 대체 ID를 개발자 제품 ID로 교체
local productId = 000000
-- 사용자가 UI 버튼을 클릭할 때 제품 정보를 가져옵니다.
button.MouseButton1Click:Connect(function()
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- 제품이 판매 중인지 여부를 확인합니다.
if productInfo.IsForSale then
print("This is for sale")
-- 제품 구매 촉진
MarketplaceService:PromptProductPurchase(player, productId)
else
-- 제품이 판매되지 않음을 알립니다
print("This product is not currently for sale.")
end
else
print("Error retrieving product info: " .. tostring(productInfo))
end
end)

처리 개발자 상품 구매

사용자가 개발자 제품을 구매하면 트랜잭션을 처리하고 기록해야 합니다. 이를 수행하려면 Script 내에 있는 ServerScriptService 를 사용하십시오. ProcessReceipt() 함수를 사용하여.


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local productFunctions = {}
-- 예: product ID 123123은 사용자를 완전한 체력으로 다시 가져옵니다.
productFunctions[123123] = function(receipt, player)
local character = player.Character
local humanoid = character and character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
humanoid.Health = humanoid.MaxHealth
-- 성공적인 구매를 나타냅니다
return true
end
end
-- 예: product ID 456456은 사용자에게 100개의 금 코인을 보상으로 지급합니다.
productFunctions[456456] = function(receipt, player)
local leaderstats = player:FindFirstChild("leaderstats")
local gold = leaderstats and leaderstats:FindFirstChild("Gold")
if gold then
gold.Value += 100
return true
end
end
local function processReceipt(receiptInfo)
local userId = receiptInfo.PlayerId
local productId = receiptInfo.ProductId
local player = Players:GetPlayerByUserId(userId)
if player then
-- 개발자 제품 ID와 관련된 처리기 함수를 가져와 실행하려고 시도합니다.
local handler = productFunctions[productId]
local success, result = pcall(handler, receiptInfo, player)
if success then
-- 사용자는 자신의 아이템을 받았습니다
-- 거래를 확인하려면 "PurchaseGranted"를 반환합니다
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Failed to process receipt:", receiptInfo, result)
end
end
-- 사용자의 아이템은 수여할 수 없습니다.
-- 다시 사용자가 경험에 참여할 때 "NotProcessedYet"이 표시되고 다음에 다시 시도됩니다.
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- 콜백 설정
-- 이는 한 서버 사이드 스크립트에서만 수행할 수 있습니다.
MarketplaceService.ProcessReceipt = processReceipt

개발자 제품 분석

개발자 제품 분석을 사용하여 개별 제품의 성공을 분석하고, 동향을 확인하고, 미래의 잠재적 수입을 예측합니다.

애널리틱스사용하면 다음을 할 수 있습니다.

  • 선택한 기간 동안 최고 개발자 제품을 보세요.
  • 시계열 그래프에 최고 판매 아이템을 최대 8개까지 표시하여 전체 판매 및 순수익을 분석합니다.
  • 카탈로그를 모니터링하고 판매량과 순수익으로 항목을 정렬합니다.

개발자 애널리틱스액세스하려면:

  1. 크리처 탭으로 이동하고 경험을 선택하세요.
  2. 수익 창출 으로 이동합니다 개발자 제품 > 개발자 제품 으로.
  3. 선택합니다 분석 탭.