From 282aaeadf4b20c2c7613600c6052043ad05b98f4 Mon Sep 17 00:00:00 2001 From: huyufei Date: Mon, 18 Mar 2024 15:51:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=87=AA=E6=89=93?= =?UTF-8?q?=E7=82=B9=E5=92=8C=20Consent=20=E7=9A=84=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E5=86=B2=E7=AA=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runtime/Script/Consent/GuruConsent.cs | 64 ++++++++++--------- 1 file changed, 34 insertions(+), 30 deletions(-) diff --git a/Runtime/GuruConsent/Runtime/Script/Consent/GuruConsent.cs b/Runtime/GuruConsent/Runtime/Script/Consent/GuruConsent.cs index 96727f1..d257169 100644 --- a/Runtime/GuruConsent/Runtime/Script/Consent/GuruConsent.cs +++ b/Runtime/GuruConsent/Runtime/Script/Consent/GuruConsent.cs @@ -1,9 +1,11 @@ + namespace Guru { using System; using System.Collections; using Newtonsoft.Json; + using Newtonsoft.Json.Linq; using UnityEngine; /// @@ -12,7 +14,7 @@ namespace Guru public class GuruConsent { // Guru Consent Version - public static string Version = "1.0.7"; + public static string Version = "1.0.8"; public static string Tag = "[GuruConsent]"; #region 公用接口 @@ -80,19 +82,41 @@ namespace Guru //------- message send to unity ---------- Debug.Log($"{Tag} get callback msg:\n{msg}"); - - var result = JsonConvert.DeserializeObject(msg); - - if (result != null && result.action == "gdpr") + try { - if (result.data != null) + var data = JsonConvert.DeserializeObject(msg); + if (data != null && data.TryGetValue("action", out var jAtc)) { - Debug.Log($"{Tag} --- status: {result.data.status} msg: {result.data.msg}"); - onCompleteHandler?.Invoke(result.data.status); - return; + if (jAtc.ToString() == "gdpr") + { + if(data.TryGetValue("data", out var jData)) + { + if (jData is JObject jObj) + { + int status = StatusCode.UNKNOWN; + string message = ""; + if (jObj.TryGetValue("status", out var jStatus)) + { + int.TryParse(jStatus.ToString(), out status); + } + if (jObj.TryGetValue("msg", out var jMsg)) + { + message = jMsg.ToString(); + } + Debug.Log($"{Tag} --- status: {status} msg: {message}"); + onCompleteHandler?.Invoke(status); + return; + } + } + + } } } - + catch (Exception ex) + { + Analytics.LogCrashlytics(ex); + } + Debug.LogError($"{Tag} Parse callback Error"); onCompleteHandler?.Invoke(StatusCode.UNKNOWN); } @@ -110,26 +134,6 @@ namespace Guru #region 常量定义 - /// - /// GDPR 状态对象 - /// - [Serializable] - internal class ConsentResult - { - public string action = ""; - public ConsentStatus data = null; - } - - /// - /// GDPR 状态对象 - /// - [Serializable] - internal class ConsentStatus - { - public int status; - public string msg; - } - /// /// Consent 状态 ///