Prodotti per sviluppatori

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Un prodotto per sviluppatori è un articolo o un'abilità che un utente può acquistare più di una volta, come valuta di gioco, munizioni o pozioni.

Crea un prodotto per sviluppatori

Per creare un prodotto per sviluppatori:

  1. Vai a Creazioni e seleziona un gioco.
  2. Vai su Monetizzazione ⟩ Prodotti per sviluppatori.
  3. Clicca su Crea prodotto per sviluppatori.
  4. Carica un'immagine da visualizzare come icona del prodotto. Assicurati che l'immagine non superi i 512x512 pixel, non includa dettagli importanti al di fuori dei suoi confini circolari e sia in formato .jpg, .png o .bmp.
  5. Inserisci un nome e una descrizione per il prodotto.
  6. Seleziona una categoria per il prodotto. La categoria viene utilizzata per organizzare gli articoli nel tuo negozio di gioco.
  7. Imposta il prezzo del prodotto in Robux. Il prezzo minimo è di 1 Robux e il prezzo massimo è di 1 miliardo di Robux.
  8. Clicca su Salva modifiche.

Ottieni l'ID del prodotto per sviluppatori

Per utilizzare la programmazione, hai bisogno di un ID prodotto per sviluppatori. Per ottenere l'ID del prodotto:

  1. Vai su Monetizzazione ⟩ Prodotti per sviluppatori.

  2. Passa il mouse sopra la miniatura di un prodotto, clicca sul pulsante ⋯ e seleziona Copia ID asset dal menu contestuale.

Vendi un prodotto per sviluppatori

Prima di vendere prodotti per sviluppatori, assicurati di elaborare correttamente le ricevute di vendita e di concedere agli utenti i prodotti acquistati. Per farlo, devi:

  • Utilizzare l'API ProcessReceipt per controllare le ricevute di acquisto. ProcessReceipt legge automaticamente e riconosce che un utente ha acquistato un prodotto al di fuori del gioco.
  • Validare ogni ricevuta per User ID, Developer Product ID e lo stato della ricevuta.
  • Se la ricevuta ha uno stato di Aperta, concedi all'utente gli articoli per sviluppatori che ha acquistato.
  • Rispondi all'API ProcessReceipt con un messaggio che riconosce la ricevuta e valida che gli articoli acquistati siano stati concessi.

Puoi vendere prodotti per sviluppatori in due modi:

All'interno del tuo gioco

Per implementare e vendere un prodotto per sviluppatori all'interno di un gioco, chiama le funzioni di MarketplaceService.

Utilizza GetProductInfo per recuperare informazioni su un prodotto per sviluppatori, come nome e prezzo, e poi per visualizzare quel prodotto agli utenti. Puoi vendere il prodotto all'interno del mercato del tuo gioco, ad esempio. Per i prodotti per sviluppatori, il secondo parametro deve essere Enum.InfoType.Product.

local MarketplaceService = game:GetService("MarketplaceService")
-- Sostituisci l'ID segnaposto con il tuo ID prodotto per sviluppatori
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Visualizza le informazioni sul prodotto
-- Sostituisci le istruzioni di stampa con codice UI per visualizzare il prodotto
print("Nome del prodotto per sviluppatori: " .. productInfo.Name)
print("Prezzo in Robux: " .. productInfo.PriceInRobux)
print("Descrizione: " .. productInfo.Description)
end

Utilizza GetDeveloperProductsAsync per recuperare tutti i prodotti per sviluppatori associati al tuo gioco. Questa funzione restituisce un oggetto Pages che puoi ispezionare e filtrare per costruire cose come un negozio di gioco o un'interfaccia grafica per l'elenco dei prodotti.

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
-- Sostituisci l'istruzione di stampa con codice UI per visualizzare il prodotto
print(field .. ": " .. value)
end
end

Utilizza PromptProductPurchase per richiedere acquisti di prodotti all'interno del tuo gioco. Puoi chiamare questa funzione quando un utente esegue azioni come premere un pulsante o parlare con un NPC venditore.

local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Sostituisci l'ID segnaposto con il tuo ID prodotto per sviluppatori
local productId = 000000
local function promptProductPurchase()
local success, errorMessage = pcall(function()
MarketplaceService:PromptProductPurchase(player, productId)
end)
if success then
print("Richiesta di acquisto mostrata con successo")
end
end

Puoi anche combinare funzioni all'interno di un LocalScript. Ad esempio, puoi creare un elemento UI come un pulsante o un NPC venditore, quindi utilizzare GetProductInfo() per collegare un prodotto per sviluppatori esistente a quell'elemento, controllare se il prodotto è in vendita e utilizzare PromptProductPurchase() per richiedere un acquisto ogni volta che l'utente ci clicca sopra.

local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local button = script.Parent
-- Sostituisci l'ID segnaposto con il tuo ID prodotto per sviluppatori
local productId = 000000
-- Ottiene informazioni sul prodotto quando l'utente clicca sul pulsante UI
button.MouseButton1Click:Connect(function()
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Controlla se il prodotto è in vendita
if productInfo.IsForSale then
print("Questo è in vendita")
-- Richiede l'acquisto del prodotto
MarketplaceService:PromptProductPurchase(player, productId)
else
-- Notifica che il prodotto non è in vendita
print("Questo prodotto non è attualmente in vendita.")
end
else
print("Errore nel recupero delle informazioni sul prodotto: " .. tostring(productInfo))
end
end)

Al di fuori del tuo gioco

Per abilitare gli acquisti di prodotti per sviluppatori al di fuori del tuo gioco, devi lavorare con l'API ProcessReceipt. Dopo che un utente ha effettuato un acquisto nella scheda Negozio della pagina dei dettagli del tuo gioco, devi utilizzare ProcessReceipt per confermare il loro acquisto e concedere loro i loro articoli una volta che entrano nel tuo gioco.

Abilita vendite esterne

Roblox mostra i tuoi prodotti per sviluppatori Elencati e i pass di gioco al di fuori del tuo gioco, inclusi sulla homepage di Roblox, nei risultati di ricerca e sulla pagina post-acquisto dopo che un giocatore acquista Robux. Un giocatore può acquistare il tuo articolo e poi unirsi al tuo gioco con esso già concesso.

Per rendere un prodotto per sviluppatori idoneo per vendite esterne:

  1. Nella Creator Hub, vai su Monetizzazione ⟩ Negozio.
  2. Contrassegna il prodotto per sviluppatori come Elencato.
  3. Conferma di aver implementato correttamente ProcessReceipt per il prodotto.

I pass di gioco non richiedono una correzione di ProcessReceipt, ma devono anche essere Elencati per apparire al di fuori del tuo gioco. Ti consigliamo di aggiungere un'icona personalizzata a ciascun prodotto per sviluppatori in modo che i giocatori possano riconoscerlo su superfici esterne; se non ne aggiungi una, Roblox mostra un'icona predefinita.

Per ulteriori informazioni sull'API ProcessReceipt e sulla sua implementazione, vedere la pagina ProcessReceipt.

Risolvi un prodotto per sviluppatori segnalato

Se Roblox rileva un problema con ProcessReceipt con uno dei tuoi prodotti per sviluppatori Elencati, appare un banner in Creator Hub ⟩ Monetizzazione ⟩ Negozio che collega a un rapporto sui prodotti interessati. Se nessuno dei tuoi prodotti per sviluppatori necessita di una correzione, non appare alcun banner o rapporto.

Per risolvere un prodotto per sviluppatori segnalato:

  1. Apri il rapporto dal banner. Il rapporto elenca ciascun prodotto per sviluppatori Elencato che necessita di una correzione di ProcessReceipt, insieme al suo nome e ID prodotto.
  2. Apri il tuo gioco in Roblox Studio e correggi l'implementazione di ProcessReceipt per il prodotto segnalato.
  3. Pubblica il tuo gioco.
  4. Nel rapporto, seleziona i prodotti corretti e clicca su Contrassegna come corretto.

I prodotti corretti escono dal rapporto e diventano nuovamente idonei per apparire al di fuori del tuo gioco.

Limitazioni

  • Per essere venduto al di fuori del tuo gioco, un prodotto per sviluppatori deve essere Elencato e avere ProcessReceipt implementato correttamente.
  • I prodotti per sviluppatori non elencati non appaiono mai nel Negozio o al di fuori del tuo gioco.
  • Vendere un prodotto per sviluppatori al di fuori del tuo gioco non cambia i tuoi guadagni standard o la gestione degli acquisti.

Domande frequenti

Vedi un banner solo se Roblox rileva un prodotto per sviluppatori Elencato che necessita di una correzione di ProcessReceipt. Se non vedi un banner, non è necessaria alcuna azione.

No. Il rapporto ProcessReceipt si applica solo ai prodotti per sviluppatori. Sia i prodotti per sviluppatori Elencati che i pass di gioco possono essere mostrati e venduti al di fuori del tuo gioco.

No. Le vendite esterne offrono ai giocatori ulteriori luoghi per trovare e acquistare i tuoi articoli. La tua gestione degli acquisti e i guadagni standard rimangono invariati.

Gestisci un acquisto di prodotto per sviluppatori

Dopo che un utente acquista un prodotto per sviluppatori, devi gestire e registrare la transazione. Per farlo, utilizza uno Script all'interno di ServerScriptService utilizzando la funzione ProcessReceipt.

Per ulteriori informazioni sull'API ProcessReceipt e sulla sua implementazione, vedere la pagina ProcessReceipt.

