API
CBSStoreModule.GetStoreTitles - Get all store title available for player. Get short stores information without items.
using CBS;
using CBS.Models;
using UnityEngine;
public class StoreExample : MonoBehaviour
{
private IStore Store { get; set; }
private void Start()
{
Store = CBSModule.Get<CBSStoreModule>();
Store.GetStoreTitles(OnGet);
}
private void OnGet(CBSGetStoreTitlesResult result)
{
if (result.IsSuccess)
{
var titles = result.StoreTitles;
foreach (var title in titles)
{
var storeID = title.ID;
var storeDisplayName = title.DisplayName;
var storeDescription = title.Description;
var customData = title.GetCustomData<CBSStoreCustomData>();
}
}
else
{
Debug.Log(result.Error.Message);
}
}
}
CBSStoreModule.GetStores - Get all stores available for player.
using CBS;
using CBS.Models;
using UnityEngine;
public class StoreExample : MonoBehaviour
{
private IStore Store { get; set; }
private void Start()
{
Store = CBSModule.Get<CBSStoreModule>();
Store.GetStores(OnGet);
}
private void OnGet(CBSGetStoresResult result)
{
if (result.IsSuccess)
{
var stores = result.Stores;
foreach (var store in stores)
{
var storeID = store.ID;
var storeDisplayName = store.DisplayName;
var storeDescription = store.Description;
var customData = store.GetCustomData<CBSStoreCustomData>();
var items = store.Items;
foreach (var item in items)
{
var itemID = item.ItemID;
var itemStoreID = item.StoreID;
var itemDisplayName = item.DisplayName;
var itemDescription = item.Description;
var hasQuantityLimit = item.HasQuantityLimit;
var limitation = item.Limitation;
var discounts = item.Discounts;
var prices = item.Prices;
var itemCustomData = item.GetCustomData<CBSStoreItemCustomData>();
}
}
}
else
{
Debug.Log(result.Error.Message);
}
}
}
CBSStoreModule.GetStoreByID - Get store by id if avalilable for player.
using CBS;
using CBS.Models;
using UnityEngine;
public class StoreExample : MonoBehaviour
{
private IStore Store { get; set; }
private void Start()
{
Store = CBSModule.Get<CBSStoreModule>();
var storeID = "storeID";
Store.GetStoreByID(storeID, OnGet);
}
private void OnGet(CBSGetStoreResult result)
{
if (result.IsSuccess)
{
var store = result.Store;
var storeID = store.ID;
var storeDisplayName = store.DisplayName;
var storeDescription = store.Description;
var customData = store.GetCustomData<CBSStoreCustomData>();
var items = store.Items;
foreach (var item in items)
{
var itemID = item.ItemID;
var itemStoreID = item.StoreID;
var itemDisplayName = item.DisplayName;
var itemDescription = item.Description;
var hasQuantityLimit = item.HasQuantityLimit;
var limitation = item.Limitation;
var discounts = item.Discounts;
var prices = item.Prices;
var itemCustomData = item.GetCustomData<CBSStoreItemCustomData>();
}
}
else
{
Debug.Log(result.Error.Message);
}
}
}
CBSStoreModule.GetStoreItemByID - Get specific item information from store.
using CBS;
using CBS.Models;
using UnityEngine;
public class StoreExample : MonoBehaviour
{
private IStore Store { get; set; }
private void Start()
{
Store = CBSModule.Get<CBSStoreModule>();
var storeID = "storeID";
var itemID = "store item id";
Store.GetStoreItemByID(storeID, itemID, OnGet);
}
private void OnGet(CBSGetStoreItemResult result)
{
if (result.IsSuccess)
{
var item = result.Item;
var itemID = item.ItemID;
var itemStoreID = item.StoreID;
var itemDisplayName = item.DisplayName;
var itemDescription = item.Description;
var hasQuantityLimit = item.HasQuantityLimit;
var limitation = item.Limitation;
var discounts = item.Discounts;
var prices = item.Prices;
var itemCustomData = item.GetCustomData<CBSStoreItemCustomData>();
}
else
{
Debug.Log(result.Error.Message);
}
}
}
CBSStoreModule.PurchaseStoreItem - Purchase store item with currencies.
using CBS;
using CBS.Models;
using UnityEngine;
public class StoreExample : MonoBehaviour
{
private IStore Store { get; set; }
private void Start()
{
Store = CBSModule.Get<CBSStoreModule>();
var storeID = "storeID";
var itemID = "store item id";
var currencyCode = "GD";
var cuurencyValue = 100;
Store.PurchaseStoreItem(itemID, storeID, currencyCode, cuurencyValue, OnPurchase);
}
private void OnPurchase(CBSPurchaseStoreItemResult result)
{
if (result.IsSuccess)
{
var itemID = result.ItemID;
var purchasedInstances = result.PurchasedInstances;
var purchasedCurrencies = result.PurchasedCurrencies;
var priceCode = result.PriceCode;
var priceValue = result.PriceValue;
var storeID = result.StoreID;
var limitationInfo = result.LimitationInfo;
}
else
{
Debug.Log(result.Error.Message);
}
}
}
CBSStoreModule.PurchaseStoreItemWithRealMoney - Purchase store item with real money. Required "CBSIAP" module enabled.
using CBS;
using CBS.Models;
using UnityEngine;
public class StoreExample : MonoBehaviour
{
private IStore Store { get; set; }
private void Start()
{
Store = CBSModule.Get<CBSStoreModule>();
var storeID = "storeID";
var itemID = "store item id";
Store.PurchaseStoreItemWithRealMoney(itemID, storeID, OnPurchase);
}
private void OnPurchase(CBSPurchaseStoreItemWithRMResult result)
{
if (result.IsSuccess)
{
var transactionID = result.TransactionID;
var itemID = result.ItemID;
var purchasedInstances = result.PurchasedInstances;
var purchasedCurrencies = result.PurchasedCurrencies;
var storeID = result.StoreID;
var limitationInfo = result.LimitationInfo;
}
else
{
Debug.Log(result.Error.Message);
}
}
}
CBSStoreModule.RevokeItemStoreLimitation - Revoke quantity limitation of item for player.
using CBS;
using CBS.Models;
using UnityEngine;
public class StoreExample : MonoBehaviour
{
private IStore Store { get; set; }
private void Start()
{
Store = CBSModule.Get<CBSStoreModule>();
var storeID = "storeID";
var itemID = "store item id";
Store.RevokeItemStoreLimitation(storeID, itemID, OnRevoke);
}
private void OnRevoke(CBSRevokeLimitationResult result)
{
if (result.IsSuccess)
{
var itemID = result.ItemID;
var storeID = result.StoreID;
}
else
{
Debug.Log(result.Error.Message);
}
}
}
CBSStoreModule.GetSpecialOffers - Get all special offers available for profile. Included "global offers" and "profile offers".
using CBS;
using CBS.Models;
using UnityEngine;
public class StoreExample : MonoBehaviour
{
private IStore Store { get; set; }
private void Start()
{
Store = CBSModule.Get<CBSStoreModule>();
Store.GetSpecialOffers(OnGet);
}
private void OnGet(CBSGetSpecialOffersResult result)
{
if (result.IsSuccess)
{
var offers = result.Offers;
foreach (var offer in offers)
{
var item = offer;
var itemID = item.ItemID;
var itemStoreID = item.StoreID;
var itemDisplayName = item.DisplayName;
var itemDescription = item.Description;
var hasQuantityLimit = item.HasQuantityLimit;
var limitation = item.Limitation;
var discounts = item.Discounts;
var prices = item.Prices;
var itemCustomData = item.GetCustomData<CBSStoreItemCustomData>();
var offerInstanceID = offer.OfferInstanceID;
var hasTimeLimit = offer.HasTimeLimit;
var duration = offer.Duration;
var offerEndDate = offer.OfferEndDate;
}
}
else
{
Debug.Log(result.Error.Message);
}
}
}
CBSStoreModule.GrantSpecialOfferToProfile - Grant special offer for profile. Required itemID from "Profile Special offers" section.
using CBS;
using CBS.Models;
using UnityEngine;
public class StoreExample : MonoBehaviour
{
private IStore Store { get; set; }
private void Start()
{
Store = CBSModule.Get<CBSStoreModule>();
var specialOfferItemID = "item id";
Store.GrantSpecialOfferToProfile(specialOfferItemID, OnGrant);
}
private void OnGrant(CBSSpecialOfferResult result)
{
if (result.IsSuccess)
{
var item = result.Offer;
var itemID = item.ItemID;
var itemStoreID = item.StoreID;
var itemDisplayName = item.DisplayName;
var itemDescription = item.Description;
var hasQuantityLimit = item.HasQuantityLimit;
var limitation = item.Limitation;
var discounts = item.Discounts;
var prices = item.Prices;
var itemCustomData = item.GetCustomData<CBSStoreItemCustomData>();
var offerInstanceID = item.OfferInstanceID;
var hasTimeLimit = item.HasTimeLimit;
var duration = item.Duration;
var offerEndDate = item.OfferEndDate;
}
else
{
Debug.Log(result.Error.Message);
}
}
}
Last updated