update: 添加 Deeplink 接口和对应的功能
--story=1021486 --user=yufei.hu 【中台】【Deeplink】兼容 1.0.11.1 实现的 Deeplink Callback 的功能, 应用在当前的版本上(QA 无需测试) https://www.tapd.cn/33527076/s/1164091 Signed-off-by: huyufei <yufei.hu@castbox.fm> # Conflicts: # Runtime/GuruCore/Runtime/Firebase/FirebaseUtil.cs
							parent
							
								
									5c4abeb678
								
							
						
					
					
						commit
						33c21947ca
					
				|  | @ -3,7 +3,7 @@ namespace Guru | |||
| { | ||||
| 	using UnityEngine; | ||||
| 	using com.adjust.sdk; | ||||
| 	using System.Collections; | ||||
| 	using System; | ||||
| 	 | ||||
| 	public static class AdjustService | ||||
| 	{ | ||||
|  | @ -45,7 +45,8 @@ namespace Guru | |||
| 		/// </summary> | ||||
| 		/// <param name="appToken"></param> | ||||
| 		/// <param name="fbAppId">MIR 追踪 AppID</param> | ||||
| 		public static void StartService(string appToken, string fbAppId = "") | ||||
| 		/// <param name="onDeeplinkCallback"></param> | ||||
| 		public static void StartService(string appToken, string fbAppId = "", Action<string> onDeeplinkCallback = null) | ||||
| 		{ | ||||
| 			if (string.IsNullOrEmpty(appToken)) | ||||
| 			{ | ||||
|  | @ -65,7 +66,11 @@ namespace Guru | |||
| #if UNITY_ANDROID | ||||
| 			if (!string.IsNullOrEmpty(fbAppId)) config.setFbAppId(fbAppId); // 注入 MIR ID | ||||
| #endif | ||||
| 			 | ||||
| 
 | ||||
| 			if (onDeeplinkCallback != null) | ||||
| 			{ | ||||
| 				config.setDeferredDeeplinkDelegate(onDeeplinkCallback); // 注入 Deeplink 回调 | ||||
| 			} | ||||
| 
 | ||||
| #if UNITY_EDITOR || DEBUG | ||||
| 			config.setLogDelegate(log => LogI(LOG_TAG, log)); | ||||
|  |  | |||
|  | @ -9,7 +9,6 @@ namespace Guru | |||
| 	public static partial class FirebaseUtil | ||||
| 	{ | ||||
| 		private static readonly string LOG_TAG = "Firebase"; | ||||
| 		private static bool _isDebug = false; | ||||
| 		private static bool _isReady = false; | ||||
| 		public static bool IsReady => _isReady; | ||||
| 		 | ||||
|  | @ -19,16 +18,17 @@ namespace Guru | |||
| 
 | ||||
| 		public static Action<bool> OnFirebaseAuthResult; | ||||
| 		public static Action<bool> OnUserAuthResult; | ||||
| 		private static Action<string> _onDeeplinkCallback; | ||||
| 		 | ||||
| 		 | ||||
| 		 | ||||
| 		public static void InitFirebase(Action callback, bool isDebug = false) | ||||
| 		/// <summary> | ||||
| 		/// 初始化 Firebase 组件 | ||||
| 		/// </summary> | ||||
| 		/// <param name="callback"></param> | ||||
| 		/// <param name="isDebug"></param> | ||||
| 		public static void InitFirebase(Action callback, Action<string> onDeeplinkCallback = null) | ||||
| 		{ | ||||
| 			_isReady = false; | ||||
| 			_isDebug = isDebug; | ||||
| 			Analytics.InitAnalytics(); // 打点提前初始化 | ||||
| 			 | ||||
| 			// Loom.StartUp(); // 确保主线程开启 | ||||
| 			_onDeeplinkCallback = onDeeplinkCallback; | ||||
| 			 | ||||
| 			// 初始化 Fireabse 依赖 | ||||
| 			FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task => { | ||||
|  | @ -93,34 +93,45 @@ namespace Guru | |||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 
 | ||||
| 		private static void InitAssetByFirebaseIdAsync() | ||||
| 		{ | ||||
| 			Debug.Log($"[SDK] --- InitAssetByFirebaseIdAsync"); | ||||
| 			// 异步获取 FirebaseID | ||||
| 			FirebaseAnalytics.GetAnalyticsInstanceIdAsync() | ||||
| 				.ContinueWithOnMainThread(task => | ||||
| 				{ | ||||
| 					string fid = task.Result; | ||||
| 					if (task.IsCompleted && !string.IsNullOrEmpty(fid)) | ||||
| 					{ | ||||
| 						// 保存本地ID备份 | ||||
| 						IPMConfig.FIREBASE_ID = fid; // 保存FirebaseID | ||||
| 						Debug.Log($"[SDK] --- Get FirebaseID: {fid}"); | ||||
| 						GuruAnalytics.SetFirebaseId(fid); | ||||
| 					} | ||||
| 					else | ||||
| 					{ | ||||
| 						Debug.LogError($"[SDK] --- Fetch FirebaseID failed on start!"); | ||||
| 					} | ||||
| 
 | ||||
| 					//--- 结束后启动相关的服务 --- | ||||
| 					InitAdjustService(_onDeeplinkCallback); // 启动 AdjustService | ||||
| 					InitAnalytics(); // 初始化打点逻辑和实现 | ||||
| 				}); | ||||
| 		} | ||||
| 		 | ||||
| 
 | ||||
| 		#region 启动 Adjust 服务 | ||||
| 		 | ||||
| 		/// <summary> | ||||
| 		/// 启动 Adjust 服务 | ||||
| 		/// </summary> | ||||
| 		private static void InitAdjustService() | ||||
| 		private static void InitAdjustService(Action<string> onDeeplinkCallback) | ||||
| 		{ | ||||
| 			FirebaseAnalytics.GetAnalyticsInstanceIdAsync() | ||||
| 				.ContinueWithOnMainThread(task => | ||||
| 				{ | ||||
| 					if (task.IsCompleted && !string.IsNullOrEmpty(task.Result))  | ||||
| 					{ | ||||
| 						// 保存本地ID备份 | ||||
| 						string fid = task.Result; | ||||
| 						IPMConfig.FIREBASE_ID = fid; // 保存FirebaseID | ||||
| 					} | ||||
| 					else | ||||
| 					{ | ||||
| 						UnityEngine.Debug.LogError($"Fetch FirebaseID failed on start!"); | ||||
| 					} | ||||
| 					 | ||||
| 					// 启动 AdjustService | ||||
| 					string appToken = GuruSettings.Instance.AdjustSetting?.GetAppToken() ?? ""; | ||||
| 					string fbAppId = GuruSettings.Instance.IPMSetting.FacebookAppId; | ||||
| 					AdjustService.StartService(appToken, fbAppId);   | ||||
| 				}); | ||||
| 			 | ||||
| 			 | ||||
| 			// 启动 AdjustService | ||||
| 			string appToken = GuruSettings.Instance.AdjustSetting?.GetAppToken() ?? ""; | ||||
| 			string fbAppId = GuruSettings.Instance.IPMSetting.FacebookAppId; | ||||
| 			AdjustService.StartService(appToken, fbAppId, onDeeplinkCallback); | ||||
| 		} | ||||
| 		 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue