parent
							
								
									0f4433b493
								
							
						
					
					
						commit
						5bc24e3443
					
				|  | @ -140,6 +140,13 @@ namespace Guru | |||
|                     add => _onPurchaseStart += value; | ||||
|                     remove => _onPurchaseStart -= value; | ||||
|                 } | ||||
|                  | ||||
|                 internal static Action<string, string> _onPurchaseFailed; | ||||
|                 public static event Action<string, string> OnPurchaseFailed | ||||
|                 { | ||||
|                     add => _onPurchaseFailed += value; | ||||
|                     remove => _onPurchaseFailed -= value; | ||||
|                 } | ||||
| 
 | ||||
|             } | ||||
| 
 | ||||
|  |  | |||
|  | @ -4,10 +4,21 @@ namespace Guru | |||
|     using System; | ||||
|     using System.Linq; | ||||
|      | ||||
|      | ||||
|     public partial class GuruSDK | ||||
|     { | ||||
|         public static bool IsIAPReady = false; | ||||
| 
 | ||||
|         //---------- 支付失败原因 ---------- | ||||
|         public const string BuyFail_PurchasingUnavailable = "PurchasingUnavailable"; | ||||
|         public const string BuyFail_Pending = "ExistingPurchasePending"; | ||||
|         public const string BuyFail_ProductUnavailable = "ProductUnavailable"; | ||||
|         public const string BuyFail_SignatureInvalid = "SignatureInvalid"; | ||||
|         public const string BuyFail_UserCancelled = "UserCancelled"; | ||||
|         public const string BuyFail_PaymentDeclined = "PaymentDeclined"; | ||||
|         public const string BuyFail_DuplicateTransaction = "DuplicateTransaction"; | ||||
|         public const string BuyFail_Unknown = "Unknown"; | ||||
|          | ||||
|          | ||||
|          | ||||
|         /// <summary> | ||||
|         /// 初始化IAP 功能 | ||||
|  | @ -18,6 +29,7 @@ namespace Guru | |||
|             GuruIAP.Instance.OnRestored += OnRestored; | ||||
|             GuruIAP.Instance.OnBuyStart += OnBuyStart; | ||||
|             GuruIAP.Instance.OnBuyEnd += OnBuyEnd; | ||||
|             GuruIAP.Instance.OnBuyFailed += OnBuyFailed; | ||||
|              | ||||
|             GuruIAP.Instance.InitWithKeys(googleKey, appleRootCerts, IsDebugMode); | ||||
|         } | ||||
|  | @ -58,12 +70,22 @@ namespace Guru | |||
|             return null; | ||||
|         } | ||||
|          | ||||
|         public static ProductSetting GetProductSetting(string productName) | ||||
|         { | ||||
|             var products = GuruSettings.Instance.Products; | ||||
|             if (products != null && products.Length > 0) | ||||
|             { | ||||
|                 return products.FirstOrDefault(p => p.ProductName == productName);    | ||||
|             } | ||||
|             return null; | ||||
|         } | ||||
|          | ||||
|         private static Action<string, bool> _onPurchaseCallback; | ||||
|          | ||||
|         /// <summary> | ||||
|         /// 购买商品, 通过商品Name | ||||
|         /// </summary> | ||||
|         /// <param name="productId"></param> | ||||
|         /// <param name="productName"></param> | ||||
|         /// <param name="purchaseCallback"></param> | ||||
|         public static void Purchase(string productName, Action<string, bool> purchaseCallback = null) | ||||
|         { | ||||
|  | @ -97,15 +119,28 @@ namespace Guru | |||
|         /// </summary> | ||||
|         /// <param name="productId"></param> | ||||
|         /// <param name="success"></param> | ||||
|         private static void OnBuyEnd(string productId, bool success) | ||||
|         private static void OnBuyEnd(string productName, bool success) | ||||
|         { | ||||
|             _onPurchaseCallback?.Invoke(productId, success); | ||||
|             _onPurchaseCallback?.Invoke(productName, success); | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         private static void OnBuyStart(string productId) | ||||
|         /// <summary> | ||||
|         /// 支付开始 | ||||
|         /// </summary> | ||||
|         /// <param name="productName"></param> | ||||
|         private static void OnBuyStart(string productName) | ||||
|         { | ||||
|             Callbacks.IAP._onPurchaseStart?.Invoke(productId); | ||||
|             Callbacks.IAP._onPurchaseStart?.Invoke(productName); | ||||
|         } | ||||
|          | ||||
|         /// <summary> | ||||
|         /// 支付失败 | ||||
|         /// </summary> | ||||
|         /// <param name="productName"></param> | ||||
|         /// <param name="reason"></param> | ||||
|         private static void OnBuyFailed(string productName, string reason) | ||||
|         { | ||||
|             Callbacks.IAP._onPurchaseFailed?.Invoke(productName, reason); | ||||
|         } | ||||
| 
 | ||||
|         #endregion | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue