From 81cb45c46d3b7bb3cda406119f7c26b4a6e87e10 Mon Sep 17 00:00:00 2001 From: huyufei Date: Sun, 11 Aug 2024 17:38:37 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=20=E6=9B=B4=E6=96=B0=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E8=B5=8B=E5=80=BC=E7=9A=84=E4=BC=98=E5=85=88=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F=EF=BC=8C=20=E4=BF=AE=E5=A4=8D=E4=B8=A2=E5=A4=B1?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E7=9A=84=20BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: huyufei --- .../Analytics/Events/AbstractEventDriver.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Runtime/GuruCore/Runtime/Analytics/Events/AbstractEventDriver.cs b/Runtime/GuruCore/Runtime/Analytics/Events/AbstractEventDriver.cs index e27ee69..75f338d 100644 --- a/Runtime/GuruCore/Runtime/Analytics/Events/AbstractEventDriver.cs +++ b/Runtime/GuruCore/Runtime/Analytics/Events/AbstractEventDriver.cs @@ -113,12 +113,15 @@ namespace Guru /// private void FlushAll() { - while(_eventBuffer.Pop(out var trackingEvent)) + // #1. 先尝试执行所有预定义的用户属性 + foreach (var propertyAction in _predefinedPropertyDelayedActions) { - Debug.Log($"[ANU][GA] --- FlushAll Events: {trackingEvent.eventName}"); - FlushTrackingEvent(trackingEvent); + Debug.Log($"[ANU][GA] --- FlushAll predefined Properties: {propertyAction.key}:{ propertyAction}"); + propertyAction.Execute(); } + _predefinedPropertyDelayedActions.Clear(); + // #2. 设置所有的用户属性 foreach (var key in _userPropertyMap.Keys) { Debug.Log($"[ANU][GA] --- FlushAll Properties: {key}:{ _userPropertyMap[key]}"); @@ -126,13 +129,12 @@ namespace Guru } _userPropertyMap.Clear(); - - foreach (var propertyAction in _predefinedPropertyDelayedActions) + // #3. 发送所有的用户事件, 一定要在设置用户属性之后再调用事件, 这样才能携带所有的属性!! + while(_eventBuffer.Pop(out var trackingEvent)) { - Debug.Log($"[ANU][GA] --- FlushAll predefined Properties: {propertyAction.key}:{ propertyAction}"); - propertyAction.Execute(); + Debug.Log($"[ANU][GA] --- FlushAll Events: {trackingEvent.eventName}"); + FlushTrackingEvent(trackingEvent); } - _predefinedPropertyDelayedActions.Clear(); } ///