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 UnityEngine;
|
||||||
using com.adjust.sdk;
|
using com.adjust.sdk;
|
||||||
using System.Collections;
|
using System;
|
||||||
|
|
||||||
public static class AdjustService
|
public static class AdjustService
|
||||||
{
|
{
|
||||||
|
|
@ -45,7 +45,8 @@ namespace Guru
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="appToken"></param>
|
/// <param name="appToken"></param>
|
||||||
/// <param name="fbAppId">MIR 追踪 AppID</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))
|
if (string.IsNullOrEmpty(appToken))
|
||||||
{
|
{
|
||||||
|
|
@ -66,6 +67,10 @@ namespace Guru
|
||||||
if (!string.IsNullOrEmpty(fbAppId)) config.setFbAppId(fbAppId); // 注入 MIR ID
|
if (!string.IsNullOrEmpty(fbAppId)) config.setFbAppId(fbAppId); // 注入 MIR ID
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (onDeeplinkCallback != null)
|
||||||
|
{
|
||||||
|
config.setDeferredDeeplinkDelegate(onDeeplinkCallback); // 注入 Deeplink 回调
|
||||||
|
}
|
||||||
|
|
||||||
#if UNITY_EDITOR || DEBUG
|
#if UNITY_EDITOR || DEBUG
|
||||||
config.setLogDelegate(log => LogI(LOG_TAG, log));
|
config.setLogDelegate(log => LogI(LOG_TAG, log));
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ namespace Guru
|
||||||
public static partial class FirebaseUtil
|
public static partial class FirebaseUtil
|
||||||
{
|
{
|
||||||
private static readonly string LOG_TAG = "Firebase";
|
private static readonly string LOG_TAG = "Firebase";
|
||||||
private static bool _isDebug = false;
|
|
||||||
private static bool _isReady = false;
|
private static bool _isReady = false;
|
||||||
public static bool IsReady => _isReady;
|
public static bool IsReady => _isReady;
|
||||||
|
|
||||||
|
|
@ -19,16 +18,17 @@ namespace Guru
|
||||||
|
|
||||||
public static Action<bool> OnFirebaseAuthResult;
|
public static Action<bool> OnFirebaseAuthResult;
|
||||||
public static Action<bool> OnUserAuthResult;
|
public static Action<bool> OnUserAuthResult;
|
||||||
|
private static Action<string> _onDeeplinkCallback;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化 Firebase 组件
|
||||||
public static void InitFirebase(Action callback, bool isDebug = false)
|
/// </summary>
|
||||||
|
/// <param name="callback"></param>
|
||||||
|
/// <param name="isDebug"></param>
|
||||||
|
public static void InitFirebase(Action callback, Action<string> onDeeplinkCallback = null)
|
||||||
{
|
{
|
||||||
_isReady = false;
|
_isReady = false;
|
||||||
_isDebug = isDebug;
|
_onDeeplinkCallback = onDeeplinkCallback;
|
||||||
Analytics.InitAnalytics(); // 打点提前初始化
|
|
||||||
|
|
||||||
// Loom.StartUp(); // 确保主线程开启
|
|
||||||
|
|
||||||
// 初始化 Fireabse 依赖
|
// 初始化 Fireabse 依赖
|
||||||
FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task => {
|
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 服务
|
#region 启动 Adjust 服务
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 启动 Adjust 服务
|
/// 启动 Adjust 服务
|
||||||
/// </summary>
|
/// </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
|
// 启动 AdjustService
|
||||||
string appToken = GuruSettings.Instance.AdjustSetting?.GetAppToken() ?? "";
|
string appToken = GuruSettings.Instance.AdjustSetting?.GetAppToken() ?? "";
|
||||||
string fbAppId = GuruSettings.Instance.IPMSetting.FacebookAppId;
|
string fbAppId = GuruSettings.Instance.IPMSetting.FacebookAppId;
|
||||||
AdjustService.StartService(appToken, fbAppId);
|
AdjustService.StartService(appToken, fbAppId, onDeeplinkCallback);
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue