152 lines
4.7 KiB
C#
152 lines
4.7 KiB
C#
using System;
|
||
using Guru;
|
||
using UnityEngine;
|
||
|
||
namespace GuruSDKService
|
||
{
|
||
public partial class GuruSDKService
|
||
{
|
||
private void AddCallbackListener()
|
||
{
|
||
GuruSDK.Callbacks.App.OnAppPaused += OnAppPaused;
|
||
GuruSDK.Callbacks.App.OnAppQuit += OnAppQuit;
|
||
|
||
GuruSDK.Callbacks.ConsentFlow.OnConsentResult += OnConsentResult;
|
||
GuruSDK.Callbacks.ConsentFlow.OnAttResult += OnAttResult;
|
||
|
||
GuruSDK.Callbacks.SDK.OnFirebaseReady += OnFirebaseReady;
|
||
GuruSDK.Callbacks.SDK.OnGuruServiceReady += OnGuruServiceReady;
|
||
GuruSDK.Callbacks.SDK.OnUserAuthResult += OnUserAuthResult;
|
||
GuruSDK.Callbacks.SDK.OnFirebaseAuthResult += OnFirebaseAuthResult;
|
||
|
||
GuruSDK.Callbacks.Ads.OnAdsInitComplete += OnAdsInitComplete;
|
||
GuruSDK.Callbacks.Ads.OnBannerADLoaded += OnBannerADLoaded;
|
||
GuruSDK.Callbacks.Ads.OnInterstitialADLoaded += OnInterstitialADLoaded;
|
||
GuruSDK.Callbacks.Ads.OnInterstitialADFailed += OnInterstitialADFailed;
|
||
GuruSDK.Callbacks.Ads.OnRewardedADLoaded += OnRewardedADLoaded;
|
||
GuruSDK.Callbacks.Ads.OnRewardADFailed += OnRewardADFailed;
|
||
|
||
GuruSDK.Callbacks.Remote.OnRemoteFetchComplete += OnRemoteFetchComplete;
|
||
}
|
||
|
||
#region App Callbacks
|
||
|
||
private void OnAppPaused(bool paused)
|
||
{
|
||
Log.I($"[GuruCallback][OnAppPaused] paused:{paused}");
|
||
_serviceImp?.OnAppPaused(paused);
|
||
}
|
||
|
||
private void OnAppQuit()
|
||
{
|
||
Log.I($"[GuruCallback][OnAppQuit]");
|
||
_serviceImp?.OnAppQuit();
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region SDK Callbacks
|
||
|
||
private Action _onFirebaseReady;
|
||
|
||
private void OnFirebaseReady(bool success)
|
||
{
|
||
Log.I($"[GuruCallback][OnFirebaseReady] success:{success}");
|
||
if (success) _onFirebaseReady?.Invoke();
|
||
_serviceImp?.OnFirebaseReady(success);
|
||
}
|
||
|
||
private void OnGuruServiceReady()
|
||
{
|
||
Log.I($"[GuruCallback][OnGuruServiceReady]");
|
||
_serviceImp?.OnGuruServiceReady();
|
||
}
|
||
|
||
private void OnUserAuthResult(bool success)
|
||
{
|
||
Log.I($"[GuruCallback][OnUserAuthResult] success:{success}");
|
||
_serviceImp?.OnUserAuthResult(success);
|
||
}
|
||
|
||
private void OnFirebaseAuthResult(bool success)
|
||
{
|
||
Log.I($"[GuruCallback][OnFirebaseAuthResult] success:{success}");
|
||
_serviceImp?.OnFirebaseAuthResult(success);
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region ConsentFlow Callbacks
|
||
|
||
private void OnAttResult(int authorizationTrackingStatus)
|
||
{
|
||
Log.I($"[GuruCallback][OnAttResult] authorizationTrackingStatus:{authorizationTrackingStatus}");
|
||
_serviceImp?.OnAttResult(authorizationTrackingStatus);
|
||
}
|
||
|
||
private void OnConsentResult(int statusCode)
|
||
{
|
||
Log.I($"[GuruCallback][OnConsentResult] statusCode:{statusCode}");
|
||
_serviceImp?.OnConsentResult(statusCode);
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region AD Callbacks
|
||
|
||
private void OnAdsInitComplete()
|
||
{
|
||
Log.I($"[GuruCallback][OnAdsInitComplete]");
|
||
_serviceImp?.OnAdsInitComplete();
|
||
}
|
||
|
||
public bool HasBannerADLoaded;
|
||
|
||
private void OnBannerADLoaded()
|
||
{
|
||
Log.I($"[GuruCallback][OnBannerADLoaded]");
|
||
GuruSDK.Callbacks.Ads.OnBannerADLoaded -= OnBannerADLoaded; //只监听第一次banner加载成功,处理banner显示逻辑
|
||
HasBannerADLoaded = true;
|
||
_serviceImp?.OnBannerADLoaded();
|
||
}
|
||
|
||
private void OnInterstitialADLoaded()
|
||
{
|
||
Log.I($"[GuruCallback][OnInterstitialADLoaded]");
|
||
_serviceImp?.OnInterstitialADLoaded();
|
||
}
|
||
|
||
private void OnInterstitialADFailed()
|
||
{
|
||
Log.I($"[GuruCallback][OnInterstitialADFailed]");
|
||
_serviceImp?.OnInterstitialADFailed();
|
||
}
|
||
|
||
private void OnRewardedADLoaded()
|
||
{
|
||
Log.I($"[GuruCallback][OnRewardedADLoaded]");
|
||
_serviceImp?.OnRewardedADLoaded();
|
||
}
|
||
|
||
private void OnRewardADFailed()
|
||
{
|
||
Log.I($"[GuruCallback][OnRewardADFailed]");
|
||
_serviceImp?.OnRewardADFailed();
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region Firebase Component Callbacks
|
||
|
||
public bool IsRemoteConfigFetchSuccess = false;
|
||
|
||
private void OnRemoteFetchComplete(bool success)
|
||
{
|
||
Log.I($"[GuruCallback][OnRemoteFetchComplete] success:{success}");
|
||
IsRemoteConfigFetchSuccess = success;
|
||
_serviceImp?.OnRemoteFetchComplete(success);
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
} |