La page des produits est l'endroit où vous définissez les produits et les lots, et où vous prenez en compte les prix par défaut et les prix de vente.
Pour commencer, rendez-vous sur la page Produits du portail brainCloud.
Création d'un produit
Vous cliquerez sur [+ Ajouter un produit...] pour créer votre produit initial.
L'ID de l'item est un identifiant unique pour votre produit. Vous utiliserez cet identifiant dans les API brainCloud pour identifier votre produit.
Titre de votre produit.
Le champ "Catégorie" est facultatif et vous permet de catégoriser vos produits. Lors de vos échanges avec brainCloud, vous pouvez demander uniquement une catégorie de produits (notamment si vous avez défini de nombreux produits). Consultez l'API GetSalesInventoryByCategory() pour plus d'informations.
Description de votre produit.
Le type de produit détermine le type de produit que vous définissez. Cela dépend principalement de la boutique tierce à laquelle vous associez le produit.
Consommable – Produit à usage unique. Une fois acheté, ce produit sera consommé une seule fois. La plupart des produits appartiennent à cette catégorie.
Non consommable – Un produit qui ne peut jamais être consommé. Acheter un objet dans votre jeu qui ne peut jamais être utilisé (par exemple une épée spéciale) pourrait être un exemple de produit non consommable.
Abonnement – Un abonnement à un service proposé dans votre application. Là encore, cela dépend principalement de la configuration de l'item sur la boutique tierce, car les abonnements entraînent généralement des frais réguliers pour l'utilisateur.
Les monnaies attribuées configurent VC pour attribuer:
Type de monnaie : le type de monnaie virtuelle à attribuer
Valeur de la monnaie : le montant de monnaie virtuelle à attribuer
L'option "Items attribués" configure l'item à attribuer.
ID de définition de l'item : l'identifiant de définition de l'item à attribuer
Valeur de l'item : quantité d'items à attribuer
Points de prix : liste des prix de l’item. Nous configurerons ce champ dans la section suivante ; vous pouvez donc le laisser vide pour le moment.
Data: c'est-à-dire toutes les paires de données clé/valeur personnalisées que vous souhaitez associer au produit.
[Sauvegarder] une fois terminé
Ajouter un prix par défaut
Si vous venez de créer le produit, le bouton [Ajouter un prix] devrait déjà être visible. Sinon, sélectionnez un produit dans le tableau des produits du marché, assurez-vous qu'il est en mode "Modifier", puis cliquez sur le bouton [Ajouter un prix] .
Saisissez un prix par défaut qui servira au calcul des statistiques internes de brainCloud, telles que le revenue quotidien et total. Attention : il ne s'agit PAS du prix facturé à l'utilisateur. Ce dernier est défini ailleurs, en fonction de la boutique tierce intégrée. Vous pouvez également saisir ici les informations relatives à votre boutique tierce. En cas de doute, consultez les tutoriels "Intégration de boutiques tierces" dans la section du portail correspondant à votre boutique.
Cliquez sur Enregistrer.
Ensuite, nous pouvons sélectionner le prix que nous venons de créer comme prix par défaut. Notez qu'il vous faudra peut-être cliquer sur le bouton « Modifier » en haut de la boîte de dialogue du produit.
Cliquez sur Sauvegarder et c'est tout !
Pour les plus curieux d'entre vous, vous pouvez également vérifier que votre produit est bien retourné par l'appel d'API Product GetSalesInventory à l'aide de l'explorateur d'API de Cloud Code.
Conception
On sous-estime souvent l'effort à consacrer à la conception de produits. Voici quelques suggestions
.
Suggestions de conception :
Créez une gamme de produits de base pour définir une proposition de valeur phare. Cette gamme ne doit inclure qu'une seule monnaie.
Les produits de base, même plus chers, offrent un meilleur rapport qualité-prix.
Il peut être judicieux d'éviter de proposer un produit au prix d'un dollar, car il est difficile de le mettre en vente sur certaines plateformes.
Lors de la configuration d'un produit, il est recommandé de prévoir des prix réduits afin que, si vous décidez de lancer une promotion sur un produit de base, le prix de la promotion soit déjà fixé.
Lorsqu'on utilise une réduction pour stimuler les ventes, il est plus efficace de l'afficher sur la carte de l'offre afin que le client comprenne la valeur ajoutée. Par exemple : "50 % de réduction".
Les promotions fonctionnent de concert avec les produits pour proposer régulièrement à vos clients des offres spéciales. brainCloud exploite vos produits via les pages Conception > Promotions > Automatisées et Conception > Promotions > Programmées . Lorsque votre concepteur configure les produits de base, c'est le moment idéal pour qu'il configure également les produits associés à chaque promotion que vous souhaitez lancer.
Idées de produits promotionnels :
Voici quelques idées efficaces pour les offres groupées promotionnelles :Concevez une offre de bienvenue pour les nouveaux joueurs. Cette offre devrait se déclencher après le tutoriel et quelques minutes de jeu montrant l'intérêt du joueur pour votre jeu. Elle devrait inclure une combinaison d'items/de devises et présenter un excellent rapport qualité-prix par rapport à vos produits de base. Cette offre devrait être unique et limitée dans le temps. En général, ce type d'offre est plus efficace lorsqu'elle se situe entre 5 et 10 dollars.
En particulier, inclure un item cosmétique autrement impossible à obtenir dans un pack améliore les ventes de ce dernier. Cependant, il est conseillé de limiter les packs contenant un item cosmétique à une vente unique, car les joueurs pourraient ne pas juger utile d'acheter deux fois le même item cosmétique.
Créez une offre hebdomadaire avantageuse par rapport aux produits de base, à un prix réduit. La proposer uniquement le week-end la rend plus attractive. Exemple : "Boost du week-end".
Créez des offres ponctuelles lors des étapes clés de la carrière du joueur. Par exemple, lorsqu'il atteint le niveau 20, le niveau 30, etc. Bien que leur valeur doive être supérieure à celle des produits de base, le prix de ces offres peut être moyen à élevé, en fonction du temps de jeu investi.
Créez des packs saisonniers ponctuels (Pâques, Halloween, Noël, etc.) comprenant une sélection d'items. Les items cosmétiques correspondant à la saison sont très recherchés par les joueurs.
Créez une promotion temporaire basée sur les compétences à proposer lorsque le joueur démontre une maîtrise du jeu. Par exemple, offrez une récompense au meilleur joueur du classement hebdomadaire ou lorsqu'un joueur parvient à vaincre un boss redoutable.
Lors de la configuration des prix promotionnels, indiquez à la fois le prix de vente conseillé (prix de base) et le prix réduit que vous proposez. Définissez le prix de base comme prix par défaut. La réduction sera appliquée sur les pages Conception > Promotions > Automatisées et Conception > Promotions > Programmées.
Écrire le code
Maintenant que vous avez créé des produits à la fois sur le portail brainCloud et sur le portail de la boutique tierce, vous voudrez gérer les achats dans votre application.
Dans votre code client
Ajoutez le client brainCloud à votre application
Associez le client au tableau de bord
Authentifiez votre utilisateur sur brainCloud
Demandez le catalogue des produits.
Gérez la logique d'achat par des tiers.
Vous trouverez un exemple de Google Play ici .
Vérifiez les reçus retournés par les magasins tiers.
Consultez les autres appels liés aux succès pour votre application dans la documentation de l'API.
void Start()
{
// Unity
GameObject go = new GameObject();
_bc = go.AddComponent<BrainCloudWrapper>();
_bc.WrapperName = _wrapperName; // définir éventuellement un nom pour le wrapper
_bc.Init(); // Les données supplémentaires, telles que : _appId, _secret et _appVersion, sont extraites du plugin Unity brainCloud.
DontDestroyOnLoad(go); // conserver l'objet de jeu brainCloud lors des changements de scène
_bc.AuthenticateAnonymous((response, cbObject) => { GetSalesInventory(); });
}
List<string> salesPurchaseIds = new List<string>();
void GetSalesInventory() {
_bc.AppStoreService.GetSalesInventory("itunes", "{\"userCurrency\":\"USD\"}",
(response, cbObject) =>
{
var jsonMessage =
(Dictionary<string, object>) BrainCloud.JsonFx.Json.JsonReader.Deserialize(response);
var jsonData = (Dictionary<string, object>) jsonMessage["data"];
var productInventory = (Dictionary<string, object>[]) jsonData["productInventory"];
foreach (var product in productInventory)
{
var priceData = (Dictionary<string, object>) product["referencePrice"];
var ids = (Dictionary<string, object>[]) priceData["priceData"];
foreach (var id in ids)
{
// Récupérer l'ID nécessaire pour la plateforme actuelle. ex. iphone.
if (id["appId"].Equals("iphone"))
{
salesPurchaseIds.Add((string)id["itunesId"]);
}
}
}
ThirdPartyStorePurchase();
});
}
void ThirdPartyStorePurchase() {
// TODO Gérer les exigences de la boutique tierce pour effectuer un achat.
// Collecter les données du reçu fournies par la boutique.
var receiptData = "TODO";
// Une fois terminé, vérifier ces achats avec brainCloud
VerifyPurchase(receiptData);
}
void VerifyPurchase(string receiptData)
{
_bc.AppStoreService.VerifyPurchase("itunes", receiptData,
(response, cbObject) => { Debug.Log("Purchase Verified");},
(status, code, error, cbObject) => { Debug.Log("Receipt Error"); });
}




