驱蚊app
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

56 line
1.6 KiB

  1. using UnityEngine;
  2. using UnityEngine.Purchasing;
  3. using UnityEngine.Purchasing.Extension;
  4. public class IAPManager : MonoBehaviour, IDetailedStoreListener
  5. {
  6. private IStoreController controller;
  7. private IExtensionProvider extensions;
  8. private string productId = "your_product_id";
  9. void Start()
  10. {
  11. var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
  12. builder.AddProduct(productId, ProductType.Consumable);
  13. UnityPurchasing.Initialize(this, builder);
  14. }
  15. public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
  16. {
  17. this.controller = controller;
  18. this.extensions = extensions;
  19. Debug.Log("IAP 初始化成功");
  20. }
  21. public void OnInitializeFailed(InitializationFailureReason error)
  22. {
  23. Debug.LogError("IAP 初始化失败: " + error);
  24. }
  25. public void OnPurchaseFailed(Product product, PurchaseFailureDescription failureDescription)
  26. {
  27. Debug.LogError($"购买失败: {failureDescription.reason}");
  28. }
  29. public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e)
  30. {
  31. if (e.purchasedProduct.definition.id == productId)
  32. {
  33. Debug.Log("购买成功: " + e.purchasedProduct.definition.id);
  34. // 处理道具发放逻辑
  35. }
  36. return PurchaseProcessingResult.Complete;
  37. }
  38. public void OnInitializeFailed(InitializationFailureReason error, string message)
  39. {
  40. Debug.LogError("IAP 初始化失败: " + error);
  41. }
  42. public void OnPurchaseFailed(Product product, PurchaseFailureReason failureReason)
  43. {
  44. Debug.LogError($"购买失败: {failureReason}");
  45. }
  46. }