From 7dd2215f29fb4dc0c5d64953f8d09f8741756dee Mon Sep 17 00:00:00 2001 From: huyfei Date: Wed, 17 Jan 2024 20:55:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E7=9A=84=E6=8A=A5=E5=A4=B1=E8=B4=A5=E7=9A=84?= =?UTF-8?q?BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GuruIAP/Runtime/Code/IAPServiceBase.cs | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/Runtime/GuruIAP/Runtime/Code/IAPServiceBase.cs b/Runtime/GuruIAP/Runtime/Code/IAPServiceBase.cs index b23338b..7b13065 100644 --- a/Runtime/GuruIAP/Runtime/Code/IAPServiceBase.cs +++ b/Runtime/GuruIAP/Runtime/Code/IAPServiceBase.cs @@ -469,20 +469,24 @@ namespace Guru { string productId = purchaseEvent.purchasedProduct.definition.id; ProductInfo info = GetInfoById(productId); - - if (IsFirstIAP && null != info) + bool success = false; + + if (null != info) { - Analytics.FirstIAP(info.Id, info.Price, info.CurrencyCode); // 上报首次支付打点 + if (IsFirstIAP) Analytics.FirstIAP(info.Id, info.Price, info.CurrencyCode); // 上报首次支付打点 + Analytics.ProductIAP(info.Id,info.Id, info.Price, info.CurrencyCode); + Analytics.IAPRetTrue(info.Category, info.Id, info.Price, info.CurrencyCode, info.Type, info.IsFree); + success = true; } - - Analytics.ProductIAP(info.Id,info.Id, info.Price, info.CurrencyCode); - Analytics.IAPRetTrue(info.Category, info.Id, info.Price, info.CurrencyCode, info.Type, info.IsFree); - + PurchaseCount++; // 记录支付次数 ReportPurchaseResult(purchaseEvent); // 支付结果上报 - OnPurchaseOver(true, info.Name); // 支付成功处理逻辑 - OnBuyEnd?.Invoke(info.Name, false); + string productName = info?.Name ?? "NULL"; + LogI($"{Tag} --- OnPurchaseSuccess :: purchase count: {PurchaseCount} productName: {productName}"); + + OnPurchaseOver(success, productName); // 支付成功处理逻辑 + OnBuyEnd?.Invoke(productName, success); return PurchaseProcessingResult.Complete; } @@ -508,7 +512,7 @@ namespace Guru Analytics.IAPRetFalse(info.Category, product.definition.id, failureReason.ToString()); } - LogI("failureReason = " + failureReason); + LogI($"{Tag} --- OnPurchaseFailed :: failureReason = {failureReason}"); // 失败的处理逻辑 OnPurchaseOver(false, info.Name); OnBuyEnd?.Invoke(info.Name, false);