Productos para desarrolladores

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Un producto de desarrollador es un artículo o capacidad que un usuario puede comprar más de una vez, como la moneda en experiencia, munición o pociones .

Crear un producto para desarrolladores

Para crear un producto de desarrollador:

  1. Ve a Creaciones y selecciona una experiencia.
  2. Ve a Monetización > Productos para desarrolladores .
  3. Haga clic en Crear un producto para desarrolladores .
  4. Sube una imagen para mostrarla como el íconodel producto.Asegúrese de que la imagen no exceda los 512x512 píxeles, no incluya detalles importantes fuera de sus límites circulares y esté en el formato .jpg, .png o .bmp.
  5. Ingrese un nombre y una descripción para el producto.
  6. Establece el precio del producto en Robux. El precio mínimo es de 1 Robux y el precio máximo es de 1 mil millones de Robux.
  7. Haga clic en Crear producto para desarrolladores .

Obtener el ID del producto del desarrollador

Para usar scripting, necesitas un ID de producto de desarrollador. Para obtener el ID del producto:

  1. Ve a Monetización > Productos para desarrolladores .

  2. Pase el cursor sobre la miniatura de un producto, haga clic en el botón y seleccione Copiar ID de activo del menú contextual.

Vender un producto de desarrollador

Antes de vender productos para desarrolladores, asegúrate de que estás procesando correctamente los recibos de ventas y otorgando a los usuarios sus productos comprados.Para hacerlo, debes:

  • Usa la API ProcessReceipt para verificar los recibos de compra.ProcessReceipt lee y reconoce automáticamente que un usuario ha comprado un producto fuera de la experiencia.
  • Valida cada recibo para User ID , Developer Product ID , y el estado del recibo.
  • Si el recibo tiene un estado de Abrir , otorga al usuario los elementos del desarrollador que ha comprado.
  • Responder a la API ProcessReceipt con un mensaje que reconozca el recibo y valide que los artículos comprados se otorgaron.

Puedes vender productos para desarrolladores de dos maneras:

Dentro de tu experiencia

Para implementar y vender un producto de desarrollador dentro de una experiencia, llama a MarketplaceService funciones.

Usa GetProductInfo para recuperar información sobre un producto de desarrollador, como el nombre y el precio, y luego mostrar ese producto a los usuarios.Puedes vender el producto dentro del mercado de tu experiencia, por ejemplo.Para los productos de desarrollador, el segundo parámetro debe ser Enum.InfoType.Product .


local MarketplaceService = game:GetService("MarketplaceService")
-- Reemplazar el ID del marcador de posición con el ID de tu producto de desarrollador
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Mostrar información del producto
-- Reemplazar las declaraciones de impresión con código de interfaz de usuario para mostrar el producto
print("Developer Product Name: " .. productInfo.Name)
print("Price in Robux: " .. productInfo.PriceInRobux)
print("Description: " .. productInfo.Description)
end

