Product クラスは、IAP で購入されるプロダクトを表します。
以下は、Store クラスでのプロダクトへの参照の利用例です。
using System; using UnityEngine; using UnityEngine.Purchasing;
public class MyStoreClass : MonoBehaviour, IStoreListener { static string kProductID100Currency = "virtualcurrency_100"; IStoreController m_StoreController; void Start() { 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 | 常にレシートがある NonConsumable (非消耗型) や Subscription (購読) かどうか。 |
metadata | ストアのシステムによって提供されるローカライズされたメタデータ |
receipt | 可能な場合は、プロダクトの購入レシート。ない場合は null。 |
transactionID | ある場合は、このプロダクトのトランザクションの一意の識別子。ない場合は、null。 |