Objets virtuels
Comment ça marche
Les objets virtuels sont le contenu du jeu que vous pouvez vendre contre des devises réelles et de la monnaie virtuelle.
Fonctionnalités principales :
- Fixation de prix en devises réelles et en monnaie virtuelle.
- Configuration de catalogue à plusieurs niveaux.
- Détermination automatique de la devise et du pays de l’utilisateur.
- Limitation du nombre d’objets disponibles à l’achat.
- Limitation du temps d’affichage d’objets dans le magasin.
- Objets gratuits.
Caractéristiques de la configuration des prix :
- Le prix d’un objet peut être fixé à la fois en devises réelles et en monnaie virtuelle.
- Vous pouvez fixer des prix dans plusieurs devises réelles ou monnaies virtuelles. Veillez à sélectionner une devise par défaut dans ce cas.
- Vous pouvez créer un objet sans spécifier son prix en devises réelles ou en monnaie virtuelle. Si un tel objet est affiché dans le magasin, il sera disponible gratuitement pour les utilisateurs.
Restrictions de la configuration des prix :
- Vous ne pouvez pas créer un objet avec une valeur de prix nulle.
Il existe 3 types d’objets virtuels :
Objets virtuels consommables
Un objet consommable est un objet de l’inventaire que l’utilisateur peut avoir en grande quantité et peut acheter plusieurs fois. La quantité d’un tel objet diminue chaque fois que l’utilisateur le consomme.
Principales caractéristiques :
- Réapprovisionnement du stock des objets dans l’inventaire.
- Plusieurs instances du même objet sont stockées dans l’inventaire utilisateur.
- Peut être consommé côté client.
Exemple : Grenades, balles, etc.
Objets virtuels non consommables
Un objet non consommable est un objet de l’inventaire qui ne peut être obtenu ou acheté qu’une seule fois.
Principales caractéristiques :
- Les utilisateurs ne peuvent avoir qu’une seule unité de cet objet dans l’inventaire.
- L’objet ne peut pas être retiré de l’inventaire en étant consommé côté client. Il ne peut être retiré que par l’intermédiaire d’une méthode serveur.
Exemple : Accès à un lieu, statut, cosmétiques,
Objets à durée limitée
Un objet à durée limitée est un achat unique. L’utilisateur doit l’acheter à nouveau lorsque l’objet arrive à expiration.
Principales caractéristiques :
- Devient inactif lorsqu’il expire.
- L’utilisateur achète à nouveau cet objet pour l’activer.
Exemple :
Voir la recette Objets à durée limitée pour plus de détails.
Limiter le nombre d'objets disponibles à l'achat
L’achat d’objets peut être limité. Par exemple, vous pouvez limiter :
- le nombre d’objets par utilisateur ;
- les objets de bienvenue qui ne peuvent être achetés qu’une seule fois.
Si l’utilisateur a atteint la limite spécifiée, l’objet ne sera plus affiché dans le catalogue.
Vous pouvez afficher le nombre maximal d’objets disponibles pour l’utilisateur ainsi que le nombre d’objets restant.
Pour définir une limite d’achat lors de la création d’un objet dans le Compte éditeur, réglez l’option Limit number of times one user can buy this item sur On et spécifiez le nombre de fois que l’objet peut être acheté.
Utilisez les méthodes de la sous-section Catalog du groupe de méthodes Virtual Items & Currency pour obtenir des informations sur les objets.
Dans la réponse, vous recevrez les informations suivantes en plus des informations sur l’objet virtuel :
- le nombre maximum d’objets que l’utilisateur peut acheter ;
- le nombre restant d’objets que l’utilisateur peut acheter.
Pour en savoir plus sur la manière de définir ou de mettre à jour des restrictions, consultez les instructions Limites pour l’utilisateur.
Pour les utilisateurs non autorisés, le nombre maximum d’objets qu’ils peuvent acheter est toujours affiché. Pour afficher à l’utilisateur le nombre restant d’objets (sous réserve de la limite courante), passez les données d’autorisation de l’utilisateur lors de la requête de catalogue des objets à l’aide des méthodes de la sous-section Catalog du groupe de méthodes Virtual Items & Currency.
Pour un affiche correct du nombre d’objets disponibles pour l’utilisateur, configurez l’authentification.
- json
{
"items": [
{
"sku": "big_rocket",
"name": "Big Rocket",
"groups": [
{
"external_id": "accessory",
"name": "Accessory"
}
],
"attributes": [
{
"external_id": "stack_size",
"name": "Stack size",
"values": [
{
"external_id": "size_e3364991f92e751689a68b96598a5a5a84010b85",
"value": "5"
}
]
}
],
"type": "virtual_good",
"description": "Big Rocket - description",
"image_url": "https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png",
"is_free": false,
"price": {
"amount": "100.99",
"amount_without_discount": "100.99",
"currency": "USD"
},
"virtual_prices": [
{
"amount": 100,
"sku": "vc_test",
"is_default": true,
"amount_without_discount": 100,
"image_url": "http://image.png",
"name": "SHOTGUN FOR TRUE RAIDERS",
"type": "virtual_currency",
"description": "description"
}
],
"can_be_bought": true,
"inventory_options": {
"consumable": {
"usages_count": 1
},
"expiration_period": {
"type": "day",
"value": 1
}
},
"virtual_item_type": "non_renewing_subscription",
"limits": {
"per_user": {
"total": 5,
"available": 5
},
"per_item": null
},
}
Xsolla garantit que les limites ne sont pas dépassées et empêche les utilisateurs d’acheter plus d’objets que la limite fixée.
Lorsque l’utilisateur ouvre l’interface de paiement et paie pour un objet, toutes les commandes impayées contenant cet objet deviennent invalides.
Exemple : l’utilisateur ouvre le formulaire de paiement d’un objet soumis à une restriction d’achat dans plusieurs onglets du navigateur avant de payer. Cela entraîne automatiquement la création de plusieurs commandes pour le même objet. Après avoir payé l’objet dans un des onglets, Xsolla annulera toutes les commandes impayées portant sur le même objet.
Limiter la durée d'affichage des objets dans le magasin
Définissez la période d’affichage d’un objet dans le magasin pour :- maintenir la pertinence du catalogue à un moment donné, par exemple pendant les soldes des fêtes ;
- créer un objet à l’avance sans l’afficher dans le catalogue ;
- motiver l’utilisateur à acheter des objets en affichant un chronomètre à côté de ceux-ci.
periods[0].date_from
avec la date et l’heure de début de la période d’affichage du bien au formatYYYY-MM-DDThh:mm:ss±TMZ
, oùTMZ
est l’indicateur de fuseau horaire au formathh:mm
GMT ;periods[0].date_until
avec la date et l’heure de fin de la période d’affichage du bien au formatYYYY-MM-DDThh:mm:ss±TMZ
, oùTMZ
est l’indicateur de fuseau horaire au formathh:mm
GMT. Pour ne pas indiquer la fin de la période d’affichage du bien, passeznull
.
Vous pouvez définir plusieurs périodes pour l’affichage d’un objet dans le magasin. Pour ce faire, dans la méthode Create virtual item ou Update virtual item, passez un tableau contenant les dates de début et de fin de toutes les périodes.
Exemple :
"periods": [
{
"date_from": "2022-06-10T14:00:00+03:00",
"date_until": "2022-06-30T14:00:00+03:00"
},
{
"date_from": "2022-07-10T14:00:00+03:00",
"date_until": "2022-07-30T14:00:00+03:00"
},
{
"date_from": "2022-08-10T14:00:00+03:00",
"date_until": "2022-08-30T14:00:00+03:00"
}
]
Qui peut l'utiliser
- Les partenaires qui souhaitent configurer une économie de jeu ou une monétisation en ajoutant une monnaie virtuelle au jeu et en vendant des objets virtuels contre cette monnaie.
- Les partenaires qui ont intégré In-Game Store et qui souhaitent configurer un nouveau type de produit : les objets virtuels.
Comment configurer
Flux d'intégration
- Configurez les objets virtuels et les groupes d'objets virtuels.
- Configurez les restrictions régionales et les prix régionaux.
Configurer les objets virtuels et les groupes d'objets virtuels
Pour configurer les objets virtuels, vous devez d’abord configurer des groupes d’objets virtuels. Ces groupes vous permettent de structurer un catalogue à plusieurs niveaux. Les objets qui n’ont pas de groupe spécifié sont ajoutés au groupe
Pour configurer des objets virtuels et des groupes d’objets virtuels, vous pouvez :
Configuration dans le Compte éditeur
Configuration via appels API
Utilisez les appels API de la sous-sectionUne autorisation de base est requise pour utiliser les appels API. Passez le code Authorization:Basic <your_authorization_basic_key>
, où <your_authorization_basic_key>
est la paire merchant ID:API key encodée conformément à la norme Base64. Accédez au Compte éditeur pour trouver les paramètres suivants :
- Merchant ID est affiché :
- Dans la section Company settings > Company ;
- Dans l'URL de la barre d'adresse du navigateur sur n'importe quelle page du Compte éditeur. L'URL est au format suivant :
https://publisher.xsolla.com/<merchant ID>/<Publisher Account section>
.
- L'API key ne s'affiche dans le Compte éditeur qu'une seule fois lors de sa création, vous devez donc la conserver de votre côté. Vous pouvez créer une nouvelle clé dans les sections suivantes :
- Company settings > API keys ;
- Project settings > API keys.
Pour plus d’informations sur l’utilisation des clés API, consultez la référence API.
Recommandations principales :
- Enregistrez la clé API générée de votre côté. Lors de sa création dans le Compte éditeur, la clé API ne s’affiche qu’une seule fois.
- Gardez votre clé API secrète. Elle donne accès à votre compte personnel et à vos projets dans le Compte éditeur.
- Stockez la clé API sur votre serveur et non dans des fichiers binaires ou sur le client.
Si l’appel API nécessaire ne contient pas le paramètre de chemin project_id
, utilisez la clé API valide dans tous les projets de l’entreprise pour l’autorisation.
Utilisez les appels API de la sous-section
Utilisez l’appel API external_id
à l’appel
Configurer les restrictions et les prix régionaux
Pour définir des restrictions régionales pour les objets virtuels, passez aux appels- http
"regions": [{
“id”: “123”
}, {
“id”: “456”
}
]
Pour définir des prix régionaux pour les objets virtuels, passez aux appels
- http
"regional_prices": [{
“region_id”: “123”,
“country_iso”: “CHN”,
“amount”: 40,
“currency_iso”: “CNY”,
“is_default”: true,
“is_enabled”: true
}
]
Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.