Abonnements

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

Les abonnements dans les expériences vous permettent d'offrir aux utilisateurs des avantages récurrents pour un forfait mensuel. Semblable aux passes, la principale différence entre les abonnements et les passes est que les avantages d'un passe sont accordés en perpetuité, tandis que les avantages d'un abonnement sont conditionnés par le paiement d'un forfait mensuel. Les abonnements sur Roblox ont les caractéristiques suivantes :

  • Renouvellement automatique: Les abonnements sont renouvelés automatiquement, pas des achats uniques, et sont facturés en monnaie locale.
  • Paiement des Robux : Vous recevez des revenus de souscription en Robux. Pour plus de détails, voir Gagner avec les abonnements .
  • Single-Tiered: Toutes les abonnements dans une expérience peuvent être possédés par des utilisateurs simultanément. Les abonnements mutuellement exclusifs ne sont pas pris en charge.

Les utilisateurs peuvent acheter des abonnements sur l'application de bureau ou le site Web en utilisant les crédits de la carte-cadeau Roblox ou un crédit ou une carte de débit, et par le biais des méthodes de paiement sur les magasins Apple et Google dans les régions qualifiées. Les utilisateurs peuvent afficher et gérer leurs achats d'abonnements dans l'onglet Abonnements dans leurs paramètres de compte Roblox.

Les abonnements seront déployés dans plus de régions à l'avenir. Les régions indisponibles incluent : l'Argentine, la Colombie, l'Inde, l'Indonésie, le Japon, la Russie, le Tchad, la Turquie, les Émirats arabes unis, l'Ukraine et le Vietnam.

Lignes directrices sur les abonnements

