GuruSDKService/Runtime/GuruSDKService.Callbacks.cs

152 lines
4.7 KiB
C#
Raw Normal View History

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
}
}