local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local productFunctions = {}
-- Esempio: l'ID prodotto 123123 riporta l'utente a piena salute
productFunctions[123123] = function(receipt, player)
local character = player.Character
local humanoid = character and character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
humanoid.Health = humanoid.MaxHealth
-- Indica un acquisto riuscito
return true
end
end
-- Esempio: l'ID prodotto 456456 assegna 100 monete d'oro all'utente
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
-- Ottiene la funzione di gestione associata all'ID prodotto per sviluppatori e tenta di eseguirla
local handler = productFunctions[productId]
local success, result = pcall(handler, receiptInfo, player)
if success then
-- L'utente ha ricevuto i suoi articoli
-- Restituisce "PurchaseGranted" per confermare la transazione
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Impossibile elaborare la ricevuta:", receiptInfo, result)
end
end
-- Gli articoli dell'utente non possono essere stati assegnati
-- Restituisce "NotProcessedYet" e riprova la prossima volta che l'utente entra nel gioco
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- Imposta il callback
-- Questo può essere fatto solo una volta da uno script lato server
MarketplaceService.ProcessReceipt = processReceipt

Personalizza il tuo negozio di gioco

Puoi utilizzare le API di intelligenza sui prodotti per ordinare e raccomandare prodotti per sviluppatori agli utenti. Personalizzare il tuo negozio di gioco aiuta a mostrare gli articoli più rilevanti per ciascun utente, aumentando il coinvolgimento e le entrate. Personalizzando i prodotti per sviluppatori in base alle preferenze degli utenti, puoi migliorare la loro scoperta, aumentare i tassi di conversione e sbloccare nuove opportunità di monetizzazione.

Classifica i prodotti per sviluppatori in vendita

RankProductsAsync accetta un elenco di ID prodotto e restituisce un elenco ordinato personalizzato di quei prodotti. Puoi utilizzare questo metodo per fornire ai tuoi utenti raccomandazioni personalizzate sugli articoli nel tuo negozio di gioco.

Esempio: Tre articoli "Poteri" classificati per l'utente
Tre articoli classificati per l'utente.
local MarketplaceService = game:GetService("MarketplaceService")
-- Crea un array di prodotti che desideri classificare
local productIdentifiers = {
{InfoType = Enum.InfoType.GamePass, Id = 123},
{InfoType = Enum.InfoType.Product, Id = 456},
{InfoType = Enum.InfoType.Product, Id = 789}
}
-- Effettua una chiamata protetta per gestire gli errori
local success, rankedProducts = pcall(function()
return MarketplaceService:RankProductsAsync(productIdentifiers)
end)
if not success then
error("Impossibile classificare i prodotti")
end
-- Carica gli articoli restituiti nel negozio
for i, rankedItem in ipairs(rankedProducts) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- Logica per aggiungere prodotti nel negozio
end

Visualizza i tuoi migliori prodotti per sviluppatori

RecommendTopProductsAsync accetta un array di valori InfoType e restituisce fino a 50 articoli con cui un utente è più probabile che interagisca e acquisti. Puoi utilizzare questo metodo per creare una sezione "Scelte migliori" nel tuo negozio di gioco.

Se non è possibile determinare raccomandazioni, RecommendTopProductsAsync restituisce 0 articoli.

In rari casi, le chiamate al modello di classificazione possono essere lente. Per aiutare a prevenire ritardi per gli utenti, ti consigliamo di utilizzare task.spawn per rendere la chiamata a RecommendTopProducts non bloccante.

Esempio: Una scheda "Scelte migliori" in un negozio di gioco
Scheda Scelte migliori di un negozio di gioco.
local MarketplaceService = game:GetService("MarketplaceService")
-- Crea un array di tipi di prodotto che desideri includere nelle raccomandazioni -- Questo esempio include sia pass che prodotti per sviluppatori
local productTypes = {Enum.InfoType.GamePass, Enum.InfoType.Product}
-- Effettua una chiamata protetta per gestire gli errori
local success, topRankedItems = pcall(function()
return MarketplaceService:RecommendTopProductsAsync(productTypes)
end)
if not success then
error("Impossibile classificare i prodotti")
end
-- Carica gli articoli restituiti nel negozio
-- Assicurati di filtrare eventuali articoli non idonei da topRankedItems, come prodotti per sviluppatori che l'utente non può più acquistare
for i, rankedItem in ipairs(topRankedItems) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- Logica per aggiungere prodotti nel negozio
end

Analisi dei prodotti per sviluppatori

Utilizza l'analisi dei prodotti per sviluppatori per analizzare il successo di singoli prodotti, identificare tendenze e prevedere potenziali guadagni futuri.

Con l'analisi, puoi:

  • Visualizzare i tuoi migliori prodotti per sviluppatori su un periodo di tempo selezionato.
  • Mostrare fino a otto articoli più venduti su un grafico temporale per analizzare le vendite complessive e il reddito netto.
  • Monitorare il tuo catalogo e ordinare gli articoli per vendite e reddito netto.

Per accedere all'analisi dei prodotti per sviluppatori:

  1. Vai a Creazioni e seleziona un gioco.
  2. Vai su Monetizzazione ⟩ Prodotti per sviluppatori.
  3. Seleziona la scheda Analisi.
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.