Produits du développeur

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Un produit développeur est un élément ou une capacité qu'un utilisateur peut acheter plus d'une fois, tels que la monnaie d'expérience, les munitions ou les potions.

Créer des produits pour les développeurs

Pour créer un produit de développeur :

  1. Allez dans Créations et sélectionnez une expérience.
  2. Allez à Monétisation > Produits du développeur .
  3. Cliquez sur Créer un produit de développeur .
  4. Téléchargez une image pour afficher comme l'icône de produit. Assurez-vous que l'image ne dépasse pas 512x512 pixels, n'inclut pas de détails importants en dehors de ses limites circulaires et est dans le .jpg , .png ou .bmp format.
  5. Entrez un nom et une description pour le produit.
  6. Définissez le prix du produit en Robux. Le prix minimum est 1 Robux, et le prix maximum est 1 milliard de Robux.
  7. Cliquez sur Créer un produit développeur .

Obtenir les identifiants de produit du développeur

Pour utiliser le scripting, vous avez besoin d'un ID de produit développeur. Pour obtenir l'ID du produit :

  1. Allez à Monétisation > Produits du développeur .

  2. Survolez le produit et cliquez sur le menu .

  3. Cliquez sur Copier l'ID de la ressource pour copier l'ID dans votre presse-papiers.

Vente de produits du développeur

Pour implémenter et vendre un produit de développeur à l'intérieur d'une expérience, appelez les fonctions MarketplaceService.

Utilisez GetProductInfo() pour récupérer des informations sur un produit de développeur, comme son nom et son prix, et ensuite pour afficher ce produit aux utilisateurs. Vous pouvez vendre le produit à l'intérieur de votre expérience's marché, par exemple. Pour les produits de développeur, le deuxième paramètre doit être Enum.InfoType.Product .


local MarketplaceService = game:GetService("MarketplaceService")
-- Remplacez l'identifiant de sécurité par votre produit de développeur
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Afficher les informations sur le produit
-- Remplacez les déclarations d'impression par du code UI pour afficher le produit
print("Developer Product Name: " .. productInfo.Name)
print("Price in Robux: " .. productInfo.PriceInRobux)
print("Description: " .. productInfo.Description)
end

Utilisez GetDeveloperProductsAsync() pour récupérer tous les produits du développeur associés à votre expérience. Cette fonction renvoie un objet Pages que vous pouvez inspecter et filtrer pour construire des choses comme une boutique dans l'expérience ou une liste de produits dans l'expérience interface utilisateur graphique.


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
-- Remplacez la déclaration d'impression par du code UI pour afficher le produit
print(field .. ": " .. value)
end
end

Utilisez PromptProductPurchase() pour demander des achats de produits dans votre expérience. Vous pouvez appeler cette fonction lorsqu'un utilisateur effectue des actions comme en appuyant sur un bouton ou en parlant à un PNJ marchand.


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Remplacez l'identifiant de sécurité par votre produit de développeur
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

Vous pouvez également combiner des fonctions à l'intérieur d'un LocalScript . Par exemple, vous pouvez créer un élément d'interface utilisateur comme un bouton ou un PNJ vendeur, puis utiliser GetProductInfo() pour connecter un produit existant d'un dévelop


local MarketplaceService = game:GetService("MarketplaceService")
local player = game.Players.LocalPlayer
local button = script.Parent
-- Remplacez l'identifiant de sécurité par votre produit de développeur
local productId = 000000
-- Obtient les informations sur le produit lorsque l'utilisateur clique sur le bouton de l'interface utilisateur
button.MouseButton1Click:Connect(function()
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Vérifie si le produit est en offre
if productInfo.IsForSale then
print("This is for sale")
-- Invite l'acheterde produits
MarketplaceService:PromptProductPurchase(player, productId)
else
-- Notifiez que le produit n'est pas en offre
print("This product is not currently for sale.")
end
else
print("Error retrieving product info: " .. tostring(productInfo))
end
end)

Gestion des achats de produits du développeur

Après qu'un utilisateur a acheté un produit développeur, vous devez gérer et enregistrer la transaction. Pour ce faire, utilisez un Script à l'intérieur de ServerScriptService en utilisant la fonction ProcessReceipt().


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local productFunctions = {}
-- Exemple : l'ID de produit 123123 ramène l'utilisateur à la santé complète
productFunctions[123123] = function(receipt, player)
local character = player.Character
local humanoid = character and character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
humanoid.Health = humanoid.MaxHealth
-- Indique un acheterréussi
return true
end
end
-- Exemple : le produit ID 456456 attribue 100 pièces d'or à l'utilisateur
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
-- Obtient la fonctionnalité de gestionnaire associée à l'ID de produit du développeur et essaie de l'exécuter
local handler = productFunctions[productId]
local success, result = pcall(handler, receiptInfo, player)
if success then
-- L'utilisateur a reçu ses articles
-- Retourne « PurchaseGranted » pour confirmer la transaction
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Failed to process receipt:", receiptInfo, result)
end
end
-- Les objets de l'utilisateur n'ont pas pu être attribués
-- Renvoie « NotProcessedYet » et réessaye la prochaine fois que l'utilisateur rejoint l'expérience
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- Définit l'rappel
-- Cela ne peut être fait qu'une fois par un script côté serveur
MarketplaceService.ProcessReceipt = processReceipt

Analyse du produit du développeur

Utilisez l'analyse des produits de développeur pour analyser le succès des produits individuels, identifier les tendances et prévoir les gains potentiels à l'avenir.

Avec l'analysse, vous pouvez :

  • Voyez vos meilleurs produits de développeur sur une période de temps sélectionnée.
  • Affichez jusqu'à huit articles les plus vendus sur un graphique de série temporelle pour analyser les ventes globales et les revenus nets.
  • Surveillez votre catalogue et triez les articles par ventes et revenus nets.

Pour accéder à l'analyse des produits du développeur :

  1. Allez dans Créations et sélectionnez une expérience.
  2. Allez à Monétisation > Produits du développeur .
  3. Sélectionnez l'onglet Analytics .