|
- using System;
- using UnityEngine;
- using UnityEngine.Purchasing;
- using UnityEngine.Purchasing.Extension;
-
- public class IAPManager : MonoBehaviour, IDetailedStoreListener
- {
- private IStoreController controller;
- private IExtensionProvider extensions;
-
- private string subscriptionId = "com.yourapp.sub.month";
-
- void Start()
- {
- var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
- builder.AddProduct(subscriptionId, ProductType.Subscription);
-
- 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 OnInitializeFailed(InitializationFailureReason error, string message)
- {
- Debug.LogError($"详细失败信息: {error} - {message}");
- }
-
- public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args)
- {
- if (args.purchasedProduct.definition.id == subscriptionId)
- {
- Debug.Log("订阅成功!");
- // 解锁功能
- }
- return PurchaseProcessingResult.Complete;
- }
-
- public void OnPurchaseFailed(Product product, PurchaseFailureDescription failureDescription)
- {
- Debug.LogError($"购买失败: {failureDescription.message}");
- }
-
- public void OnPurchaseFailed(Product product, PurchaseFailureReason failureReason)
- {
- Debug.LogError($"购买失败: {failureReason}");
- }
- }
|