驱蚊app
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

58 行
1.7 KiB

  1. using System;
  2. using UnityEngine;
  3. using UnityEngine.Purchasing;
  4. using UnityEngine.Purchasing.Extension;
  5. public class IAPManager : MonoBehaviour, IDetailedStoreListener
  6. {
  7. private IStoreController controller;
  8. private IExtensionProvider extensions;
  9. private string subscriptionId = "com.yourapp.sub.month";
  10. void Start()
  11. {
  12. var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
  13. builder.AddProduct(subscriptionId, ProductType.Subscription);
  14. UnityPurchasing.Initialize(this, builder); // 使用新版接口
  15. }
  16. public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
  17. {
  18. this.controller = controller;
  19. this.extensions = extensions;
  20. Debug.Log("IAP 初始化成功");
  21. }
  22. public void OnInitializeFailed(InitializationFailureReason error)
  23. {
  24. Debug.LogError("IAP 初始化失败: " + error);
  25. }
  26. public void OnInitializeFailed(InitializationFailureReason error, string message)
  27. {
  28. Debug.LogError($"详细失败信息: {error} - {message}");
  29. }
  30. public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args)
  31. {
  32. if (args.purchasedProduct.definition.id == subscriptionId)
  33. {
  34. Debug.Log("订阅成功!");
  35. // 解锁功能
  36. }
  37. return PurchaseProcessingResult.Complete;
  38. }
  39. public void OnPurchaseFailed(Product product, PurchaseFailureDescription failureDescription)
  40. {
  41. Debug.LogError($"购买失败: {failureDescription.message}");
  42. }
  43. public void OnPurchaseFailed(Product product, PurchaseFailureReason failureReason)
  44. {
  45. Debug.LogError($"购买失败: {failureReason}");
  46. }
  47. }