Avant de créer vos abonnements, assurez-vous qu'ils correspondent à Conditions d'utilisation de Roblox et qu'ils respectent les lois locales. Toute expérience qui se livre à des arnaques, essaie de tromper les utilisateurs avec des offres folles ou autrement viole nos normes de la communauté sera supprimée. De plus, assurez-vous que vos abonnements respectent les lignes directrices suivantes :

  • Fournissez des options de souscription effaceret distinctives : Utilisez des noms courts, succents et auto-explicite qui distinguent les options de souscription les unes des autres. Spécifiez le prix et la durée pour chaque option lorsque vous vendez dans l'expérience.
  • Offrez les mêmes avantages sur les plates-formes et les appareils : Quelle que soit l'endroit où l'abonnement a été acheté, assurez-vous que l'utilisateur reçoit les mêmes avantages pour tout plan d'abonnement donné.
  • Concevoir des abonnements pour s'adapter les uns aux autres et offrir des expériences globales : La mise en niveau des mêmes catégories de bénéfices, comme offrir des « Bronze », « Argent » et « Or » tiers qui sont mutuellement exclusifs, n'est pas actuellement disponible. Assurez-vous que les abonnements représentent des ensembles de bénéfices distincts.
  • Offrez les avantages pour la durée complète de l'abonnement : Une fois qu'un offre d'abonnement est en ligne, respectez les avantages décrits et ne révoquez pas les avantages derrière les coulisses.
  • Ne dirigez pas les utilisateurs à acheter sur une autre plate-forme (tel qu'un mobile, un web, etc.) dans l'expérience : Bien que vous soyez libre de communiquer avec les utilisateurs hors-plateforme, en utilisant l'application Roblox pour diriger les utilisateurs à acheter ailleurs, est interdit.
  • Ne gatez pas les avantages de l'abonnement par des exigences supplémentaires une fois qu'un utilisateur a payant: Exiger qu'un utilisateur exécute des tâches supplémentaires, telles que le postage sur les médias sociaux, pour avoir accès aux avantages qu'il a payés est interdit. Ce directive ne s'applique pas aux passes de combat, que vous pouvez créer et commercialiser à la fois en tant que acheterd'abonnement.

Créer des abonnements

Avant de pouvoir créer un abonnement, vous devez être un identifiant vérifié ou un identifiant vérifié. Pour créer un abonnement :

  1. Navigate to your experience in the Creator Dashboard and select Produits de monétisation > Souscrire . Then click 1> Créer un abonnement1> .

  2. Téléchargez une image de couverture pour votre abonnement. L'image est visible pour les autres après la modération.

  3. Créez un nom de souscripteur unique . Plusieurs abonnements dans une expérience ne peuvent pas partager le même nom. Ce nom de souscripteur apparaît côté à côté d'un court raccourci de votre nom d'expérience dans les déclarations de facturation. Les caractères autorisés sont a-z, A-Z, 0-9, espaces et .,:/!?@#&' .

  4. Écrivez une Description de votre abonnement. C'est ce que les utilisateurs voient lorsqu'ils décident d'acheter votre abonnement. Votre description doit clairement décrire les avantages que votre abonnement offre. Les descriptions sont limitées à 1 000 caractères et prennent en charge les emojis. Une fois que vous activez un abonnement, vous ne pouvez pas réduire ses avantages.

  5. Sélectionnez le type d'abonnement Type de produit . Il existe trois types de produits :

    1. Durable : Les articles permanents qui persistent après l'utilisation ou l'acquisition, tels que les articles physiques comme les armes. Si un abonnement inclut un ensemble de différents types de marchandises, avec l'un ou plusieurs d'entre elles durables, comme un pack de valeur avec une épée et une potion, choisissez Durable comme son taperde produit.
    2. Consommables : Articles temporaires à réapprovisionnement qui expirent après l'utilisation ou l'acquisition, tels que les potions consommables qui accordent des boosts temporaires qui expirent au fil du temps.
    3. Monnaie : Tout moyen d'échange que les utilisateurs peuvent utiliser pour acheter des articles dans votre expérience.
  6. Sélectionnez le Prix de votre abonnement (en USD). Vous gagnez des Robux en fonction du prix web. Les abonnés à l'application mobile sont facturés un prix plus élevé. Les abonnés sont facturés dans leur monnaie locale.

  7. La cadence de répétition est le nombre de fois qu'un utilisateur est facturé pour un abonnement. Actuellement, cette valeur est toujours mensuelle. Cliquez sur Créer un abonnement .

  8. Vérifiez les détails et cliquez sur Créer .

Activer les abonnements

Une fois qu'un abonnement est prêt à être en vente, cliquez sur ⋯ dans le coin supérieur droit de la case d'abonnement et sélectionnez Activer . Les abonnements activés sont disponibles à la vente sur la page Détails de l'expérience et dans l'expérience elle-même.

Avant d'activer votre abonnement pour la première fois, vous devez confirmer une version abrégée de votre nom d'expérience. Ce nom d'expérience abrégé est affiché à l'utilisateur lorsqu'il s'abonne, en apparaissant à côté du nom de l'abonnement que vous avez créé dans Créer des abonnements . Il est également visible dans les paramètres de gestion des abonnements dans Roblox et App Store Settings.

Edition des abonnements

Vous pouvez avoir jusqu'à 50 abonnements par expérience entre les abonnements actifs et inactifs. Pour modifier les abonnements, naviguez dans votre expérience dans le tableau de bord du créateur et sélectionnez produits de monétisation > abonnements.

Vous pouvez modifier l'image, la description ou l'état d'un abonnement. Si vous voulez modifier plus de ces propriétés, vous devez supprimer et recréer les abonnements avec les modifications souhaitées.

Modifier image

Pour mettre à jour l'image d'un abonnement :

  1. Avec l'abonnement sélectionné, cliquez sur le bouton Changer .

  2. Choisissez une nouvelle image et cliquez sur Enregistrer, puis sur Enregistrer les modifications. La nouvelle image est active après avoir réussi à modérer.

Modifier la description

Pour modifier la description d'un abonnement :

  1. Avec l'abonnement sélectionné, cliquez sur le champ Description .
  2. Éditez la description, puis cliquez sur enregistrer les modifications . Les descriptions sont limitées à 1 000 caractères et peuvent prendre en charge les emojis.
  3. Confirmez les modifications en cliquant sur Oui, confirmer dans la fenêtre de confirmation. Les mises à jour de description sont instantanées.

Changer d'état

Les abonnements ont deux états possibles :

  • Actif — Les abonnements actifs sont disponibles à la offre, avec des abonnés pouvant renouveler leur abonnement au début de la prochaine période.
  • Inactif — Les abonnements inactifs ne sont pas disponibles en offre.

Pour modifier l'état d'un abonnement :

  1. Sur la page Abonnements, cliquez sur au coin supérieur droit de la case du pavé. Soit Activer ou Désactiver la vente à distance affichés, selon l'état actuel du sous-cripion, côté quelques autres options.
  2. Sélectionnez soit Activer ou Retirer la vente pour modifier l'état de l'abonnement.
    1. Si vous sélectionnez Désactiver la vente en ligne , vous serez invité à l'option de permettre aux abonnés existants de renouveler, ou d'annuler les renouvellements futurs pour les abonnés existants. En général, il est recommandé d'autoriser les abonnés existants à renouveler à moins que vous ne prévoyiez de supprimer définitivement les avantages d'abonnement associés de votre expérience.

Intégrer des abonnements dans une expérience

Cet exemple de code est un exemple simple de la façon d'implémenter la détection des abonnements dans votre expérience :


-- Exécutez ce code sur le serveur
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- Remplacez par votre ID de souscription
local function grantAward(player: Player)
-- Vous devez accorder le prix associé à l'abonnement ici
end
local function revokeAwardIfGranted(player: Player)
-- Cette méthode est appelée pour chaque joueur qui n'a pas le abonnement
-- Si votre code sauvegarde des abonnements aux magasins de données ou fournit un avantage qui doit être « révoqué »
-- vous devriez utiliser cette méthode pour gérer la révoquation
end
local function checkSubStatus(player)
local success, response = pcall(function()
return MarketplaceService:GetUserSubscriptionStatusAsync(player, SUBSCRIPTION_ID)
end)
if not success then
warn(`Error while checking if player has subscription: {response}`)
return
end
if response.IsSubscribed then
grantAward(player)
else
revokeAwardIfGranted(player)
end
end
local function onUserSubscriptionStatusChanged(player: Player, subscriptionId: string)
if subscriptionId == SUBSCRIPTION_ID then
checkSubStatus(player)
end
end
Players.PlayerAdded:Connect(checkSubStatus)
Players.UserSubscriptionStatusChanged:Connect(onUserSubscriptionStatusChanged)

Remplacer un passe de jeu par un abonnement

Une option pour déployer des abonnements dans votre expérience est de remplacer un Game Pass existant par un abonnement. C'est une grande option si vous voulez rapidement implémenter des abonnements dans votre expérience sans ajouter de nouvelles fonctionnalités ou de nouveaux prix.

Il y a deux considérations importantes à prendre en compte lors du remplacement d'un Game Pass par un abonnement :

  • Tous les détenteurs du Game Pass existants devraient continuer à recevoir le bénéfice qu'ils ont payé.
  • Le Game Pass devrait être retiré de la vente pour que de nouveaux utilisateurs puissent acheter l'abonnement à la place.
  • Les abonnements peuvent être annulés, ce qui signifie que si votre Game Pass a précédemment persisté ses avantages dans un boutiquede données, vous devez « annuler » ces avantages. Cette considération ne s'applique pas à toutes les implémentations de Game Pass, mais peut s'appliquer à des choses plus complexes.

L'exemple de code suivant montre comment remplacer un Game Pass par un abonnement :


-- Exécutez ce code sur le serveur
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local LEGACY_GAME_PASS_ID = 1234 -- Remplacer par l'ID du game pass qui est remplacé par un abonnement
local SUBSCRIPTION_ID = "EXP-11111111" -- Remplacez par votre ID de souscription
local function awardBenefit(player: Player)
-- Vous devez attribuer le abonnement ici
end
local function revokeBenefitIfGranted(player: Player)
-- Cette méthode est appelée pour chaque joueur qui n'a pas le abonnement
-- Si votre code sauvegarde des abonnements aux magasins de données ou fournit un avantage qui doit être « révoqué »
-- vous devriez utiliser cette méthode pour gérer la révoquation
end
local function checkSubscriptionStatus(player: Player)
local success, result = pcall(function()
return MarketplaceService:GetUserSubscriptionStatusAsync(player, SUBSCRIPTION_ID)
end)
if not success then
print(`Error fetching subscription status: {result}`)
return
end
if result.IsSubscribed then
awardBenefit(player)
else
revokeBenefitIfGranted(player)
end
end
local function onPlayerAdded(player: Player)
local success, result = pcall(function()
return MarketplaceService:UserOwnsGamePassAsync(player.UserId, LEGACY_GAME_PASS_ID)
end)
if not success then
print(`Error fetching game pass status: {result}`)
return
end
if result then
-- Si le joueur a acheté le passelegacy, nous n'avons pas besoin de vérifier son statut d'abonnement
-- comme ils ont le bénéfice accordé pour la vie
awardBenefit(player)
return
end
checkSubscriptionStatus(player)
end
local function onUserSubscriptionStatusChanged(player: Player, subscriptionId: string)
if subscriptionId == SUBSCRIPTION_ID then
checkSubscriptionStatus(player)
end
end
local function onPromptGamePassPurchaseFinished(player: Player, purchasedPassID: number, purchaseSuccess: boolean)
if purchaseSuccess and purchasedPassID == LEGACY_GAME_PASS_ID then
awardBenefit(player)
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
Players.UserSubscriptionStatusChanged:Connect(onUserSubscriptionStatusChanged)
-- Nous continuerons à écouter les achats de passes de jeu dans le jeu au cas où le passe de jeu serait toujours en offre
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptGamePassPurchaseFinished)

Inviter les achats de souscription

Bien que les utilisateurs puissent acheter des abonnements directement à partir d'une page Détails du jeu d'une expérience, vous devriez également ajouter un moyen d'acheter un abonnement dans le jeu.

Lorsque vous demandez un acheterd'abonnement, Players.UserSubscriptionStatusChanged s'exécute si le joueur possède déjà l'abonnement, ce qui aide à attraper les scénarios où un joueur achète un abonnement à partir de la page Détails du jeu pendant qu'il est déjà dans le jeu.

Bien que vous puissiez inviter un achat de souscripción du serveur, il doit être vérifié si un utilisateur a déjà un abonnement via MarketplaceService.GetUserSubscriptionStatusAsync.

Cet exemple crée un RemoteFunction que le client peut utiliser pour demander le statut d'un abonnement :


--Ce code devrait s'exécuter sur le serveur
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Créez une fonction à distance que le client peut utiliser pour demander le statut de l'abonnement
local getSubscriptionStatusRemote = Instance.new("RemoteFunction")
getSubscriptionStatusRemote.Name = "GetSubscriptionStatus"
getSubscriptionStatusRemote.Parent = ReplicatedStorage
getSubscriptionStatusRemote.OnServerInvoke = function(player: Player, subscriptionId: string)
assert(typeof(subscriptionId) == "string")
return MarketplaceService:GetUserSubscriptionStatusAsync(player, subscriptionId)
end

