diff --git a/Assets/Script/SDKManager/AppSDKManager.cs b/Assets/Script/SDKManager/AppSDKManager.cs index 107fa94..fa36d0a 100644 --- a/Assets/Script/SDKManager/AppSDKManager.cs +++ b/Assets/Script/SDKManager/AppSDKManager.cs @@ -7,30 +7,30 @@ using Newtonsoft.Json; using UnityEngine; using WZ; -public class AppSDKManager : D_MonoSingleton +public class AppSDKManager : MonoBehaviour { - + public static AppSDKManager Instance; //包名 public const string PackageName = "com.rush.cash.earn.fast.real.money.game"; private void Awake() { - // 解析配置文件 + Instance = this; - } - - public void Init(Action action) - { - FileParse.Parse(); FireBaseSDKManager.Instance.Init(); AdjustManager.Instance.Init(); ShuShuMangage.Instance.Init(); + EFSdkManager.Instance.Init(); - AdsSDKManager.Instance.InitSDK(action); - } + public void Init(Action action) + { + AdsSDKManager.Instance.InitSDK(action); + } + + /// /// 协程 /// @@ -73,24 +73,20 @@ public class AppSDKManager : D_MonoSingleton public void LogEvent(string eventName) { - // ShuShuEvent.Instance.Track(eventName); - // FireBaseAnalyticsManager.Instance.LogEvent(eventName); + ShuShuEvent.Instance.Track(eventName); + FireBaseAnalyticsManager.Instance.LogEvent(eventName); } public void LogEvent(string eventName, string key1, object value1) { - // ShuShuEvent.Instance.Track(eventName, key1, value1); - // FireBaseAnalyticsManager.Instance.LogEvent(eventName, key1, value1); - } - - public void LogEvent(string eventName, string key1, object value1, string key2, object value2) - { - + ShuShuEvent.Instance.Track(eventName, key1, value1); + FireBaseAnalyticsManager.Instance.LogEvent(eventName, key1, value1); } public void LogEvent(string eventName, Dictionary extraInfo) { - + ShuShuEvent.Instance.Track(eventName, extraInfo); + FireBaseAnalyticsManager.Instance.LogEvent(eventName, extraInfo); } /// @@ -136,21 +132,37 @@ public class AppSDKManager : D_MonoSingleton public bool GetRemoteConfigBool(string key, bool defaultValue = false) { + if (Application.isEditor) + { + return defaultValue; + } return FireBaseRemoteConfigManager.Instance.GetRemoteConfigBool(key, defaultValue); } public int GetRemoteConfigInt(string key, int defaultValue = 0) { + if (Application.isEditor) + { + return defaultValue; + } return FireBaseRemoteConfigManager.Instance.GetRemoteConfigInt(key, defaultValue); } public string GetRemoteConfigString(string key, string defaultValue = "") { + if (Application.isEditor) + { + return defaultValue; + } return FireBaseRemoteConfigManager.Instance.GetRemoteConfigString(key, defaultValue); } public float GetRemoteConfigFloat(string key, float defaultValue = 0) { + if (Application.isEditor) + { + return defaultValue; + } return FireBaseRemoteConfigManager.Instance.GetRemoteConfigFloat(key, defaultValue); } diff --git a/Assets/Script/SDKManager/FirebaseManager/FireBaseAnalyticsManager.cs b/Assets/Script/SDKManager/FirebaseManager/FireBaseAnalyticsManager.cs index 708b304..088d15b 100644 --- a/Assets/Script/SDKManager/FirebaseManager/FireBaseAnalyticsManager.cs +++ b/Assets/Script/SDKManager/FirebaseManager/FireBaseAnalyticsManager.cs @@ -2,17 +2,19 @@ using System; using System.Collections.Generic; using Firebase.Analytics; +using Firebase.RemoteConfig; using Newtonsoft.Json; +using WZ; namespace WZ -{ +{ /// /// Firebase analytics事件上报 /// public class FireBaseAnalyticsManager : NormalSingleton { private const string KEY_SUPER_PROPERTIES = "KEY_SUPER_PROPERTIES"; - + private Dictionary superProperties = new Dictionary(); public void InitSuperProperties() @@ -23,23 +25,51 @@ namespace WZ superProperties = JsonConvert.DeserializeObject>(json); } } - - + public void LogEvent(string eventName) { - List parameterList = new List(); - if (superProperties != null) + var superProperties = GetSuperProperties(); + if (superProperties.Count > 0) { - foreach (var superProperty in superProperties) - { - Parameter parameter = new Parameter(superProperty.Key, superProperty.Value.ToString()); - parameterList.Add(parameter); - } + FirebaseAnalytics.LogEvent(eventName, superProperties.ToArray()); + } + else + { + FirebaseAnalytics.LogEvent(eventName); } - - FirebaseAnalytics.LogEvent(eventName, parameterList.ToArray()); } + public void LogEvent(string eventName, string key1, object value1) + { + List parameters = new List(); + parameters.Add(GetParameter(key1, value1)); + + foreach (var superProperty in GetSuperProperties()) + { + parameters.Add(superProperty); + } + + FirebaseAnalytics.LogEvent(eventName, parameters.ToArray()); + } + + public void LogEvent(string eventName, Dictionary dict) + { + List parameters = new List(); + foreach (var item in dict) + { + Parameter parameter = GetParameter(item.Key, item.Value); + parameters.Add(parameter); + } + + foreach (var superProperty in GetSuperProperties()) + { + parameters.Add(superProperty); + } + + FirebaseAnalytics.LogEvent(eventName, parameters.ToArray()); + } + + public void LogEvent(string eventName, Dictionary dict) { List parameters = new List(); @@ -48,7 +78,13 @@ namespace WZ Parameter parameter = new Parameter(item.Key, item.Value); parameters.Add(parameter); } - Firebase.Analytics.FirebaseAnalytics.LogEvent(eventName, parameters.ToArray()); + + foreach (var superProperty in GetSuperProperties()) + { + parameters.Add(superProperty); + } + + FirebaseAnalytics.LogEvent(eventName, parameters.ToArray()); } /// @@ -58,9 +94,9 @@ namespace WZ /// public void SetUserProperty(string name, string property) { - Firebase.Analytics.FirebaseAnalytics.SetUserProperty(name, property); + FirebaseAnalytics.SetUserProperty(name, property); } - + /// /// 设置用户属性 /// @@ -72,7 +108,7 @@ namespace WZ { SetUserProperty(property.Key, property.Value.ToString()); } - + } /// @@ -90,11 +126,29 @@ namespace WZ { superProperties[property.Key] = property.Value; } - + string json = JsonConvert.SerializeObject(superProperties); PlayerPrefsUtils.SavePlayerPrefsString(KEY_SUPER_PROPERTIES, json); } + /// + /// 获取公共事件属性,每次上报都带上 + /// + /// + private List GetSuperProperties() + { + List parameterList = new List(); + if (superProperties != null) + { + foreach (var superProperty in superProperties) + { + Parameter parameter = GetParameter(superProperty.Key, superProperty.Value); + parameterList.Add(parameter); + } + } + + return parameterList; + } /// /// FireBase收益上报 @@ -109,21 +163,21 @@ namespace WZ public void OnAdRevenueEvent(string ad_platform, string ad_source, string ad_unit_name, AdsType ad_format, double revenue, string position, int number) { var impressionParameters = new[] { - new Firebase.Analytics.Parameter("ad_platform", ad_platform), - new Firebase.Analytics.Parameter("ad_source", ad_source), - new Firebase.Analytics.Parameter("ad_unit_name",ad_unit_name), - new Firebase.Analytics.Parameter("ad_format", ad_format.ToString()), - new Firebase.Analytics.Parameter("value", revenue), - new Firebase.Analytics.Parameter("currency", "USD"), // All AppLovin revenue is sent in USD - new Firebase.Analytics.Parameter("position", position), - new Firebase.Analytics.Parameter("number", number), - }; + new Firebase.Analytics.Parameter("ad_platform", ad_platform), + new Firebase.Analytics.Parameter("ad_source", ad_source), + new Firebase.Analytics.Parameter("ad_unit_name",ad_unit_name), + new Firebase.Analytics.Parameter("ad_format", ad_format.ToString()), + new Firebase.Analytics.Parameter("value", revenue), + new Firebase.Analytics.Parameter("currency", "USD"), // All AppLovin revenue is sent in USD + new Firebase.Analytics.Parameter("position", position), + new Firebase.Analytics.Parameter("number", number), + }; string name = GetName(); Firebase.Analytics.FirebaseAnalytics.LogEvent(name, impressionParameters); AdsKeyEvents.Instance.LogAdCountEvents(ad_format, revenue); } - + /// /// 收益分离 /// @@ -132,7 +186,7 @@ namespace WZ { string name = "ad_impression"; //获取在线参数 - string json = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("revenue_fir"); + string json = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("revenue_fir"); if (string.IsNullOrEmpty(json)) { return name; @@ -165,5 +219,35 @@ namespace WZ return name; } + + private Parameter GetParameter(string key, object value) + { + Type type = value.GetType(); + + // 根据类型进行转换 + if (type == typeof(string)) + { + return new Parameter(key, value as string); + } + if (type == typeof(int)) + { + return new Parameter(key, (int)value); + } + if (type == typeof(float)) + { + return new Parameter(key, (float)value); + } + if (type == typeof(long)) + { + return new Parameter(key, (long)value); + } + if (type == typeof(double)) + { + return new Parameter(key, (double)value); + } + + return new Parameter(key, value as string); + } } -} \ No newline at end of file +} +