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>
/// <returns></returns>
public Dictionary<string, object> DefaultRemoteData = new Dictionary<string, object>();
/// <summary>
/// 启用 AdjustDeeplink
/// </summary>
public bool UseAdjustDeeplink = false;
/// <summary>
/// 支付初始化Keys
@ -69,6 +73,7 @@ namespace Guru
bool isBuyNoAds = false,
string bannerBackgroundColor = "#00000000",
bool debugMode = false,
bool useAdjustDeeplink = false,
Dictionary<string, object> defaultRemoteData = null,
byte[] googleKeys = null,
byte[] appleRootCerts = null)
@ -83,6 +88,7 @@ namespace Guru
IsBuyNoAds = isBuyNoAds,
BannerBackgroundColor = bannerBackgroundColor,
DebugMode = debugMode,
UseAdjustDeeplink = useAdjustDeeplink,
GoogleKeys = googleKeys,
AppleRootCerts = appleRootCerts,
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 debugMode = false,
bool isBuyNoAds = false,
bool useAdjustDeeplink = false,
string bannerColor = "#00000000",
Dictionary<string, object> defaultRemoteData = null,
byte[] googleKeys = null,
@ -102,7 +103,7 @@ namespace Guru
{
var config = GuruSDKInitConfig.Build(useCustomConsent, autoLoadAds, iapEnabled,
autoRecordFinishedLevels, isBuyNoAds, bannerColor,
debugMode, defaultRemoteData, googleKeys, appleRootCerts);
debugMode, useAdjustDeeplink, defaultRemoteData, googleKeys, appleRootCerts);
return config;
}
@ -162,10 +163,7 @@ namespace Guru
//---- Start All tools ----
LogI($"#2 --- InitFirebase ---");
//---------- Start Firebase ------------
FirebaseUtil.onInitComplete += OnFirebaseReady;
FirebaseUtil.OnUserAuthResult += OnUserAuthResult;
FirebaseUtil.OnFirebaseAuthResult += OnFirebaseAuthResult;
FirebaseUtil.InitFirebase(null); // 确保所有的逻辑提前被调用到 + Analytics.Init TODO之后需要改为事件驱动
StartFirebaseService();
LogI($"#2.1 --- InitFacebook ---");
//---------- Start Facebook ------------
@ -175,8 +173,23 @@ namespace Guru
IsInitialSuccess = 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)
{
@ -757,6 +770,20 @@ namespace Guru
request.Send();
}
}
#endregion
#region Deeplink
/// <summary>
/// 添加回调链接
/// </summary>
/// <param name="deeplink"></param>
private void OnDeeplinkCallback(string deeplink)
{
Callbacks.SDK._onDeeplinkCallback?.Invoke(deeplink); // 尝试调用回调
}
#endregion
}