表示可在应用内购买的商品。
下面是将示例商店类与商品引用配合使用的示例。
using System; using UnityEngine; using UnityEngine.Purchasing;
public class MyStoreClass : MonoBehaviour, IStoreListener { static string kProductID100Currency = "virtualcurrency_100"; IStoreController m_StoreController; void Awake() { ConfigurationBuilder builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance()); builder.AddProduct(kProductID100Currency, ProductType.Consumable); UnityPurchasing.Initialize(this, builder); }
public void PurchaseCurrency() { if (m_StoreController != null) { // Fetch the currency Product reference from Unity Purchasing Product product = m_StoreController.products.WithID(kProductID100Currency); if (product != null && product.availableToPurchase) { m_StoreController.InitiatePurchase(product); } } }
public void OnInitialized(IStoreController controller, IExtensionProvider extensions) { m_StoreController = controller; }
public void OnInitializeFailed(InitializationFailureReason error) {} public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e) { if (String.Equals(e.purchasedProduct.definition.id, kProductID100Currency, StringComparison.Ordinal)) { Debug.Log("Purchased 100 coins"); } return PurchaseProcessingResult.Complete; }
public void OnPurchaseFailed(Product item, PurchaseFailureReason r) {} }
availableToPurchase | 根据商店子系统确定此商品是否可购买。 |
definition | 不可变的基本商品属性。 |
hasReceipt | 所拥有的非消耗品和订阅内容应始终有收据。 |
metadata | 商店系统提供的本地化元数据。 |
receipt | 此商品的购买收据(如果拥有);否则为 null。 |
transactionID | 此商品交易的唯一标识符(如果有);否则为 null。 |
Equals | 用于集合的定义的等式。 |
GetHashCode | 用于集合的定义的 GetHashCode。 |