-- Ce code devrait s'exécuter sur le client
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- Remplacez par votre ID de souscription
local getSubscriptionStatusRemote = ReplicatedStorage:WaitForChild("GetSubscriptionStatus")
local purchaseSubscriptionButton = script.Parent.PromptPurchaseSubscription -- Remplacez par votre bouton
local function playerHasSubscription()
-- Notez que votre abonnement remplace un game passe, vous devrez vérifier si le game pass est également possédé ici
local success, result = pcall(function()
return getSubscriptionStatusRemote:InvokeServer(SUBSCRIPTION_ID)
end)
if not success then
print(`Error fetching subscription status: {result}`)
return
end
return result.IsSubscribed
end
-- Masque le bouton si le joueur a déjà le abonnement
local function hideButtonIfPlayerHasSubscription()
if playerHasSubscription() then
purchaseSubscriptionButton.Visible = false
end
end
local function onPromptSubscriptionPurchaseFinished(player: Player, subscriptionId: string, didTryPurchasing: boolean)
if didTryPurchasing then
-- Il peut prendre un certain temps pour que la souscription soit enregistrée, alors nous vérifierons si l'achat a lieu dans 10 secondes
-- et masquer le bouton s'il en a
task.delay(10, hideButtonIfPlayerHasSubscription)
end
end
-- Si le joueur a déjà le subscription, nous ne voulons pas afficher le bouton du tout
hideButtonIfPlayerHasSubscription()
purchaseSubscriptionButton.Activated:Connect(function()
MarketplaceService:PromptSubscriptionPurchase(Players.LocalPlayer, SUBSCRIPTION_ID)
-- Si le joueur a déjà le subscription, masquer le bouton
hideButtonIfPlayerHasSubscription()
end)
MarketplaceService.PromptSubscriptionPurchaseFinished:Connect(onPromptSubscriptionPurchaseFinished)

Autres fonctions pertinentes

D'autres fonctions pertinentes sont disponibles dans MarketplaceService :

Gagner avec des abonnements

Les abonnements sont facturés en monnaie locale, mais vous gagnez des Robux à un taux de US $0,01 à 1 Robux en fonction du prix de la plate-forme que vous avez sélectionné pour l'abonnement après les frais de plate-forme. Roblox facture des frais de plate-forme de 30 % pour le premier mois uniquement, ce qui signifie que vous recevez les revenus complets de l'abonnement à partir du deuxième mois. Ce revenu est réparti sur toutes les plates-formes.

Par exemple, si un utilisateur s'abonne au prix de base de 9,99 $ (sur le bureau) ou de 12,99 $ (sur le mobile) :

  • Premier mois : Le créateur de l'abonnement reçoit 999 * .7 = 699 (bureau) ou 1299 * .7 = 909 (Android).
  • Deuxième mois à partir de : Le créateur de l'abonnement reçoit 999 = 999 (bureau) ou 1299 = 1299 (Mobile).

Les gains sont soumis à des retenues de 30 jours et seront ajoutés à votre solde Robux après la fin du terme complet de l'abonnement. Si un utilisateur demande un remboursement pour un abonnement via son banque ou sa boutique d'应用 dans la période de rétention de 30 jours, la retenue sera annulée et vous ne recevrez pas le paiement pour cette transaction.

Les remboursements reçus en dehors de la fenêtre d'attente entraîneront le montant de paiement pour la transaction remboursée qui sera déduite de votre solde Robux. Si votre expérience appartient à un groupe et que son solde est inférieur au montant à déduire, le reste sera déduit du solde du propriétaire du groupe.

Les utilisateurs qui annulent leur abonnement actif et échouent à le renouveler ne génèrent pas automatiquement un remboursement. Les utilisateurs doivent demander manuellement un remboursement, ce qui est géré sur une base cas par cas. Pour plus d'informations sur le processus de remboursement des abonnements de l'utilisateur, consultez le centre d'aide.

Paiements des abonnements

Les paiements sont trouvés dans Robux Balance > Mes transactions :

Les abonnements et la sous-licence de groupe apparaissent sous Incoming Robux, tandis que les remboursements sont groupés sous 0> Outgoing0> Robux en tant que 3> Paiement à l'envers 3>. Les sous-catégories et les sous-catégories des abonnements et des groupes de sous-catégories fournissent des informations supplémentaires pour leurs catégories respectives.

Pour afficher les informations de remboursement des utilisateurs individuels, utilisez MarketplaceService:GetUserSubscriptionPaymentHistoryAsync() .

Analyse des abonnements

Analyse des abonnements vous aide à évaluer le succès des abonnements individuels, à identifier les tendances et à prévoir les gains potentiels à l'avenir. Les abonnements sont ajoutés à la page d'analyse des abonnements après la première fois qu'ils sont activés et ne sont pas supprimés lorsqu'ils sont désactivés ou supprimés. Vous pouvez accéder aux mises à jour d'abonnement prêtes à l'emploi via la page de tableau de bord du créateur, ou vous

Via le tableau de bord du créateur

Pour accéder à l'analyse des abonnements sur le tableau de bord du créateur :

  1. Accédez à votre page Créations sur Tableau de bord du créateur et sélectionnez votre expérience.

  2. Accédez à l'onglet monétisation et sélectionnez sous-crivez.

L'analyse des abonnements suit les mesures suivantes :

  • Abonnements : le montant total d'abonnements actifs dans votre expérience.
  • Estimated Revenue: Le revenu net gagné par les expériences après les frais. Ne inclut pas les informations de remboursement.
  • Désagrément des abonnés : Les différents types d'abonnés.
    • Nouveau : le nombre d'achats de forfait par les nouveaux abonnés.
    • Renouvelé : le nombre de subscriptions de renouvellement achetées dans une période antérieure.
    • Résurrection : le nombre de nouvelles abonnements achetés par les utilisateurs qui avaient auparavant annulé.
  • Annulations : le nombre de subscriptions qui n'ont pas été renouvelées. Cela inclut tous les abonnements, qu'il s'agisse d'annulations d'utilisateur, de désactivation d'abonnement par le créateur ou par d'autres moyens.
    • Les annulations sont différentes des remboursements. Les abonnements annulés sont des abonnements qui ne seront plus renouvelés mais qui sont payés en totalité pour le reste du cycle de facturation, tandis que les remboursements retournent le montant des abonnements payants au client.
  • Abonnements par plate-forme : le nombre d'abonnements achetés sur chaque plateforme.
  • Gains de plate-forme : Les revenus nets gagnés grâce aux abonnements achetés sur chaque plateforme.

Cette information est visible sous forme de courbes basées sur une tranche de date sous l'onglet Tendances et d'une liste complète de sous-abonnements offerts sous l'onglet Historique.

Via les Webhook

La fonction Cloud API Webhook inclut des déclencheurs pour quatre événements d'abonnement : annulé, acheté, remboursé et renouvelé. Ces notifications se déclenchent immédiatement, afin que vous puissiez répondre en temps réel ou créer votre propre analyse personnalisée. Pour plus d'informations sur la façon de configurer un webhook, voir Notifications de webhook.