From 4da06c8f96770ced37a348dcb0a862a06497015c Mon Sep 17 00:00:00 2001 From: huyufei Date: Tue, 30 Jul 2024 20:31:41 +0800 Subject: [PATCH] =?UTF-8?q?update:=20deeplink=20=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=20Review?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --story=1021116 --user=yufei.hu 【中台】【SDK】新增 Adjust Deeplink 接口 https://www.tapd.cn/33527076/s/1160715 --- Runtime/Code/SDK/GuruSDK.Callbacks.cs | 54 +++++++++++++++++---------- Runtime/Code/SDK/GuruSDK.cs | 12 ++++-- 2 files changed, 43 insertions(+), 23 deletions(-) diff --git a/Runtime/Code/SDK/GuruSDK.Callbacks.cs b/Runtime/Code/SDK/GuruSDK.Callbacks.cs index 2c7b1d9..ccfb247 100644 --- a/Runtime/Code/SDK/GuruSDK.Callbacks.cs +++ b/Runtime/Code/SDK/GuruSDK.Callbacks.cs @@ -6,7 +6,7 @@ namespace Guru public partial class GuruSDK { - + /// /// 回调参数类 @@ -18,13 +18,14 @@ namespace Guru /// public static class App { + // TODO: 改为 Invoke 方法 internal static Action _onAppPaused; public static event Action OnAppPaused { add => _onAppPaused += value; remove => _onAppPaused -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onAppQuit; public static event Action OnAppQuit { @@ -47,6 +48,7 @@ namespace Guru add => _onConsentResult += value; remove => _onConsentResult -= value; } + // TODO: 改为 Invoke 方法 internal static Action _onConsentResult; /// @@ -57,6 +59,7 @@ namespace Guru add => _onAttResult += value; remove => _onAttResult -= value; } + // TODO: 改为 Invoke 方法 internal static Action _onAttResult; } @@ -66,6 +69,7 @@ namespace Guru /// public static class Ads { + // TODO: 改为 Invoke 方法 internal static Action _onAdsInitComplete; public static event Action OnAdsInitComplete { @@ -73,6 +77,7 @@ namespace Guru remove => _onAdsInitComplete -= value; } + // TODO: 改为 Invoke 方法 //------------ BANNER ----------------- internal static Action _onBannerADStartLoad; public static event Action OnBannerADStartLoad @@ -80,7 +85,7 @@ namespace Guru add => _onBannerADStartLoad += value; remove => _onBannerADStartLoad -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onBannerADLoaded; public static event Action OnBannerADLoaded { @@ -89,27 +94,28 @@ namespace Guru } //------------ INTER ----------------- + // TODO: 改为 Invoke 方法 internal static Action _onInterstitialADStartLoad; public static event Action OnInterstitialADStartLoad { add => _onInterstitialADStartLoad += value; remove => _onInterstitialADStartLoad -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onInterstitialADLoaded; public static event Action OnInterstitialADLoaded { add => _onInterstitialADLoaded += value; remove => _onInterstitialADLoaded -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onInterstitialADFailed; public static event Action OnInterstitialADFailed { add => _onInterstitialADFailed += value; remove => _onInterstitialADFailed -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onInterstitialADClosed; public static event Action OnInterstitialADClosed { @@ -118,27 +124,28 @@ namespace Guru } //------------ REWARD ----------------- + // TODO: 改为 Invoke 方法 internal static Action _onRewardedADStartLoad; public static event Action OnRewardedADStartLoad { add => _onRewardedADStartLoad += value; remove => _onRewardedADStartLoad -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onRewardedADLoaded; public static event Action OnRewardedADLoaded { add => _onRewardedADLoaded += value; remove => _onRewardedADLoaded -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onRewardADClosed; public static event Action OnRewardedADClosed { add => _onRewardADClosed += value; remove => _onRewardADClosed -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onRewardADFailed; public static event Action OnRewardADFailed { @@ -152,6 +159,7 @@ namespace Guru /// public static class Remote { + // TODO: 改为 Invoke 方法 internal static Action _onRemoteFetchComplete; public static event Action OnRemoteFetchComplete { @@ -165,41 +173,42 @@ namespace Guru /// public static class IAP { + // TODO: 改为 Invoke 方法 internal static Action _onIAPInitStart; public static event Action OnIAPInitStart { add => _onIAPInitStart += value; remove => _onIAPInitStart -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onIAPInitComplete; public static event Action OnIAPInitComplete { add => _onIAPInitComplete += value; remove => _onIAPInitComplete -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onPurchaseStart; public static event Action OnPurchaseStart { add => _onPurchaseStart += value; remove => _onPurchaseStart -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onPurchaseEnd; public static event Action OnPurchaseEnd { add => _onPurchaseEnd += value; remove => _onPurchaseEnd -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onPurchaseFailed; public static event Action OnPurchaseFailed { add => _onPurchaseFailed += value; remove => _onPurchaseFailed -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onIAPRestored; public static event Action OnIAPRestored { @@ -213,34 +222,35 @@ namespace Guru public static class SDK { + // TODO: 改为 Invoke 方法 internal static Action _onFirebaseReady; public static event Action OnFirebaseReady { add => _onFirebaseReady += value; remove => _onFirebaseReady -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onGuruServiceReady; public static event Action OnGuruServiceReady { add => _onGuruServiceReady += value; remove => _onGuruServiceReady -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onDebuggerDisplayed; public static event Action OnDisplayDebugger { add => _onDebuggerDisplayed += value; remove => _onDebuggerDisplayed -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onUserAuthResult; public static event Action OnUserAuthResult { add => _onUserAuthResult += value; remove => _onUserAuthResult -= value; } - + // TODO: 改为 Invoke 方法 internal static Action _onFirebaseAuthResult; public static event Action OnFirebaseAuthResult { @@ -248,14 +258,18 @@ namespace Guru remove => _onFirebaseAuthResult -= value; } - + // TODO: 改为 Inovk 方法 // DeepLink 回调 - internal static Action _onDeeplinkCallback; + private static Action _onDeeplinkCallback; public static event Action OnDeeplinkCallback { add => _onDeeplinkCallback += value; remove => _onDeeplinkCallback -= value; } + internal static void InvokeDeeplinkCallback(string deeplink) + { + _onDeeplinkCallback?.Invoke(deeplink); + } } diff --git a/Runtime/Code/SDK/GuruSDK.cs b/Runtime/Code/SDK/GuruSDK.cs index 518225d..6eb4345 100644 --- a/Runtime/Code/SDK/GuruSDK.cs +++ b/Runtime/Code/SDK/GuruSDK.cs @@ -87,7 +87,11 @@ namespace Guru _instance = go.AddComponent(); return _instance; } - + + // TODO : 下个版本需要将 整个 GuruSDK 做功能性的拆分 + // GuruSDk.Callbacks -> GuruSDkCallbacks 所有的内置回调改为成员变量, + // 去掉所有的内部类, 去掉所有的 Static + // Static 只用于常量 public static GuruSDKInitConfig BuildConfig( bool useCustomConsent = false, bool autoLoadAds = true, @@ -95,6 +99,7 @@ namespace Guru bool autoRecordFinishedLevels = true, bool debugMode = false, bool isBuyNoAds = false, + // TODO 直接在此处设置回调 bool useAdjustDeeplink = false, string bannerColor = "#00000000", Dictionary defaultRemoteData = null, @@ -186,9 +191,10 @@ namespace Guru FirebaseUtil.OnUserAuthResult += OnUserAuthResult; FirebaseUtil.OnFirebaseAuthResult += OnFirebaseAuthResult; + // TODO: 应该直接判断 Callback 是否存在 if (InitConfig.UseAdjustDeeplink) { - FirebaseUtil.OnAdjustDeeplinkCallback = OnDeeplinkCallback; // 挂载 Deeplink 的回调 + FirebaseUtil.OnAdjustDeeplinkCallback = OnDeeplinkCallback; // 挂载 Deeplink 的回调 } FirebaseUtil.InitFirebase(Analytics.OnFirebaseInitCompleted); // 确保所有的逻辑提前被调用到 @@ -783,7 +789,7 @@ namespace Guru /// private void OnDeeplinkCallback(string deeplink) { - Callbacks.SDK._onDeeplinkCallback?.Invoke(deeplink); // 尝试调用回调 + Callbacks.SDK.InvokeDeeplinkCallback(deeplink); // 尝试调用回调 }