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