Produits des développeurs

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

Un produit de développeur est un article ou une capacité que l'utilisateur peut acheter plus d'une fois, comme de la monnaie en expérience, des munitions ou des potions.

Créer un produit développeur

Pour créer un produit développeur :

  1. Allez dans Créations et sélectionnez une expérience.
  2. Aller à Monétisation > Produits des développeurs .
  3. Cliquez sur Créer un produit développeur .
  4. Téléchargez une image à afficher comme 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 format .jpg, .png ou .bmp.
  5. Entrez un nom et une description pour le produit.
  6. Définissez le prix du produit en Robux. Le prix minimum est de 1 Robux, et le prix maximum est de 1 milliard de Robux.
  7. Cliquez sur Créer produit développeur .

Obtenir l'ID du produit développeur

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

  1. Aller à MonétisationProduits des développeurs .

  2. Passez la souris sur la miniatured'un produit, cliquez sur le bouton et sélectionnez Copier l'ID de la ressource dans le menu contextuel.

Vendre un produit développeur

Avant de vendre des produits développeur, assurez-vous de traiter correctement les reçus de vente et de donner aux utilisateurs leurs produits achetés.Pour ce faire, vous devez :

  • Utilisez l'API ProcessReceipt pour vérifier les reçus d'achat.ProcessReceipt lit et reconnaît automatiquement qu'un utilisateur a acheté un produit en dehors de l'expérience.
  • Vérifiez chaque reçu pour User ID, Developer Product ID et le statut du reçu.
  • Si la facture a un statut de ouvert , accordez à l'utilisateur les articles développeur qu'il a achetés.
  • Répondez à l'API ProcessReceipt avec un message reconnaissant la réception et validant que les articles achetés ont été accordés.

Vous pouvez vendre des produits développeur de deux manières :

Au sein de votre expérience

Pour implémenter et vendre un produit 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 le nom et le prix, puis pour afficher ce produit aux utilisateurs.Vous pouvez vendre le produit sur le marché de votre expérience, par exemple.Pour les produits des développeurs, le deuxième paramètre doit être Enum.InfoType.Product .


local MarketplaceService = game:GetService("MarketplaceService")
-- Remplacez l'ID du paramètre de remplacement par l'ID de votre produit 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
-- Remplacer les déclarations d'impression par du code d'interface utilisateur 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 développeurs 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 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
-- Remplacer la déclaration d'impression par du code d'interface utilisateur pour afficher le produit
print(field .. ": " .. value)
end
end

Utilisez PromptProductPurchase pour demander l'achat de produits à l'intérieur de votre expérience.Vous pouvez appeler cette fonction lorsqu'un utilisateur effectue des actions comme appuyer sur un bouton ou parler à un PNJ marchand.


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Remplacez l'ID du paramètre de remplacement par l'ID de votre produit 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 développeur existant à cet élément, vérifier si le produit est en offre, et utiliser PromptProductPurchase() pour demander une achat chaque fois que l'utilisateur clique dessus.


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local button = script.Parent
-- Remplacez l'ID du paramètre de remplacement par l'ID de votre produit développeur
local productId = 000000
-- Obtient des 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'acheterdu produit
MarketplaceService:PromptProductPurchase(player, productId)
else
-- Informe 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)

En dehors de votre expérience

Pour activer les achats de produits développeur en dehors de votre expérience, vous devez travailler avec l'API ProcessReceipt.Après qu'un utilisateur ait effectué un achat dans l'onglet boutique de vos détails d'expérience, vous devez utiliser ProcessReceipt pour confirmer leur achat et leur accorder leurs articles une fois qu'ils entrent dans votre expérience.

Mode test

La fonction mode de test aide à valider votre flux d'achat en simulant l'achat d'un produit développeur en dehors de votre expérience.Vous devez utiliser le mode test pour vous assurer que vous avez correctement implémenté ProcessReceipt avant de permettre la vente de produits développeurs externes.

Les produits du développeur que vous mettez en vente en mode test ne peuvent être vus que par vous et par les membres de votre groupe. Ils ne sont pas visibles pour les utilisateurs.

Pour tester votre implémentation :

  1. Dans le hub créateur , allez à monétisation > produits des développeurs .
  2. Cliquez sur le menu et sélectionnez Paramètres d'achat externes .
  3. Sur la page Acheter des paramètres externes , cliquez sur Activer le mode test .
  4. Une fois le mode de test activé, retournez à la page produits du développeur et sélectionnez un produit à tester.
  5. Sur la page Paramètres de base , sélectionnez la case à cocher Autoriser les achats externes et enregistrez vos modifications.
  6. Accédez à l'onglet boutique des détails de l'expérience et achetez le produit que vous avez mis à la offre.
  7. Entre dans l'expérience et confirme que tu as reçu le produit que tu as acheté.L'état de la réception de l'API ProcessReceipt doit être mis à jour sur Fermé .

Après avoir testé votre implémentation, Roblox vérifie que le test a été terminé avec succès et vous permet d'activer complètement la fonction pour vendre des produits de développeur en dehors de vos expériences.

Pour plus d'informations sur l'API ProcessReceipt et sa mise en œuvre, voir la page ProcessReceipt.

Activer les ventes externes

Pour activer les ventes externes :

  1. Accédez à la page Paramètres d'achat externes .
  2. Activez achats externes .
  3. Retournez à la page des produits du développeur et sélectionnez les produits que vous souhaitez vendre en dehors de votre expérience.
  4. Sur la page Paramètres de base , sélectionnez la case à cocher Autoriser les achats externes et enregistrez vos modifications.
  5. Confirmez que les produits sont désormais disponibles à l'achat dans l'onglet boutique des détails de l'expérience.

Pour désactiver la vente externe d'un produit de développeur, sélectionnez le produit sur la page produits de développeur et effacez la case à cocher autoriser les achats externes .

Limites

  • Les articles en vente en mode test coûtent des Robux réels. Nous recommandons de tester des produits de développeur à faible coût.
  • Les articles en vente en mode test ne peuvent être vus que par vous ou par les membres de votre groupe.
  • Pour être vendus externement, vos produits de développeur doivent avoir une miniature.
  • Vous ne devriez pas vendre ce qui suit en dehors de votre expérience :
    • Objets aléatoires payés
    • Objets limités à des quantités, à un temps, à un emplacementou à des rôles et paramètres d'utilisateur spécifiques

Gérer l'acheterd'un produit développeur

Après l'achat d'un produit développeur par un utilisateur, vous devez gérer et enregistrer la transaction.Pour ce faire, utilisez un Script dans ServerScriptService en utilisant la fonction ProcessReceipt.

Pour plus d'informations sur l'API ProcessReceipt et sa mise en œuvre, voir la page 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 : l'ID de produit 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 fonction de gestionnaire associée à l'ID de produit développeur et tente 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 "Achat accordé" pour confirmer la transaction
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Failed to process receipt:", receiptInfo, result)
end
end
-- Les articles de l'utilisateur ne pouvaient pas être attribués
-- Renvoie "Pas encore traité" et réessayez la prochaine fois que l'utilisateur rejoint l'expérience
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- Définit le rappel
-- Cela ne peut être fait qu'une seule fois par un script côté serveur
MarketplaceService.ProcessReceipt = processReceipt

Analyse des produits des développeurs

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

Avec l'analyse, vous pouvez :

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

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

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