|
- using UnityEngine;
- using UnityEngine.Purchasing;
- using UnityEngine.Purchasing.Extension;
-
- public class IAPManager : MonoBehaviour, IDetailedStoreListener
- {
- private IStoreController controller;
- private IExtensionProvider extensions;
-
- private string productId = "your_product_id";
-
- void Start()
- {
- var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
- builder.AddProduct(productId, ProductType.Consumable);
- UnityPurchasing.Initialize(this, builder);
- }
-
- public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
- {
- this.controller = controller;
- this.extensions = extensions;
- Debug.Log("IAP 初始化成功");
- }
-
- public void OnInitializeFailed(InitializationFailureReason error)
- {
- Debug.LogError("IAP 初始化失败: " + error);
- }
-
- public void OnPurchaseFailed(Product product, PurchaseFailureDescription failureDescription)
- {
- Debug.LogError($"购买失败: {failureDescription.reason}");
- }
-
- public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e)
- {
- if (e.purchasedProduct.definition.id == productId)
- {
- Debug.Log("购买成功: " + e.purchasedProduct.definition.id);
- // 处理道具发放逻辑
- }
- return PurchaseProcessingResult.Complete;
- }
-
- public void OnInitializeFailed(InitializationFailureReason error, string message)
- {
- Debug.LogError("IAP 初始化失败: " + error);
- }
-
- public void OnPurchaseFailed(Product product, PurchaseFailureReason failureReason)
- {
- Debug.LogError($"购买失败: {failureReason}");
- }
- }
|