Merge branch 'deeplink' into dev

--story=1021116 --user=yufei.hu 【中台】【SDK】新增 Adjust Deeplink 接口 https://www.tapd.cn/33527076/s/1159389
# Conflicts:
#	Runtime/Code/SDK/GuruSDK.cs
dev
胡宇飞 2024-07-25 11:27:53 +08:00
commit 3050b67a31
3 changed files with 47 additions and 6 deletions

View File

@ -48,6 +48,10 @@ namespace Guru
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public Dictionary<string, object> DefaultRemoteData = new Dictionary<string, object>(); public Dictionary<string, object> DefaultRemoteData = new Dictionary<string, object>();
/// <summary>
/// 启用 AdjustDeeplink
/// </summary>
public bool UseAdjustDeeplink = false;
/// <summary> /// <summary>
/// 支付初始化Keys /// 支付初始化Keys
@ -69,6 +73,7 @@ namespace Guru
bool isBuyNoAds = false, bool isBuyNoAds = false,
string bannerBackgroundColor = "#00000000", string bannerBackgroundColor = "#00000000",
bool debugMode = false, bool debugMode = false,
bool useAdjustDeeplink = false,
Dictionary<string, object> defaultRemoteData = null, Dictionary<string, object> defaultRemoteData = null,
byte[] googleKeys = null, byte[] googleKeys = null,
byte[] appleRootCerts = null) byte[] appleRootCerts = null)
@ -83,6 +88,7 @@ namespace Guru
IsBuyNoAds = isBuyNoAds, IsBuyNoAds = isBuyNoAds,
BannerBackgroundColor = bannerBackgroundColor, BannerBackgroundColor = bannerBackgroundColor,
DebugMode = debugMode, DebugMode = debugMode,
UseAdjustDeeplink = useAdjustDeeplink,
GoogleKeys = googleKeys, GoogleKeys = googleKeys,
AppleRootCerts = appleRootCerts, AppleRootCerts = appleRootCerts,
DefaultRemoteData = defaultRemoteData ?? new Dictionary<string, object>(), DefaultRemoteData = defaultRemoteData ?? new Dictionary<string, object>(),

View File

@ -249,6 +249,14 @@ namespace Guru
} }
// DeepLink 回调
internal static Action<string> _onDeeplinkCallback;
public static event Action<string> OnDeeplinkCallback
{
add => _onDeeplinkCallback += value;
remove => _onDeeplinkCallback -= value;
}
} }
} }

View File

@ -95,6 +95,7 @@ namespace Guru
bool autoRecordFinishedLevels = true, bool autoRecordFinishedLevels = true,
bool debugMode = false, bool debugMode = false,
bool isBuyNoAds = false, bool isBuyNoAds = false,
bool useAdjustDeeplink = false,
string bannerColor = "#00000000", string bannerColor = "#00000000",
Dictionary<string, object> defaultRemoteData = null, Dictionary<string, object> defaultRemoteData = null,
byte[] googleKeys = null, byte[] googleKeys = null,
@ -102,7 +103,7 @@ namespace Guru
{ {
var config = GuruSDKInitConfig.Build(useCustomConsent, autoLoadAds, iapEnabled, var config = GuruSDKInitConfig.Build(useCustomConsent, autoLoadAds, iapEnabled,
autoRecordFinishedLevels, isBuyNoAds, bannerColor, autoRecordFinishedLevels, isBuyNoAds, bannerColor,
debugMode, defaultRemoteData, googleKeys, appleRootCerts); debugMode, useAdjustDeeplink, defaultRemoteData, googleKeys, appleRootCerts);
return config; return config;
} }
@ -162,10 +163,7 @@ namespace Guru
//---- Start All tools ---- //---- Start All tools ----
LogI($"#2 --- InitFirebase ---"); LogI($"#2 --- InitFirebase ---");
//---------- Start Firebase ------------ //---------- Start Firebase ------------
FirebaseUtil.onInitComplete += OnFirebaseReady; StartFirebaseService();
FirebaseUtil.OnUserAuthResult += OnUserAuthResult;
FirebaseUtil.OnFirebaseAuthResult += OnFirebaseAuthResult;
FirebaseUtil.InitFirebase(null); // 确保所有的逻辑提前被调用到 + Analytics.Init TODO之后需要改为事件驱动
LogI($"#2.1 --- InitFacebook ---"); LogI($"#2.1 --- InitFacebook ---");
//---------- Start Facebook ------------ //---------- Start Facebook ------------
@ -175,8 +173,23 @@ namespace Guru
IsInitialSuccess = true; IsInitialSuccess = true;
_onCompleteCallback?.Invoke(true); _onCompleteCallback?.Invoke(true);
} }
/// <summary>
/// 启动 Firebase 服务
/// </summary>
private void StartFirebaseService()
{
FirebaseUtil.onInitComplete += OnFirebaseReady;
FirebaseUtil.OnUserAuthResult += OnUserAuthResult;
FirebaseUtil.OnFirebaseAuthResult += OnFirebaseAuthResult;
if (InitConfig.UseAdjustDeeplink)
{
FirebaseUtil.OnAdjustDeeplinkCallback = OnDeeplinkCallback; // 挂载 Deeplink 的回调
}
FirebaseUtil.InitFirebase(null); // 确保所有的逻辑提前被调用到
}
private void OnUserAuthResult(bool success) private void OnUserAuthResult(bool success)
{ {
@ -757,6 +770,20 @@ namespace Guru
request.Send(); request.Send();
} }
} }
#endregion
#region Deeplink
/// <summary>
/// 添加回调链接
/// </summary>
/// <param name="deeplink"></param>
private void OnDeeplinkCallback(string deeplink)
{
Callbacks.SDK._onDeeplinkCallback?.Invoke(deeplink); // 尝试调用回调
}
#endregion #endregion
} }