From 9c3795227c6638cdd5c05a02ea594ea14033041e Mon Sep 17 00:00:00 2001 From: huyufei Date: Tue, 12 Mar 2024 15:05:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20Android=20=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E5=88=9D=E5=A7=8B=E5=8C=96=20Restore=20=E5=90=8E?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E8=AE=A2=E5=8D=95=E4=B8=8A=E6=8A=A5=E7=9A=84?= =?UTF-8?q?=20BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Runtime/GuruIAP/Runtime/Code/IAPServiceBase.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Runtime/GuruIAP/Runtime/Code/IAPServiceBase.cs b/Runtime/GuruIAP/Runtime/Code/IAPServiceBase.cs index 9778fa0..92ff0d0 100644 --- a/Runtime/GuruIAP/Runtime/Code/IAPServiceBase.cs +++ b/Runtime/GuruIAP/Runtime/Code/IAPServiceBase.cs @@ -31,6 +31,8 @@ namespace Guru protected Dictionary Products => _products; public bool IsInitialized => _storeController != null && _storeExtensionProvider != null; + + private Product _curPurchasingProduct = null; /// /// 是否是首次购买 @@ -520,6 +522,8 @@ namespace Guru Analytics.IAPClick(info?.Category??"none", product.definition.id); Analytics.IAPImp(DefaultCategory, product.definition.id); + _curPurchasingProduct = product; + OnBuyStart?.Invoke(productName); return (T)this; } @@ -556,8 +560,12 @@ namespace Guru PurchaseCount++; // 记录支付次数 Debug.Log($"############ ProcessPurchase: PurchaseCount:{PurchaseCount}"); - ReportPurchaseResult(purchaseEvent); // 支付结果上报 - + if (_curPurchasingProduct != null) + { + _curPurchasingProduct = null; // 只有实际发生购买后才会有订单上报. 启动时的 Restore 操作自动调用支付成功. 这里做一个判定, 过滤掉订单的物品 + ReportPurchaseResult(purchaseEvent); // 支付结果上报 + } + var pp = purchaseEvent.purchasedProduct; if ( pp == null || string.IsNullOrEmpty(pp.receipt)) {