update: deeplink 接口代码 Review
--story=1021116 --user=yufei.hu 【中台】【SDK】新增 Adjust Deeplink 接口 https://www.tapd.cn/33527076/s/1160715dev
							parent
							
								
									ecf615598c
								
							
						
					
					
						commit
						4da06c8f96
					
				|  | @ -6,7 +6,7 @@ namespace Guru | |||
|      | ||||
|     public partial class GuruSDK | ||||
|     { | ||||
| 
 | ||||
|          | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// 回调参数类 | ||||
|  | @ -18,13 +18,14 @@ namespace Guru | |||
|             /// </summary> | ||||
|             public static class App | ||||
|             { | ||||
|                 // TODO: 改为 Invoke 方法 | ||||
|                 internal static Action<bool> _onAppPaused; | ||||
|                 public static event Action<bool> 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<int> _onConsentResult; | ||||
| 
 | ||||
|                 /// <summary> | ||||
|  | @ -57,6 +59,7 @@ namespace Guru | |||
|                     add => _onAttResult += value; | ||||
|                     remove => _onAttResult -= value; | ||||
|                 } | ||||
|                 // TODO: 改为 Invoke 方法 | ||||
|                 internal static Action<int> _onAttResult; | ||||
| 
 | ||||
|             } | ||||
|  | @ -66,6 +69,7 @@ namespace Guru | |||
|             /// </summary> | ||||
|             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<string> _onBannerADStartLoad; | ||||
|                 public static event Action<string> 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<string> _onInterstitialADStartLoad; | ||||
|                 public static event Action<string> 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<string> _onRewardedADStartLoad; | ||||
|                 public static event Action<string> 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 | |||
|             /// </summary> | ||||
|             public static class Remote | ||||
|             { | ||||
|                 // TODO: 改为 Invoke 方法 | ||||
|                 internal static Action<bool> _onRemoteFetchComplete; | ||||
|                 public static event Action<bool> OnRemoteFetchComplete | ||||
|                 { | ||||
|  | @ -165,41 +173,42 @@ namespace Guru | |||
|             /// </summary> | ||||
|             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<bool> _onIAPInitComplete; | ||||
|                 public static event Action<bool> OnIAPInitComplete | ||||
|                 { | ||||
|                     add => _onIAPInitComplete += value; | ||||
|                     remove => _onIAPInitComplete -= value; | ||||
|                 } | ||||
|                  | ||||
|                 // TODO: 改为 Invoke 方法 | ||||
|                 internal static Action<string> _onPurchaseStart; | ||||
|                 public static event Action<string> OnPurchaseStart | ||||
|                 { | ||||
|                     add => _onPurchaseStart += value; | ||||
|                     remove => _onPurchaseStart -= value; | ||||
|                 } | ||||
|                  | ||||
|                 // TODO: 改为 Invoke 方法 | ||||
|                 internal static Action<string, bool> _onPurchaseEnd; | ||||
|                 public static event Action<string, bool> OnPurchaseEnd | ||||
|                 { | ||||
|                     add => _onPurchaseEnd += value; | ||||
|                     remove => _onPurchaseEnd -= value; | ||||
|                 } | ||||
|                  | ||||
|                 // TODO: 改为 Invoke 方法 | ||||
|                 internal static Action<string, string> _onPurchaseFailed; | ||||
|                 public static event Action<string, string> OnPurchaseFailed | ||||
|                 { | ||||
|                     add => _onPurchaseFailed += value; | ||||
|                     remove => _onPurchaseFailed -= value; | ||||
|                 } | ||||
|                  | ||||
|                 // TODO: 改为 Invoke 方法 | ||||
|                 internal static Action<bool, string> _onIAPRestored; | ||||
|                 public static event Action<bool, string> OnIAPRestored | ||||
|                 { | ||||
|  | @ -213,34 +222,35 @@ namespace Guru | |||
| 
 | ||||
|             public static class SDK | ||||
|             { | ||||
|                 // TODO: 改为 Invoke 方法 | ||||
|                 internal static Action<bool> _onFirebaseReady; | ||||
|                 public static event Action<bool> 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<bool> _onDebuggerDisplayed; | ||||
|                 public static event Action<bool> OnDisplayDebugger | ||||
|                 { | ||||
|                     add => _onDebuggerDisplayed += value; | ||||
|                     remove => _onDebuggerDisplayed -= value; | ||||
|                 } | ||||
| 
 | ||||
|                 // TODO: 改为 Invoke 方法 | ||||
|                 internal static Action<bool> _onUserAuthResult; | ||||
|                 public static event Action<bool> OnUserAuthResult | ||||
|                 { | ||||
|                     add => _onUserAuthResult += value; | ||||
|                     remove => _onUserAuthResult -= value; | ||||
|                 } | ||||
|                  | ||||
|                 // TODO: 改为 Invoke 方法 | ||||
|                 internal static Action<bool> _onFirebaseAuthResult; | ||||
|                 public static event Action<bool> OnFirebaseAuthResult | ||||
|                 { | ||||
|  | @ -248,14 +258,18 @@ namespace Guru | |||
|                     remove => _onFirebaseAuthResult -= value; | ||||
|                 } | ||||
|                  | ||||
|                  | ||||
|                 // TODO: 改为 Inovk 方法 | ||||
|                 // DeepLink 回调  | ||||
|                 internal static Action<string> _onDeeplinkCallback; | ||||
|                 private static Action<string> _onDeeplinkCallback; | ||||
|                 public static event Action<string> OnDeeplinkCallback | ||||
|                 { | ||||
|                     add => _onDeeplinkCallback += value; | ||||
|                     remove => _onDeeplinkCallback -= value; | ||||
|                 } | ||||
|                 internal static void InvokeDeeplinkCallback(string deeplink) | ||||
|                 { | ||||
|                     _onDeeplinkCallback?.Invoke(deeplink); | ||||
|                 } | ||||
|                  | ||||
|             } | ||||
| 
 | ||||
|  |  | |||
|  | @ -87,7 +87,11 @@ namespace Guru | |||
|             _instance = go.AddComponent<GuruSDK>(); | ||||
|             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<string, object> 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 | |||
|         /// <param name="deeplink"></param> | ||||
|         private void OnDeeplinkCallback(string deeplink) | ||||
|         { | ||||
|            Callbacks.SDK._onDeeplinkCallback?.Invoke(deeplink); // 尝试调用回调 | ||||
|            Callbacks.SDK.InvokeDeeplinkCallback(deeplink); // 尝试调用回调 | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue