From 3d9d027e89c21a7dabd16658f2e40e3f4321b24d Mon Sep 17 00:00:00 2001 From: huyufei Date: Mon, 1 Jul 2024 09:49:52 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20Adjust=20?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E9=87=8D=E5=A4=8D=E4=B8=8A=E6=8A=A5=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E4=B8=BA=E8=B0=83=E7=94=A8=E6=8E=A5=E5=8F=A3=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=20revenue=20=E6=B2=A1=E6=9C=89=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E7=9A=84=20BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: huyufei --- .../Analytics/Analytics.TemplateDefine.cs | 54 ++++++++++++++----- .../GuruCore/Runtime/Analytics/Analytics.cs | 38 +++++++++++++ 2 files changed, 79 insertions(+), 13 deletions(-) diff --git a/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs b/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs index 764ff56..c8d2486 100644 --- a/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs +++ b/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs @@ -1,4 +1,4 @@ -using JetBrains.Annotations; + namespace Guru { @@ -621,6 +621,22 @@ namespace Guru string scene = orderData.scene; bool isFree = orderData.isFree; string offerId = orderData.offerId; + + string transactionId = ""; + string productToken = ""; + string receipt = ""; + + if (orderData is GoogleOrderData gdata) + { + productToken = gdata.token; + } + else if (orderData is AppleOrderData adata) + { + receipt = adata.receipt; + } + + + // TCH 001 Tch001IAPRev(usdPrice, productId, orderId, orderType, orderDate); // TCH 020 @@ -631,12 +647,12 @@ namespace Guru if (orderData.orderType == 1) { // sub_pruchase : Firebase + Guru + Adjust - SubPurchase(usdPrice, productId, orderId, orderDate); + SubPurchase(usdPrice, productId, orderId, orderDate, productToken, receipt); } else { // iap_purchase : Firebase + Guru + Adjust - IAPPurchase(usdPrice, productId, orderId, orderDate); + IAPPurchase(usdPrice, productId, orderId, orderDate, productToken, receipt); } // IAP Ret true : Firebase + Guru + Adjust @@ -655,20 +671,24 @@ namespace Guru /// /// /// - public static void IAPPurchase(double value, string productId, string orderId, string orderDate) + public static void IAPPurchase(double value, string productId, string orderId, string orderDate, + string purchaseToken = "", string receipt = "") { - IAPPurchaseReport(EventIAPPurchase, value, productId, orderId, "IAP", orderDate); + IAPPurchaseReport(EventIAPPurchase, value, productId, orderId, "IAP", orderDate, purchaseToken, receipt); } - public static void SubPurchase(double value, string productId, string orderId, string orderDate) + public static void SubPurchase(double value, string productId, string orderId, string orderDate, + string purchaseToken = "", string receipt = "") { - IAPPurchaseReport(EventSubPurchase, value, productId, orderId, "SUB", orderDate); + IAPPurchaseReport(EventSubPurchase, value, productId, orderId, "SUB", orderDate, purchaseToken, receipt); } - private static void IAPPurchaseReport(string eventName, double value, string productId, string orderId, string orderType, string orderDate) + private static void IAPPurchaseReport(string eventName, double value, string productId, string orderId, string orderType, string orderDate, + string purchaseToken = "", string receipt = "") { - LogEvent(eventName, new Dictionary() + + var dict = new Dictionary() { [ParameterPlatform] = IAPPlatform, [ParameterValue] = value, @@ -677,11 +697,19 @@ namespace Guru ["order_id"] = orderId, ["order_type"] = orderType, ["trans_ts"] = orderDate - }, new EventSetting() + }; + + // 上报Firebase + 自打点 + LogEvent(eventName, dict, new EventSetting() { EnableFirebaseAnalytics = true, }); + + + // 上报 Adjust 支付事件 + if (value > 0) { - EnableFirebaseAnalytics = true, - EnableAdjustAnalytics = true, - }); + // 根据事件名称来获取对应的事件Token(iap_purchase/sub_purchase) + LogAdjustRevenueEvent(eventName, value, productId, orderId, purchaseToken, receipt, dict); + } + } #endregion diff --git a/Runtime/GuruCore/Runtime/Analytics/Analytics.cs b/Runtime/GuruCore/Runtime/Analytics/Analytics.cs index a6dad54..9986dc8 100644 --- a/Runtime/GuruCore/Runtime/Analytics/Analytics.cs +++ b/Runtime/GuruCore/Runtime/Analytics/Analytics.cs @@ -248,6 +248,44 @@ namespace Guru } } + /// + /// 上报 Adjust 事件 + /// + /// + /// + /// + /// + /// + /// + /// + /// + internal static bool LogAdjustRevenueEvent(string eventName, double usdPrice, + string productId = "", string transactionId = "", string purchaseToken = "", string receipt = "", + Dictionary data = null ) + { + AdjustEvent adjustEvent = Analytics.CreateAdjustEvent(eventName); + if (adjustEvent != null) + { + adjustEvent.setRevenue(usdPrice, USD); + if (!string.IsNullOrEmpty(productId)) adjustEvent.setProductId(productId); + if (!string.IsNullOrEmpty(transactionId)) adjustEvent.setTransactionId(transactionId); + if (!string.IsNullOrEmpty(purchaseToken)) adjustEvent.setPurchaseToken(purchaseToken); + if (!string.IsNullOrEmpty(receipt)) adjustEvent.setReceipt(receipt); + + if (data != null && data.Count > 0) + { + foreach (var kv in data) + { + adjustEvent.AddEventParameter(kv.Key, kv.Value.ToString()); + } + } + + Adjust.trackEvent(adjustEvent); + return true; + } + return false; + } + #endregion #region 通用打点 From edcc533d33ac7495e5d21b422c92a8519376485e Mon Sep 17 00:00:00 2001 From: huyufei Date: Mon, 1 Jul 2024 12:36:55 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix=EF=BC=9A=20Adjust=20=E6=89=93=E7=82=B9?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=94=AF=E4=BB=98=E4=B9=9F=E4=BC=9A=E4=B8=8A?= =?UTF-8?q?=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: huyufei --- .../Runtime/Analytics/Analytics.TemplateDefine.cs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs b/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs index c8d2486..3c976d2 100644 --- a/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs +++ b/Runtime/GuruCore/Runtime/Analytics/Analytics.TemplateDefine.cs @@ -634,9 +634,7 @@ namespace Guru { receipt = adata.receipt; } - - - + // TCH 001 Tch001IAPRev(usdPrice, productId, orderId, orderType, orderDate); // TCH 020 @@ -704,11 +702,11 @@ namespace Guru // 上报 Adjust 支付事件 - if (value > 0) - { - // 根据事件名称来获取对应的事件Token(iap_purchase/sub_purchase) - LogAdjustRevenueEvent(eventName, value, productId, orderId, purchaseToken, receipt, dict); - } + // if (value > 0) + // { + // 根据事件名称来获取对应的事件Token(iap_purchase/sub_purchase) + LogAdjustRevenueEvent(eventName, value, productId, orderId, purchaseToken, receipt, dict); + // } }