From 0d9b96949bff6e2ae530184659406f2dcd16d08f Mon Sep 17 00:00:00 2001 From: luojian Date: Tue, 2 Sep 2025 18:08:26 +0800 Subject: [PATCH] =?UTF-8?q?adjust=20=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdjustManager/AdjustTrackEvent.cs | 75 +++++++++++++++++-- Assets/Script/SDKManager/AppSDKManager.cs | 7 ++ .../FireBaseRemoteConfigManager.cs | 13 ++-- .../FirebaseManager/FireBaseSDKManager.cs | 8 +- 4 files changed, 88 insertions(+), 15 deletions(-) diff --git a/Assets/Script/SDKManager/AdjustManager/AdjustTrackEvent.cs b/Assets/Script/SDKManager/AdjustManager/AdjustTrackEvent.cs index 5bd99f1..be5842a 100644 --- a/Assets/Script/SDKManager/AdjustManager/AdjustTrackEvent.cs +++ b/Assets/Script/SDKManager/AdjustManager/AdjustTrackEvent.cs @@ -1,11 +1,48 @@ -using AdjustSdk; -using Firebase.RemoteConfig; +using System.Collections.Generic; +using AdjustSdk; using Newtonsoft.Json; +using UnityEngine; using WZ; - public class AdjustTrackEvent : NormalSingleton { + private Dictionary eventTokenMap; + + + private string GetEventToken(string eventName) + { + if (eventTokenMap == null) + { + UpdateEventToken(); + } + + if (eventTokenMap == null || eventTokenMap.Count == 0) + { + return null; + } + + return eventTokenMap.GetValueOrDefault(eventName, null); + } + + public void UpdateEventToken() + { + var remoteConfigString = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("event_adjust_set"); + if (string.IsNullOrEmpty(remoteConfigString)) return; + + var deserializeObject = JsonConvert.DeserializeObject>(remoteConfigString); + if (eventTokenMap == null) + { + eventTokenMap = deserializeObject; + } + else + { + foreach (var keyValuePair in deserializeObject) + { + eventTokenMap[keyValuePair.Key] = keyValuePair.Value; + } + } + } + /// /// adjust事件上报 /// @@ -16,6 +53,32 @@ public class AdjustTrackEvent : NormalSingleton Adjust.TrackEvent(adjustEvent); } + /// + /// 会将eventName 转化成 token 进行上报 + /// + /// + /// + public void TrackEventName(string eventName, Dictionary extraInfo) + { + var eventToken = GetEventToken(eventName); + if (string.IsNullOrEmpty(eventToken)) + { + return; + } + + var adjustEvent = new AdjustEvent(eventToken); + if (extraInfo != null) + { + foreach (var keyValuePair in extraInfo) + { + adjustEvent.AddPartnerParameter(keyValuePair.Key, keyValuePair.Value.ToString()); + adjustEvent.AddCallbackParameter(keyValuePair.Key, keyValuePair.Value.ToString()); + } + } + + Adjust.TrackEvent(adjustEvent); + } + /// /// 广告收益上报 /// @@ -42,11 +105,12 @@ public class AdjustTrackEvent : NormalSingleton { string source = "applovin_max_sdk"; //获取在线参数 - string json = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("revenue_adj"); + string json = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("revenue_adj"); if (string.IsNullOrEmpty(json)) { return source; } + var revenueAdjs = JsonConvert.DeserializeObject(json); if (revenueAdjs == null && revenueAdjs.Length == 0) { @@ -59,8 +123,9 @@ public class AdjustTrackEvent : NormalSingleton { totalRate += item.rate; } + //开始随机 - int randomValue = UnityEngine.Random.Range(0, totalRate); + int randomValue = Random.Range(0, totalRate); int accumulatedRate = 0; //根据随机值定位 diff --git a/Assets/Script/SDKManager/AppSDKManager.cs b/Assets/Script/SDKManager/AppSDKManager.cs index dc7a1a4..2bc8b5d 100644 --- a/Assets/Script/SDKManager/AppSDKManager.cs +++ b/Assets/Script/SDKManager/AppSDKManager.cs @@ -158,18 +158,25 @@ public class AppSDKManager : D_MonoSingleton { ShuShuEvent.Instance.Track(eventName); FireBaseAnalyticsManager.Instance.LogEvent(eventName); + AdjustTrackEvent.Instance.TrackEventName(eventName, new Dictionary()); } public void LogEvent(string eventName, string key1, object value1) { ShuShuEvent.Instance.Track(eventName, key1, value1); FireBaseAnalyticsManager.Instance.LogEvent(eventName, key1, value1); + AdjustTrackEvent.Instance.TrackEventName(eventName, new Dictionary + { + [key1] = value1 + }); + } public void LogEvent(string eventName, Dictionary extraInfo) { ShuShuEvent.Instance.Track(eventName, extraInfo); FireBaseAnalyticsManager.Instance.LogEvent(eventName, extraInfo); + AdjustTrackEvent.Instance.TrackEventName(eventName, extraInfo); } /// diff --git a/Assets/Script/SDKManager/FirebaseManager/FireBaseRemoteConfigManager.cs b/Assets/Script/SDKManager/FirebaseManager/FireBaseRemoteConfigManager.cs index d132e66..b235b9a 100644 --- a/Assets/Script/SDKManager/FirebaseManager/FireBaseRemoteConfigManager.cs +++ b/Assets/Script/SDKManager/FirebaseManager/FireBaseRemoteConfigManager.cs @@ -10,14 +10,15 @@ namespace WZ { public void FetchRemoteConfig() { - Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => - { - if (task.Result == Firebase.DependencyStatus.Available) - { + // Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => + // { + // if (task.Result == Firebase.DependencyStatus.Available) + // { Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(TimeSpan.Zero).ContinueWithOnMainThread(task => { FirebaseRemoteConfig.DefaultInstance.ActivateAsync().ContinueWithOnMainThread(task => { + AdjustTrackEvent.Instance.UpdateEventToken(); // 获取广告位信息 AdConfigParser.Parse(GetRemoteConfigString("ad_config")); // 刷新广告位信息 @@ -36,8 +37,8 @@ namespace WZ // 检查Adjust归因 }); }); - } - }); + // } + // }); } private void GroupSet() diff --git a/Assets/Script/SDKManager/FirebaseManager/FireBaseSDKManager.cs b/Assets/Script/SDKManager/FirebaseManager/FireBaseSDKManager.cs index 75a8a9b..f1b7617 100644 --- a/Assets/Script/SDKManager/FirebaseManager/FireBaseSDKManager.cs +++ b/Assets/Script/SDKManager/FirebaseManager/FireBaseSDKManager.cs @@ -11,10 +11,10 @@ namespace WZ { public void Init() { - if (Application.isEditor) - { - return; - } + // if (Application.isEditor) + // { + // return; + // } InitSDK(); }