Usa GetDeveloperProductsAsync para recuperar todos los productos de desarrollador asociados con tu experiencia.Esta función devuelve un objeto Pages que puedes inspeccionar y filtrar para construir cosas como una tienda en la experiencia o una lista de productos Interfaz gráfica (o 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
-- Reemplazar la declaración de impresión con código de interfaz de usuario para mostrar el producto
print(field .. ": " .. value)
end
end

Usa PromptProductPurchase para solicitar la compra de productos dentro de tu experiencia.Puedes llamar a esta función cuando un usuario realiza acciones como presionar un botón o hablar con un PNJminorista.


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Reemplazar el ID del marcador de posición con el ID de tu producto de desarrollador
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

También puedes combinar funciones dentro de un LocalScript .Por ejemplo, puedes crear un elemento de interfaz de usuario como un botón o un PNJminorista, luego usa GetProductInfo() para conectar un producto de desarrollador existente a ese elemento, comprueba si el producto está a la ventay usa PromptProductPurchase() para solicitar una compra cada vez que el usuario lo haga clic.


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local button = script.Parent
-- Reemplazar el ID del marcador de posición con el ID de tu producto de desarrollador
local productId = 000000
-- Obtiene información del producto cuando el usuario hace clic en el botón de la interfaz de usuario
button.MouseButton1Click:Connect(function()
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Comprueba si el producto está a la venta
if productInfo.IsForSale then
print("This is for sale")
-- Indicaciones de comprarde producto
MarketplaceService:PromptProductPurchase(player, productId)
else
-- Notifica que el producto no está a la venta
print("This product is not currently for sale.")
end
else
print("Error retrieving product info: " .. tostring(productInfo))
end
end)

Fuera de tu experiencia

Para habilitar las compras de productos de desarrollador fuera de tu experiencia, debes trabajar con la API ProcessReceipt.Después de que un usuario realice una compra en la pestaña Tienda de los detalles de tu experiencia, debes usar ProcessReceipt para confirmar su compra y otorgarles sus artículos una vez que entren a tu experiencia.

Modo de prueba

La característica modo de prueba ayuda a validar tu flujo de compra al simular una compra de producto de desarrollador fuera de tu experiencia.Debe usar el modo de prueba para asegurarse de que haya implementado correctamente ProcessReceipt antes de habilitar las ventas de productos de desarrollador externos.

Los productos del desarrollador que pone a la venta en modo de prueba solo pueden ser vistos por usted y por los miembros de su grupo. No son visibles para los usuarios.

Para probar tu implementación:

  1. En el Centro de creadores , vaya a Monetización > Productos para desarrolladores .
  2. Haga clic en el menú y seleccione Configuración de compra externa .
  3. En la página Configuración de compra externa , haga clic en Habilitar modo de prueba .
  4. Una vez que el modo de prueba esté activo, vuelva a la página de Productos para desarrolladores y seleccione un producto para probar.
  5. En la página Configuración básica , seleccione la casilla de verificación Permitir compras externas y guarde sus cambios.
  6. Ve a la pestaña Tienda de la página de detalles de la experiencia y compra el producto que pusiste a la venta.
  7. Ingrese a la experiencia y confirme que ha recibido el producto que compró.El estado de recibo de la API ProcessReceipt debe actualizarse a Cerrado .

Después de probar tu implementación, Roblox verifica que la prueba se ha completado con éxito y te permite activar completamente la función para vender productos de desarrollador fuera de tus experiencias.

Para obtener más información sobre la API ProcessReceipt y su implementación, consulte la página ProcessReceipt.

Habilitar ventas externas

Para habilitar las ventas externas:

  1. Ve a la página Configuración de compra externa .
  2. Activar Compras externas .
  3. Vuelva a la página de Productos para desarrolladores y seleccione los productos que desea vender fuera de su experiencia.
  4. En la página Configuración básica , seleccione la casilla de verificación Permitir compras externas y guarde sus cambios.
  5. Confirma que los productos ahora están disponibles para su compra en la pestaña Tienda de la página de detalles de la experiencia.

Para deshabilitar la venta externa de un producto de desarrollador, seleccione el producto en la página Productos para desarrolladores y desactive la casilla de verificación Permitir compras externas .

Limitaciones

  • Los artículos en venta en modo de prueba cuestan Robux reales. Recomendamos probar productos de desarrollador de bajo costo.
  • Los artículos en venta en modo de prueba solo pueden ser vistos por ti o por miembros de tu grupo.
  • Para ser vendidos externamente, tus productos de desarrollador deben tener una miniatura.
  • No deberías vender lo siguiente fuera de tu experiencia:
    • Artículos aleatorios pagados
    • Artículos que se limitan a cantidades específicas, tiempo, lugar o roles de usuario

Gestionar una comprarde producto de desarrollador

Después de que un usuario compre un producto de desarrollador, debes manejar y registrar la transacción.Para hacer esto, use un Script dentro de ServerScriptService usando la función ProcessReceipt.

Para obtener más información sobre la API ProcessReceipt y su implementación, consulte la página ProcessReceipt.


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local productFunctions = {}
-- Ejemplo: la identificación del producto 123123 devuelve al usuario a la salud completa
productFunctions[123123] = function(receipt, player)
local character = player.Character
local humanoid = character and character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
humanoid.Health = humanoid.MaxHealth
-- Indica una comprarexitosa
return true
end
end
-- Ejemplo: la ID del producto 456456 otorga 100 monedas de oro al usuario
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
-- Obtiene la función de manejo asociada con el ID de producto del desarrollador y trata de ejecutarla
local handler = productFunctions[productId]
local success, result = pcall(handler, receiptInfo, player)
if success then
-- El usuario ha recibido sus artículos
-- Devuelve "Compra otorgada" para confirmar la transacción
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Failed to process receipt:", receiptInfo, result)
end
end
-- Los artículos del usuario no se pudieron otorgar
-- Devuelve "NoProcesadoTodavía" y vuelve a intentarlo la próxima vez que el usuario se una a la experiencia
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- Establece la llamada de devolución
-- Esto solo se puede hacer una vez por un script del lado del servidor
MarketplaceService.ProcessReceipt = processReceipt

Análisis de productos para desarrolladores

Utilice la analítica de productos de desarrolladores para analizar el éxito de los productos individuales, identificar tendencias y predecir potenciales ganancias futuras.

Con la Análisis, puedes:

  • Vea sus principales productos de desarrollador durante un período de tiempo seleccionado.
  • Muestra hasta ocho artículos más vendidos en un gráfico de series de tiempo para analizar las ventas generales y los ingresos netos.
  • Supervisa tu catálogo y ordena los artículos por ventas y ganancias netas.

Para acceder a Análisisdel producto del desarrollador:

  1. Ve a Creaciones y selecciona una experiencia.
  2. Ve a Monetización > Productos para desarrolladores .
  3. Seleccione la pestaña Análisis .