From 36892652da38c278ba2c931ca9d03a405f8bfb07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=89=E5=B3=B0?= Date: Sun, 31 Aug 2025 16:42:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=BF=9C=E7=A8=8B=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Script/SDKManager/AppSDKManager.cs | 28 ++++++++ .../Script/SDKManager/AppSDKManager.cs.meta | 11 +++ .../FireBaseRemoteConfigManager.cs | 70 +++++++++++-------- .../FirebaseManager/FireBaseSDKManager.cs | 16 ++--- 4 files changed, 82 insertions(+), 43 deletions(-) create mode 100644 Assets/Script/SDKManager/AppSDKManager.cs create mode 100644 Assets/Script/SDKManager/AppSDKManager.cs.meta diff --git a/Assets/Script/SDKManager/AppSDKManager.cs b/Assets/Script/SDKManager/AppSDKManager.cs new file mode 100644 index 0000000..c716151 --- /dev/null +++ b/Assets/Script/SDKManager/AppSDKManager.cs @@ -0,0 +1,28 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AppSDKManager : MonoBehaviour +{ + public static AppSDKManager Instance; + + private void Awake() + { + Instance = this; + + FireBaseSDKManager.Instance.Init(); + AdjustManager.Instance.Init(); + ShuShuMangage.Instance.Init(); + AdsSDKManager.Instance.InitSDK(); + + } + + /// + /// 协程 + /// + /// + public void Coroutine(IEnumerator coroutine) + { + StartCoroutine(coroutine); + } +} diff --git a/Assets/Script/SDKManager/AppSDKManager.cs.meta b/Assets/Script/SDKManager/AppSDKManager.cs.meta new file mode 100644 index 0000000..b1272ed --- /dev/null +++ b/Assets/Script/SDKManager/AppSDKManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d42e67765404c5c4f9d0a5df021643b9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/SDKManager/FirebaseManager/FireBaseRemoteConfigManager.cs b/Assets/Script/SDKManager/FirebaseManager/FireBaseRemoteConfigManager.cs index ad10f67..de96a04 100644 --- a/Assets/Script/SDKManager/FirebaseManager/FireBaseRemoteConfigManager.cs +++ b/Assets/Script/SDKManager/FirebaseManager/FireBaseRemoteConfigManager.cs @@ -1,12 +1,40 @@ using System; using System.Threading.Tasks; +using AdjustSdk; using Firebase; +using Firebase.Extensions; using Firebase.RemoteConfig; using SDK.Utils; using UnityEngine; public class FireBaseRemoteConfigManager : NormalSingleton { + public void FetchRemoteConfig() + { + Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task => + { + if (task.Result == Firebase.DependencyStatus.Available) + { + Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultInstance.FetchAsync(TimeSpan.Zero).ContinueWithOnMainThread(task => + { + FirebaseRemoteConfig.DefaultInstance.ActivateAsync().ContinueWithOnMainThread(task => + { + // adjust卸载监控 + + /* 执行到这时,表示firebase接入正常,能获取到远端在线参数 */ + + // 设置 firebase 初始化成功 flag + + // 初始化广告 + + // 检查Adjust归因 + }); + }); + } + }); + } + + /// /// 获取int参数 /// @@ -15,15 +43,10 @@ public class FireBaseRemoteConfigManager : NormalSingleton public async Task GetRemoteConfigInt(string key, int defaultValue = 0) { - if (!FireBaseSDKManager.Instance.IsInit) - { - return defaultValue; - } - try { - await FirebaseRemoteConfig.DefaultInstance.FetchAsync(TimeSpan.Zero); - await FirebaseRemoteConfig.DefaultInstance.ActivateAsync(); + // await FirebaseRemoteConfig.DefaultInstance.FetchAsync(TimeSpan.Zero); + // await FirebaseRemoteConfig.DefaultInstance.ActivateAsync(); // 获取值 var configValue = FirebaseRemoteConfig.DefaultInstance.GetValue(key); @@ -51,21 +74,16 @@ public class FireBaseRemoteConfigManager : NormalSingleton /// /// - public async Task GetRemoteConfigString(string key, string defaultValue = "") + public string GetRemoteConfigString(string key, string defaultValue = "") { - if (!FireBaseSDKManager.Instance.IsInit) - { - return defaultValue; - } - try { - await FirebaseRemoteConfig.DefaultInstance.FetchAsync(TimeSpan.Zero); - await FirebaseRemoteConfig.DefaultInstance.ActivateAsync(); - + // await FirebaseRemoteConfig.DefaultInstance.FetchAsync(TimeSpan.Zero); + // await FirebaseRemoteConfig.DefaultInstance.ActivateAsync(); // 获取值 var configValue = FirebaseRemoteConfig.DefaultInstance.GetValue(key); - + + Debug.Log(configValue.Source); if (configValue.Source == ValueSource.RemoteValue) { return configValue.StringValue; @@ -91,15 +109,10 @@ public class FireBaseRemoteConfigManager : NormalSingleton public async Task GetRemoteConfigBool(string key, bool defaultValue = false) { - if (!FireBaseSDKManager.Instance.IsInit) - { - return defaultValue; - } - try { - await FirebaseRemoteConfig.DefaultInstance.FetchAsync(TimeSpan.Zero); - await FirebaseRemoteConfig.DefaultInstance.ActivateAsync(); + // await FirebaseRemoteConfig.DefaultInstance.FetchAsync(TimeSpan.Zero); + // await FirebaseRemoteConfig.DefaultInstance.ActivateAsync(); // 获取值 var configValue = FirebaseRemoteConfig.DefaultInstance.GetValue(key); @@ -129,15 +142,10 @@ public class FireBaseRemoteConfigManager : NormalSingleton public async Task GetRemoteConfigBool(string key, float defaultValue = 0) { - if (!FireBaseSDKManager.Instance.IsInit) - { - return defaultValue; - } - try { - await FirebaseRemoteConfig.DefaultInstance.FetchAsync(TimeSpan.Zero); - await FirebaseRemoteConfig.DefaultInstance.ActivateAsync(); + // await FirebaseRemoteConfig.DefaultInstance.FetchAsync(TimeSpan.Zero); + // await FirebaseRemoteConfig.DefaultInstance.ActivateAsync(); // 获取值 var configValue = FirebaseRemoteConfig.DefaultInstance.GetValue(key); diff --git a/Assets/Script/SDKManager/FirebaseManager/FireBaseSDKManager.cs b/Assets/Script/SDKManager/FirebaseManager/FireBaseSDKManager.cs index 463a993..abeee38 100644 --- a/Assets/Script/SDKManager/FirebaseManager/FireBaseSDKManager.cs +++ b/Assets/Script/SDKManager/FirebaseManager/FireBaseSDKManager.cs @@ -1,6 +1,8 @@ +using System; using System.Collections; using System.Collections.Generic; using Firebase; +using Firebase.RemoteConfig; using SDK.Utils; using UnityEngine; @@ -13,18 +15,8 @@ public class FireBaseSDKManager : NormalSingleton InitSDK(); } - private async void InitSDK() + private void InitSDK() { - var dependencyStatus = await FirebaseApp.CheckAndFixDependenciesAsync(); - - if (dependencyStatus == DependencyStatus.Available) - { - IsInit = true; - Debug.Log("Firebase initialized successfully (without Remote Config defaults)"); - } - else - { - Debug.LogError($"Could not resolve Firebase dependencies: {dependencyStatus}"); - } + FireBaseRemoteConfigManager.Instance.FetchRemoteConfig(); } }